Oktatóanyag: Azure Database for PostgreSQL tervezése – Önálló kiszolgáló az Azure CLI használatával

A KÖVETKEZŐKRE VONATKOZIK: Azure Database for PostgreSQL – Önálló kiszolgáló

Fontos

Azure Database for PostgreSQL – Az önálló kiszolgáló a kivezetési útvonalon van. Határozottan javasoljuk, hogy frissítsen az Azure Database for PostgreSQL rugalmas kiszolgálóra. A rugalmas Azure Database for PostgreSQL-kiszolgálóra való migrálással kapcsolatos további információkért lásd: Mi történik az önálló Azure Database for PostgreSQL-kiszolgálóval?

Ebben az oktatóanyagban az Azure CLI (parancssori felület) és egyéb segédprogramok segítségével a következőket sajátíthatja el:

  • Azure-adatbázis létrehozása PostgreSQL-kiszolgálóhoz
  • A kiszolgáló tűzfalának konfigurálása
  • Adatbázis létrehozása a psql segédprogrammal
  • Mintaadatok betöltése
  • Adatok lekérdezése
  • Adatok frissítése
  • Adatok visszaállítása

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

Előfeltételek

Az Azure Cloud Shell elindítása

Az Azure Cloud Shell egy olyan ingyenes interaktív kezelőfelület, amelyet a jelen cikkben található lépések futtatására használhat. A fiókjával való használat érdekében a gyakran használt Azure-eszközök már előre telepítve és konfigurálva vannak rajta.

A Cloud Shell megnyitásához válassza a Kipróbálás lehetőséget egy kódblokk jobb felső sarkában. A Cloud Shellt egy külön böngészőlapon is elindíthatja a https://shell.azure.com cím megnyitásával.

Amikor megnyílik a Cloud Shell, ellenőrizze, hogy a Bash ki van-e jelölve a környezetében. A következő munkamenetek az Azure CLI-t használják Bash-környezetben, a Másolás lehetőséget választva másolja ki a kódblokkokat, illessze be a Cloud Shellbe, és nyomja le az Enter billentyűt a futtatáshoz.

Bejelentkezés az Azure-ba

A Cloud Shell automatikusan hitelesítve lesz a kezdeti fiókkal, amellyel bejelentkezett. A következő szkripttel egy másik előfizetéssel jelentkezhet be, lecserélve <Subscription ID> az Azure-előfizetés azonosítóját. Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

További információ: Aktív előfizetés beállítása vagy interaktív bejelentkezés

Paraméterértékek beállítása

Az adatbázis és a szükséges erőforrások létrehozásához a következő értékek használhatók a következő parancsokban. A kiszolgálóneveknek globálisan egyedinek kell lenniük az Összes Azure-ban, így a kiszolgálónév létrehozásához a $RANDOM függvényt kell használni.

Módosítsa a környezetnek megfelelő helyet. Cserélje le 0.0.0.0 az IP-címtartományt az adott környezetnek megfelelőre. A használt számítógép nyilvános IP-címének használatával csak az Ön IP-címére korlátozhatja a kiszolgálóhoz való hozzáférést.

# 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..."

Erőforráscsoport létrehozása

Hozzon létre egy erőforráscsoportot az az group create paranccsal. Az Azure-erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat. A következő példában létrehozunk egy myResourceGroup nevű erőforráscsoportot az eastus helyen:

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

A kiszolgáló létrehozása

Hozzon létre egy kiszolgálót az az postgres server create paranccsal.

# 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

Feljegyzés

  • A kiszolgálónév csak kisbetűket, számokat és a kötőjel (-) karaktert tartalmazhatja. 3–63 karakter hosszúságúnak kell lennie. További információ: Azure Database for PostgreSQL elnevezési szabályok.
  • A rendszergazda felhasználójának felhasználóneve nem lehet azure_superuser, rendszergazda, rendszergazda, gyökér, vendég vagy nyilvános.
  • A jelszónak 8–128 karaktert kell tartalmaznia a következő kategóriák közül háromból: angol nagybetűk, angol kisbetűk, számok és nem alfanumerikus karakterek.
  • Az SKU-kkal kapcsolatos információkért tekintse meg az Azure Database for PostgreSQL díjszabását.

