Szybki start: tworzenie bazy danych usługi Azure Database for PostgreSQL za pomocą interfejsu wiersza polecenia platformy Azure

DOTYCZY: Azure Database for PostgreSQL — pojedynczy serwer

Ważne

Usługa Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do usługi Azure Database for PostgreSQL — serwer elastyczny. Aby uzyskać więcej informacji na temat migracji do usługi Azure Database for PostgreSQL — serwer elastyczny, zobacz Co się dzieje z usługą Azure Database for PostgreSQL — pojedynczy serwer?.

W tym przewodniku Szybki start pokazano, jak za pomocą poleceń interfejsu wiersza polecenia platformy Azure w usłudze Azure Cloud Shell utworzyć pojedynczy serwer usługi Azure Database for PostgreSQL w ciągu pięciu minut.

Napiwek

Rozważ użycie prostszego polecenia az postgres up interfejsu wiersza polecenia platformy Azure. Wypróbuj przewodnik Szybki start.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Wymagania wstępne

Uruchamianie usługi Azure Cloud Shell

Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, której możesz używać do wykonywania kroków opisanych w tym artykule. Udostępnia ona wstępnie zainstalowane i najczęściej używane narzędzia platformy Azure, które są skonfigurowane do użycia na koncie.

Aby otworzyć usługę Cloud Shell, wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu. Możesz również uruchomić usługę Cloud Shell w oddzielnej karcie przeglądarki, przechodząc do strony https://shell.azure.com.

Po otwarciu usługi Cloud Shell sprawdź, czy dla danego środowiska wybrano powłokę Bash . Kolejne sesje będą używać interfejsu wiersza polecenia platformy Azure w środowisku powłoki Bash, wybierz pozycję Kopiuj , aby skopiować bloki kodu, wkleić go do usługi Cloud Shell i nacisnąć klawisz Enter , aby go uruchomić.

Logowanie się do platformy Azure

Usługa Cloud Shell jest automatycznie uwierzytelniana na początkowym koncie zalogowanym. Użyj następującego skryptu, aby zalogować się przy użyciu innej subskrypcji, zastępując <Subscription ID> element identyfikatorem subskrypcji platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

subscription="<subscriptionId>" # add subscription here

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

Aby uzyskać więcej informacji, zobacz set active subscription or log in interactively (Ustawianie aktywnej subskrypcji lub logowanie się interaktywnie)

Ustawianie wartości parametrów

Następujące wartości są używane w kolejnych poleceniach do tworzenia bazy danych i wymaganych zasobów. Nazwy serwerów muszą być globalnie unikatowe na całej platformie Azure, więc funkcja $RANDOM jest używana do tworzenia nazwy serwera.

Zmień lokalizację zgodnie z potrzebami środowiska. Zastąp 0.0.0.0 ciąg zakresem adresów IP, aby pasować do określonego środowiska. Użyj publicznego adresu IP komputera, którego używasz, aby ograniczyć dostęp do serwera tylko do twojego adresu IP.

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

Tworzenie grupy zasobów

Utwórz grupę zasobów za pomocą polecenia az group create. Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi. W poniższym przykładzie pokazano tworzenie grupy zasobów o nazwie myResourceGroup w lokalizacji eastus:

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

Tworzenie serwera

Utwórz serwer za pomocą polecenia 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

Uwaga

  • Nazwa serwera może zawierać tylko małe litery, cyfry i znaki łącznika (-). Musi zawierać od 3 do 63 znaków. Aby uzyskać więcej informacji, zobacz Azure Database for PostgreSQL Naming Rules (Reguły nazewnictwa usługi Azure Database for PostgreSQL).
  • Nazwa użytkownika administratora nie może być azure_superuser, administrator, administrator, główny, gość lub publiczny.
  • Hasło musi zawierać od 8 do 128 znaków z trzech z następujących kategorii: wielkie litery angielskie, małe litery angielskie, cyfry i znaki inne niż alfanumeryczne.
  • Aby uzyskać informacje o jednostkach SKU, zobacz Cennik usługi Azure Database for PostgreSQL.

Ważne

  • Domyślna wersja bazy danych PostgreSQL na serwerze to 9.6. Aby wyświetlić wszystkie obsługiwane wersje, zobacz Obsługiwane wersje główne bazy danych PostgreSQL.
  • Protokół SSL jest domyślnie włączony na serwerze. Aby uzyskać więcej informacji na temat protokołu SSL, zobacz Konfigurowanie łączności SSL.

Konfigurowanie reguły zapory opartej na serwerze

Utwórz regułę zapory za pomocą polecenia az postgres server firewall-rule create , aby zapewnić środowisku lokalnemu dostęp do połączenia z serwerem.

# 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

Napiwek

Jeśli nie znasz swojego adresu IP, przejdź do WhatIsMyIPAddress.com , aby go uzyskać.

Uwaga

Aby uniknąć problemów z łącznością, upewnij się, że zapora sieci zezwala na port 5432. Serwery usługi Azure Database for PostgreSQL używają tego portu.

Wyświetlanie listy reguł zapory opartej na serwerze

Aby wyświetlić listę istniejących reguł zapory serwera, uruchom polecenie 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.

Dane wyjściowe zawierają listę reguł zapory, jeśli istnieją, domyślnie w formacie JSON. Możesz użyć przełącznika --output table w celu bardziej czytelnego formatu tabeli jako danych wyjściowych.

Uzyskiwanie informacji o połączeniu

Aby nawiązać połączenie z serwerem, podaj informacje o hoście i poświadczenia dostępu.

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

Zanotuj wartości administratorLogin i fullyQualifiedDomainName .

Połączenie do serwera usługi Azure Database for PostgreSQL przy użyciu narzędzia psql

Klient psql jest popularnym wyborem do nawiązywania połączenia z serwerami PostgreSQL. Połączenie z serwerem można nawiązać za pomocą psql usługi Azure Cloud Shell. Możesz również użyć psql w środowisku lokalnym, jeśli jest on dostępny. Pusta baza danych postgres jest tworzona automatycznie przy użyciu nowego serwera PostgreSQL. Tej bazy danych można użyć do nawiązania połączenia z usługą psql, jak pokazano w poniższym kodzie.

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

Napiwek

Jeśli wolisz użyć ścieżki adresu URL do nawiązania połączenia z usługą Postgres, zakoduj adres URL zakoduj nazwę użytkownika przy użyciu polecenia %40. Na przykład parametry połączenia dla narzędzia psql to:

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

Czyszczenie zasobów

Użyj następującego polecenia, aby usunąć grupę zasobów i wszystkie skojarzone z nią zasoby przy użyciu polecenia az group delete — chyba że masz ciągłą potrzebę tych zasobów. Utworzenie niektórych z tych zasobów może trochę potrwać, a także usunięcie.

az group delete --name $resourceGroup

Następne kroki