Självstudie: Utforma en Azure Database for PostgreSQL – enskild server med Azure CLI
GÄLLER FÖR: Azure Database for PostgreSQL – enskild server
Viktigt!
Azure Database for PostgreSQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till Azure Database for PostgreSQL – flexibel server. Mer information om hur du migrerar till Azure Database for PostgreSQL – flexibel server finns i Vad händer med Azure Database for PostgreSQL – enskild server?.
I den här självstudien kommer du att använda Azure CLI (kommandoradsgränssnittet) och andra verktyg till följande:
- Skapa en Azure Database for PostgreSQL-server
- Konfigurera serverbrandväggen
- Använd psql-verktyget för att skapa en databas
- Läsa in exempeldata
- Fråga efter data
- Uppdatera data
- Återställa data
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Starta Azure Cloud Shell
Azure Cloud Shell är ett interaktivt gränssnitt som du kan använda för att utföra stegen i den här artikeln. Den har vanliga Azure-verktyg förinstallerat och har konfigurerats för användning med ditt konto.
Om du vill öppna Cloud Shell väljer du bara Prova från det övre högra hörnet i ett kodblock. Du kan också starta Cloud Shell i en separat webbläsarflik genom att gå till https://shell.azure.com.
När Cloud Shell öppnas kontrollerar du att Bash har valts för din miljö. Efterföljande sessioner använder Azure CLI i en Bash-miljö, Välj Kopiera för att kopiera kodblocken, klistra in dem i Cloud Shell och tryck på Retur för att köra det.
Logga in på Azure
Cloud Shell autentiseras automatiskt under det första kontot som loggas in med. Använd följande skript för att logga in med en annan prenumeration och ersätt <Subscription ID>
med ditt Azure-prenumerations-ID. Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Mer information finns i ange en aktiv prenumeration eller logga in interaktivt
Ange parametervärden
Följande värden används i efterföljande kommandon för att skapa databasen och nödvändiga resurser. Servernamn måste vara globalt unika i hela Azure, så funktionen $RANDOM används för att skapa servernamnet.
Ändra platsen efter behov för din miljö. Ersätt 0.0.0.0
med IP-adressintervallet för att matcha din specifika miljö. Använd den offentliga IP-adressen för den dator som du använder för att begränsa åtkomsten till servern till endast din IP-adress.
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="create-postgresql-server-and-firewall-rule"
server="msdocs-postgresql-server-$randomIdentifier"
sku="GP_Gen5_2"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
# Specify appropriate IP address values for your environment
# to limit / allow access to the PostgreSQL server
startIp=0.0.0.0
endIp=0.0.0.0
echo "Using resource group $resourceGroup with login: $login, password: $password..."
Skapa en resursgrupp
Skapa en resursgrupp med kommandot az group create. En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen eastus:
# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag
Skapa en server
Skapa en server med kommandot az postgres server create .
# Create a PostgreSQL server in the resource group
# Name of a server maps to DNS name and is thus required to be globally unique in Azure.
echo "Creating $server in $location..."
az postgres server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --sku-name $sku
Kommentar
- Ditt servernamn får bara innehålla gemener, siffror och bindestreck. Den måste innehålla 3 till 63 tecken. Mer information finns i Namngivningsregler för Azure Database for PostgreSQL.
- Användarnamnet för administratörsanvändaren kan inte vara azure_superuser, administratör, administratör, rot, gäst eller offentlig.
- Lösenordet måste innehålla mellan 8 och 128 tecken från tre av följande kategorier: engelska versaler, engelska gemener, siffror och icke-alfanumeriska tecken.
- Information om SKU:er finns i Prissättning för Azure Database for PostgreSQL.
Viktigt!
- Standardversionen av PostgreSQL på servern är 9.6. Information om alla versioner som stöds finns i PostgreSQL-huvudversioner som stöds.
- SSL är aktiverat som standard på servern. Mer information om SSL finns i Konfigurera SSL-anslutning.
Konfigurera en serverbaserad brandväggsregel
Skapa en brandväggsregel med kommandot az postgres server firewall-rule create för att ge din lokala miljö åtkomst att ansluta till servern.
# Configure a firewall rule for the server
echo "Configuring a firewall rule for $server for the IP address range of $startIp to $endIp"
az postgres server firewall-rule create --resource-group $resourceGroup --server $server --name AllowIps --start-ip-address $startIp --end-ip-address $endIp
Dricks
Om du inte känner till din IP-adress går du till WhatIsMyIPAddress.com för att hämta den.
Kommentar
För att undvika anslutningsproblem kontrollerar du att nätverkets brandvägg tillåter port 5432. Azure Database for PostgreSQL-servrar använder den porten.
Lista serverbaserade brandväggsregler
Om du vill visa en lista över befintliga brandväggsregler för servern kör du kommandot az postgres server firewall-rule list .
# List firewall rules for the server
echo "List of server-based firewall rules for $server"
az postgres server firewall-rule list --resource-group $resourceGroup --server-name $server
# You may use the switch `--output table` for a more readable table format as the output.
Utdata visar brandväggsreglerna, om några, som standard i JSON-format. Du kan använda växeln --output table
för ett mer läsbart tabellformat som utdata.
Hämta anslutningsinformationen
Om du vill ansluta till servern anger du värdinformation och autentiseringsuppgifter för åtkomst.
az postgres server show --resource-group $resourceGroup --name $server
Anteckna värdena administratorLogin och fullyQualifiedDomainName .
Anslut till Azure Database for PostgreSQL-servern med hjälp av psql
Psql-klienten är ett populärt val för att ansluta till PostgreSQL-servrar. Du kan ansluta till servern med hjälp psql
av Azure Cloud Shell. Du kan också använda psql
i din lokala miljö om du har den tillgänglig. En tom databas, postgres, skapas automatiskt med en ny PostgreSQL-server. Du kan använda databasen för att ansluta psql
till , som du ser i följande kod.
psql --host=<server_name>.postgres.database.azure.com --port=5432 --username=<admin_user>@<server_name> --dbname=postgres
Dricks
Om du föredrar att använda en URL-sökväg för att ansluta till Postgres kodar URL:en @-inloggningen användarnamnet med %40
. Till exempel skulle anslutningssträng för psql vara:
psql postgresql://<admin_user>%40<server_name>@<server_name>.postgres.database.azure.com:5432/postgres
Skapa en tom databas
När du är ansluten till servern skapar du en tom databas:
CREATE DATABASE mypgsqldb;
I prompten, kör du följande kommando för att växla anslutning till den nyligen skapade databasen mypgsqldb:
\c mypgsqldb
Skapa tabeller i databasen
Nu när du vet hur du ansluter till Azure Database for PostgreSQL-databasen, kan du utföra några grundläggande uppgifter:
Skapa först en tabell och läs in lite data till den. Skapa till exempel en tabell som spårar lagerinformation:
CREATE TABLE inventory (
id serial PRIMARY KEY,
name VARCHAR(50),
quantity INTEGER
);
Du kan se den nyligen skapade tabellen i listan med tabeller genom att skriva:
\dt
Läsa in data i tabellen
Nu när du har skapat en tabell infogar du lite data i den. Kör följande fråga i den öppna kommandotolken för att infoga några datarader:
INSERT INTO inventory (id, name, quantity) VALUES (1, 'banana', 150);
INSERT INTO inventory (id, name, quantity) VALUES (2, 'orange', 154);
Nu har du lagt till två rader exempeldata i tabellen som du skapade tidigare.
Ställ frågor mot och uppdatera data i tabellerna
Kör följande fråga för att hämta information från inventeringstabellen:
SELECT * FROM inventory;
Du kan även uppdatera data i inventeringstabellen:
UPDATE inventory SET quantity = 200 WHERE name = 'banana';
Du ser de uppdaterade värdena när du hämtar data:
SELECT * FROM inventory;
Återställa en databas till en tidigare tidpunkt
Anta att du av misstag har tagit bort en tabell. Det kan du lätt åtgärda genom återställning. Med Azure Database for PostgreSQL kan du gå tillbaka till valfri tidpunkt från vilken du har serversäkerhetskopior (bestäms utifrån kvarhållningsperioden för säkerhetskopior som du konfigurerar) och återställa tidpunkten på en ny server. Du kan använda den nya servern till att återställa dina data.
Följande kommandon återställer exempelservern till en tidpunkt innan tabellen lades till:
az postgres server restore --resource-group myresourcegroup --name mydemoserver-restored --restore-point-in-time 2017-04-13T13:59:00Z --source-server mydemoserver
Följande parametrar behövs för kommandot az postgres server restore
:
Inställning | Föreslaget värde | Beskrivning |
---|---|---|
resource-group | myresourcegroup | Resursgruppen där källservern finns. |
name | mydemoserver-restored | Namnet på den nya server som skapas med kommandot restore. |
restore-point-in-time | 2017-04-13T13:59:00Z | Välj en tidpunkt att återställa till. Datumet och tiden måste finnas inom källserverns kvarhållningsperiod för säkerhetskopiering. Använd datum- och tidsformatet ISO8601. Du kan använda din egen lokala tidszon som t.ex. 2017-04-13T05:59:00-08:00 , eller använda UTC Zulu-formatet 2017-04-13T13:59:00Z . |
source-server | mydemoserver | Namn eller ID på källservern som återställningen görs från. |
När du återställer en server till en tidpunkt så skapas en ny server. Den kopieras som den ursprungliga servern vid den tidpunkt du anger. Plats- och prisnivåvärden för den återställda servern är samma som för källservern.
Kommandot är synkront och återgår när servern har återställts. När återställningen är klar letar du upp den nya server som skapades. Kontrollera att dina data har återställts som förväntat.
Rensa resurser
Använd följande kommando för att ta bort resursgruppen och alla resurser som är associerade med den med kommandot az group delete – såvida du inte har ett pågående behov av dessa resurser. Vissa av dessa resurser kan ta ett tag att skapa och ta bort.
az group delete --name $resourceGroup
Nästa steg
I den här självstudien lärde du dig att använda Azure CLI (kommandoradsgränssnittet) och andra verktyg för att:
- Skapa en Azure Database for PostgreSQL-server
- Konfigurera serverbrandväggen
- Använda psql-verktyget för att skapa en databas
- Läsa in exempeldata
- Fråga efter data
- Uppdatera data
- Återställa data