Fontos

Kiszolgálóalapú tűzfalszabály konfigurálása

Hozzon létre egy tűzfalszabályt az az postgres server firewall-rule create paranccsal, amely hozzáférést biztosít a helyi környezetnek a kiszolgálóhoz való csatlakozáshoz.

# 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

Tipp.

Ha nem tudja az IP-címét, lépjen a WhatIsMyIPAddress.com a beszerzéséhez.

Feljegyzés

A csatlakozási problémák elkerülése érdekében győződjön meg arról, hogy a hálózat tűzfala engedélyezi az 5432-s portot. Az Azure Database for PostgreSQL-kiszolgálók ezt a portot használják.

Kiszolgálóalapú tűzfalszabályok listázása

A meglévő kiszolgálói tűzfalszabályok listázásához futtassa az az postgres kiszolgálói tűzfalszabály-lista parancsot.

# 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.

A kimenet alapértelmezés szerint JSON formátumban listázza a tűzfalszabályokat, ha vannak ilyenek. A kapcsolóval --output table olvashatóbb táblázatformátumot használhat kimenetként.

Kapcsolatadatok lekérése

A kiszolgálóhoz való csatlakozáshoz adja meg a gazdagép adatait és a hozzáférési hitelesítő adatokat.

az postgres server show --resource-group $resourceGroup --name $server

Jegyezze fel a administratorLogin és a teljesQualifiedDomainName értékeket.

Csatlakozás az Azure Database for PostgreSQL-kiszolgálóra a psql használatával

A psql-ügyfél népszerű választás a PostgreSQL-kiszolgálókhoz való csatlakozáshoz. Az Azure Cloud Shell használatával psqlcsatlakozhat a kiszolgálóhoz. A helyi környezetben is használhatja psql , ha elérhető. A postgres nevű üres adatbázis automatikusan létrejön egy új PostgreSQL-kiszolgálóval. Ezzel az adatbázissal psqlcsatlakozhat az alábbi kódban látható módon.

psql --host=<server_name>.postgres.database.azure.com --port=5432 --username=<admin_user>@<server_name> --dbname=postgres

Tipp.

Ha url-címet szeretne használni a Postgreshez való csatlakozáshoz, az URL-cím a @ bejelentkezési felhasználónevet kódolja a következővel %40: . A psql kapcsolati sztring például a következő:

psql postgresql://<admin_user>%40<server_name>@<server_name>.postgres.database.azure.com:5432/postgres

Hozzon létre egy üres adatbázist

  1. Miután csatlakozott a kiszolgálóhoz, hozzon létre egy üres adatbázist, amikor a rendszer erre kéri:

    CREATE DATABASE mypgsqldb;
    
  2. Amikor a rendszer kéri, hajtsa végre a következő parancsot, hogy az újonnan létrehozott mypgsqldb adatbázishoz kapcsolódhasson:

    \c mypgsqldb
    

Táblák létrehozása az adatbázisban

Most, hogy tudja, hogyan csatlakozhat az Azure Database for PostgreSQL szolgáltatáshoz, elvégezhet néhány alapvető feladatot:

Először hozzunk létre egy táblát, és töltsük fel adatokkal. Például hozzunk létre egy táblát a leltáradatok nyomon követéséhez:

CREATE TABLE inventory (
  id serial PRIMARY KEY, 
  name VARCHAR(50), 
  quantity INTEGER
);

Az újonnan létrehozott tábla a táblák listájában való megtekintéséhez írja be a következőt:

\dt

Adatok betöltése a táblába

Most, hogy létrehoztuk a táblát, szúrjunk be néhány adatot. A megnyitott parancssori ablakban futtassa a következő lekérdezést néhány adatsor beszúrásához:

