Avvio rapido: Creare un server di Database di Azure per PostgreSQL con l'interfaccia della riga di comando di Azure

SI APPLICA A: Database di Azure per PostgreSQL - Server singolo

Importante

Database di Azure per PostgreSQL - Server singolo si trova nel percorso di ritiro. È consigliabile eseguire l'aggiornamento a Database di Azure per PostgreSQL - Server flessibile. Per altre informazioni sulla migrazione a Database di Azure per PostgreSQL - Server flessibile, vedere Che cosa accade a Database di Azure per PostgreSQL server singolo?

Questo argomento di avvio rapido illustra come usare i comandi dell'interfaccia della riga di comando di Azure in Azure Cloud Shell per creare un server singolo di Database di Azure per PostgreSQL in cinque minuti.

Suggerimento

Prendere in considerazione l'uso del comando az postgres up dell'interfaccia della riga di comando di Azure più semplice. Provare l'argomento di avvio rapido.

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

Prerequisiti

Avviare Azure Cloud Shell

Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.

Per aprire Cloud Shell, basta selezionare Prova nell'angolo superiore destro di un blocco di codice. È anche possibile avviare Cloud Shell in una scheda separata del browser visitando https://shell.azure.com.

Quando si apre Cloud Shell, verificare che Bash sia selezionato per l'ambiente in uso. Le sessioni successive useranno l'interfaccia della riga di comando di Azure in un ambiente Bash, selezionare Copia per copiare i blocchi di codice, incollarli in Cloud Shell e premere INVIO per eseguirlo.

Accedere ad Azure

Cloud Shell viene autenticato automaticamente con l'account iniziale con cui è stato eseguito l'accesso. Usare lo script seguente per accedere usando una sottoscrizione diversa, sostituendo <Subscription ID> con l'ID sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

subscription="<subscriptionId>" # add subscription here

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

Per altre informazioni, vedere Impostare una sottoscrizione attiva o accedere in modo interattivo

Impostare i valori di parametro

I valori seguenti vengono usati nei comandi successivi per creare il database e le risorse necessarie. I nomi dei server devono essere univoci a livello globale in tutto Azure, quindi per creare il nome del server viene usata la funzione $RANDOM.

Modificare la posizione in base alle esigenze dell'ambiente. Sostituire 0.0.0.0 con l'intervallo di indirizzi IP in modo che corrisponda all'ambiente specifico. Usare l'indirizzo IP pubblico del computer in uso per limitare l'accesso al server solo all'indirizzo 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..."

Creare un gruppo di risorse

Creare un gruppo di risorse con il comando az group create. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella posizione eastus:

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

Creare un server

Creare un server con il comando 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

Nota

  • Il nome del server può contenere solo lettere minuscole, numeri e il segno meno (-) Deve contenere da 3 a 63 caratteri. Per altre informazioni, vedere Regole di denominazione di Database di Azure per PostgreSQL.
  • Il nome utente per l'utente amministratore non può essere azure_superuser, amministratore, amministratore, radice, guest o pubblico.
  • La password deve contenere da 8 a 128 caratteri da tre delle categorie seguenti: lettere maiuscole, lettere minuscole, numeri e caratteri non alfanumerici.
  • Per informazioni sugli SKU, vedere Database di Azure per PostgreSQL prezzi.

Importante

Configurare una regola del firewall basata sul server

Creare una regola del firewall con il comando az postgres server firewall-rule create per concedere all'ambiente locale l'accesso per la connessione al server.

# 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

Suggerimento

Se non si conosce l'indirizzo IP, passare a WhatIsMyIPAddress.com per ottenerlo.

Nota

Per evitare problemi di connettività, verificare che il firewall della rete consenta la porta 5432. Il server di Database di Azure per PostgreSQL usa tale porta.

Elencare le regole del firewall basate su server

Per elencare le regole firewall del server esistenti, eseguire il comando 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.

L'output elenca le eventuali regole firewall presenti, per impostazione predefinita in formato JSON. È possibile usare l'opzione --output table per ottenere un formato di tabella più leggibile come output.

Ottenere le informazioni di connessione

Per connettersi al server, è necessario specificare le informazioni sull'host e le credenziali di accesso.

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

Prendere nota dei valori di administratorLogin e fullyQualifiedDomainName.

Connettersi al server di Database di Azure per PostgreSQL tramite psql

Il client psql è una scelta comune per la connessione ai server PostgreSQL. È possibile connettersi al server usando psqlAzure Cloud Shell. È anche possibile usare nell'ambiente psql locale, se disponibile. Viene automaticamente creato un database vuoto, postgres, con un nuovo server PostgreSQL. È possibile usare tale database per connettersi a psql, come illustrato nel codice seguente.

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

Suggerimento

Se si preferisce usare un percorso URL per connettersi a Postgres, l'URL codifica il segno @ nel nome utente con %40. Ad esempio, la stringa di connessione per psql sarà:

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

Pulire le risorse

Usare il comando seguente per rimuovere il gruppo di risorse e tutte le risorse associate usando il comando az group delete , a meno che non si disponga di una necessità continua per queste risorse. La creazione di alcune di queste risorse può richiedere tempo, nonché l'eliminazione.

az group delete --name $resourceGroup

Passaggi successivi