INSERT INTO inventory (id, name, quantity) VALUES (1, 'banana', 150); 
INSERT INTO inventory (id, name, quantity) VALUES (2, 'orange', 154);

Így két sornyi mintaadat került a korábban létrehozott táblába.

A táblákban lévő adatok lekérdezése és frissítése

Hajtsa végre a következő lekérdezést a készlettáblában lévő információk lekéréséhez:

SELECT * FROM inventory;

A készlettáblában található adatokat frissíteni is lehet:

UPDATE inventory SET quantity = 200 WHERE name = 'banana';

A frissített értékeket az adatok lekérésekor tekintheti meg:

SELECT * FROM inventory;

Adatbázis visszaállítása egy korábbi időpontra

Tegyük fel, hogy véletlenül törölt egy táblát. Ez nem olyasvalami, ami könnyen helyreállítható. Az Azure Database for PostgreSQL segítségével bármely olyan időpontra vissza lehet térni, amelyen a kiszolgálóról biztonsági mentés készült (ez a biztonsági mentések megőrzési idejéhez megadott beállításoktól függ), és az adott időpontra jellemző állapotot vissza lehet állítani egy új kiszolgálóra. Az új kiszolgáló segítségével helyreállíthatja a törölt adatokat.

Az alábbi parancs a mintakiszolgálót egy, a tábla hozzáadása előtti időpontra állítja vissza:

az postgres server restore --resource-group myresourcegroup --name mydemoserver-restored --restore-point-in-time 2017-04-13T13:59:00Z --source-server mydemoserver

Az az postgres server restore parancshoz a következő paraméterekre van szükség:

Beállítás Ajánlott érték Leírás
resource-group  myresourcegroup  Az erőforráscsoport, amelyben a forráskiszolgáló található. 
név mydemoserver-restored A visszaállítási paranccsal létrehozott új kiszolgáló neve.
restore-point-in-time 2017-04-13T13:59:00Z Válassza ki az időpontot, amelynek az állapotát vissza szeretné állítani. Ennek a dátumnak és időnek a forráskiszolgáló biztonsági mentésének megőrzési időszakán belül kell lennie. ISO8601 dátum- és időformátumot használjon. Használhatja például a saját helyi időzónáját (például 2017-04-13T05:59:00-08:00), de UTC Zulu formátumot is használhat (2017-04-13T13:59:00Z).
source-server mydemoserver A forráskiszolgáló neve vagy azonosítója, amelyről a visszaállítást végzi.

Ha egy adott időpontra állít vissza egy kiszolgálót, azzal létrehoz egy újat, amely az eredeti kiszolgáló adott időpontra jellemző állapotának másolata. A visszaállított kiszolgáló hely- és tarifacsomag-értékei ugyanazok, mint a forráskiszolgálón.

Egy szinkron parancsról van szó, amelyet a rendszer a kiszolgáló visszaállítása után visszaad. Ha a visszaállítás kész, keresse meg a létrehozott új kiszolgálót. Ellenőrizze, hogy az adatok a várt módon álltak-e vissza.

Az erőforrások eltávolítása

Az alábbi paranccsal eltávolíthatja az erőforráscsoportot és a hozzá társított összes erőforrást az az csoporttörlés paranccsal – kivéve, ha folyamatosan szüksége van ezekre az erőforrásokra. Ezen erőforrások némelyikének létrehozása és törlése eltarthat egy ideig.

az group delete --name $resourceGroup

Következő lépések

Ez az oktatóanyag bemutatta, hogyan végezheti el az alábbi műveleteket az Azure CLI (parancssori felület) és más segédprogramok használatával:

  • Azure-adatbázis létrehozása PostgreSQL-kiszolgálóhoz
  • A kiszolgáló tűzfalának konfigurálása
  • Adatbázis létrehozása a psql segédprogrammal
  • Mintaadatok betöltése
  • Adatok lekérdezése
  • Adatok frissítése
  • Adatok visszaállítása