Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Database di Azure per PostgreSQL è un servizio gestito che è possibile usare per eseguire, gestire e ridimensionare database PostgreSQL a disponibilità elevata nel cloud.
Questa guida introduttiva illustra come creare un'istanza del server flessibile di Database di Azure per PostgreSQL usando il portale di Azure, l'interfaccia della riga di comando di Azure o i modelli di Azure Resource Manager (ARM).
Prerequisiti
Prima di iniziare, assicurarsi di avere:
- Una sottoscrizione di Azure. Se non è disponibile, creare un account Azure gratuito.
- Autorizzazioni appropriate per creare risorse nella sottoscrizione.
Comprendere quello che si sta creando
Un'istanza di server flessibile di Azure Database per PostgreSQL include:
- Set configurato di risorse di calcolo e archiviazione.
- Distribuzione all'interno di un gruppo di risorse di Azure.
- Il database
postgrescreato per impostazione predefinita. - Un
azure_maintenancedatabase per i processi del servizio gestito. - Un
azure_sysdatabase per le funzionalità dell'archivio query e dell'ottimizzazione degli indici.
Annotazioni
Le connessioni usano in genere la porta 5432 o la porta 6432 se ci si connette tramite il pool di connessioni PgBouncer predefinito.
Creare un server con il portale di Azure
Passare alla procedura guidata di creazione
- Accedi al portale di Azure.
- Selezionare Crea una risorsa nell'angolo superiore sinistro.
- In Categorie selezionare Database.
- Individuare e selezionare il server flessibile di Azure Database per PostgreSQL.
- Fare clic su Crea.
Configurare le impostazioni di base
Dettagli di progetto
| Impostazione | Valore suggerito | Note |
|---|---|---|
| Subscription | Il tuo abbonamento | Scegliere dove fatturare la risorsa |
| Gruppo di risorse | myresourcegroup | Crea nuovo o seleziona esistente |
Dettagli server
| Impostazione | Valore suggerito | Description |
|---|---|---|
| Nome del server | mydemoserver-pgsql | Deve essere univoco a livello globale. Il dominio .postgres.database.azure.com viene aggiunto automaticamente |
| Regione | Area più vicina all'utente | Prendere in considerazione conformità, residenza dei dati, prezzi e prossimità agli utenti |
| Versione di PostgreSQL | Ultima versione disponibile | Attualmente supportato: 18, 17, 16, 15, 14, 13, 12, 11 |
| Tipo di carico di lavoro | Sviluppo | Lo sviluppo usa SKU burstable. L'ambiente di produzione usa utilizzo generico o ottimizzato per la memoria. |
| Zona di disponibilità | Nessuna preferenza | Utile per il posizionamento assieme alla tua applicazione |
Disponibilità elevata
| Opzione | SLA | Description |
|---|---|---|
| Disabled | 99,9% | Server singolo senza standby |
| Stessa zona | 99.95% | Standby nella stessa zona di disponibilità |
| Con ridondanza della zona | 99,99% | Standby in una zona di disponibilità diversa |
Authentication
| Impostazione | Description | Recommended |
|---|---|---|
| Metodo di autenticazione | Modalità di autenticazione degli utenti |
-
Solo Autenticazione PostgreSQL (per la guida introduttiva) - Autenticazione di Microsoft Entra (per la produzione) - Entrambi (per flessibilità) |
| Nome utente amministratore | adminuser | - Deve essere di 1-63 caratteri - Solo numeri e lettere - Non è possibile iniziare con pg_- Non può essere un nome riservato di sistema |
| Parola d’ordine | Password complessa | 8-128 caratteri con caratteri maiuscoli, minuscoli, numeri e caratteri speciali |
Configurare risorse di calcolo e archiviazione
Selezionare Configura server per personalizzare:
Livello di calcolo
| Tier | Caso d'uso | Description |
|---|---|---|
| Possibilità di burst | Sviluppo | Per i carichi di lavoro che non necessitano di CPU completa continua |
| Uso Generale | Produzione | Carichi di lavoro di produzione più comuni |
| Ottimizzato per la memoria | Carichi di lavoro a memoria elevata | Carichi di lavoro che richiedono un rapporto elevato tra memoria e CPU |
Impostazioni di archiviazione
| Impostazione | Può cambiare in un secondo momento | Description |
|---|---|---|
| Tipo di archiviazione | ❌ No | SSD Premium o SSD Premium v2 |
| Dimensioni di archiviazione | ✅ Sì (solo aumento) | Non è possibile ridurre dopo la creazione |
| Livello di prestazioni | ✅ Sì | Controlla le IOPS e la velocità effettiva |
| Aumento automatico dell'archiviazione | ✅ Sì | Espandersi automaticamente quando si avvicinano i limiti |
Impostazioni backup
| Impostazione | Può cambiare in un secondo momento | Description |
|---|---|---|
| Conservazione dei backup | ✅ Sì | 7-35 giorni |
| Ridondanza del backup | ❌ No | Ridondanza locale, ridondanza zonale o ridondanza geografica |
| Ridondanza geografica | ❌ No | Disponibile solo nelle aree abbinate di Azure |
Configurare la rete
Scegliere il metodo di connettività (non può essere modificato dopo la creazione):
Accesso pubblico (indirizzi IP consentiti)
Connettersi tramite un endpoint pubblico usando le regole del firewall.
Impostazioni:
| Impostazione | Description |
|---|---|
| Consenti accesso pubblico | Abilitare l'accesso pubblico per configurare le regole del firewall |
| Consenti servizi di Azure | Consentire le connessioni da tutti i servizi di Azure |
| Aggiungere l'indirizzo IP client corrente | Aggiungi l'indirizzo IP alla lista consentita |
Accesso privato (integrazione rete virtuale)
Connettersi tramite un endpoint privato all'interno di una rete virtuale. Per altre informazioni, vedere Rete con accesso privato per Database di Azure per PostgreSQL.
Configurare la sicurezza
| Impostazione | Può cambiare in un secondo momento | Options |
|---|---|---|
| Chiave di crittografia dei dati | ❌ No | Gestito dal servizio o gestito dal cliente |
Aggiungere tag di risorsa (facoltativo)
Organizzare le risorse con coppie nome-valore:
| Nome | Value | Scopo |
|---|---|---|
| Ambiente | Sviluppo | Identificare il tipo di ambiente |
| CostCenter | IT-Dept | Tenere traccia dei costi per reparto |
| Proprietario | admin@contoso.com | Identificare le parti responsabili |
Rivedi e crea
- Selezionare Rivedi e crea.
- Esaminare tutte le configurazioni.
- Selezionare Crea per la distribuzione.
La distribuzione richiede in genere 5-10 minuti. Al termine, selezionare Vai alla risorsa per accedere al server.
Creare un server con l'interfaccia della riga di comando di Azure
Prerequisiti per CLI
Per questo script, usare l'interfaccia della riga di comando di Azure in locale perché l'esecuzione in Cloud Shell richiede troppo tempo.
Accedere ad Azure
Usare lo script seguente per accedere usando una sottoscrizione specifica.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Per maggiori informazioni, vedere Impostare una sottoscrizione attiva o Accedere in modo interattivo
Se si usa Azure Cloud Shell, si è già connessi.
Creare un server con la CLI
Creare un server con un comando:
az postgres flexible-server create \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--location eastus \
--admin-user myadmin \
--admin-password <password> \
--sku-name Standard_D4ds_v5 \
--tier GeneralPurpose \
--public-access 0.0.0.0 \
--storage-size 128 \
--tags "Environment=Development"
Informazioni di riferimento dei parametri dell'interfaccia a riga di comando
| Parametro | Description | Example |
|---|---|---|
--resource-group |
Nome del gruppo di risorse | myresourcegroup |
--name |
Nome globale univoco del server | mydemoserver-pgsql |
--location |
Azure region | eastus |
--admin-user |
Nome utente amministratore | myadmin |
--admin-password |
Password amministratore | YourPassword123! |
--sku-name |
SKU di calcolo | Standard_D4ds_v5 |
--tier |
Livello di calcolo | Scalabile, UsoGenerico, OttimizzatoPerLaMemoria |
--storage-size |
Archiviazione in GB | 128 |
--public-access |
Indirizzi IP consentiti | 0.0.0.0 (tutti i servizi di Azure), indirizzo IP o intervallo IP |
--version |
Versione di PostgreSQL | 16 |
--high-availability |
modalità HA | Disabilitato, SameZone, ZoneRedundant |
--backup-retention |
Giorni di conservazione dei backup | 7-35 |
Esempio di interfaccia della riga di comando avanzata
Creare un server con ridondanza della zona a disponibilità elevata:
az postgres flexible-server create \
--resource-group myresourcegroup \
--name mydemoserver-pgsql-ha \
--location eastus \
--admin-user myadmin \
--admin-password <password> \
--sku-name Standard_D4ds_v5 \
--tier GeneralPurpose \
--storage-size 256 \
--storage-type PremiumV2_LRS \
--high-availability ZoneRedundant \
--zone 1 \
--standby-zone 2 \
--backup-retention 14 \
--public-access 0.0.0.0
Creazione di un server utilizzando un modello ARM
Panoramica del modello di Gestione delle Risorse di Azure
I modelli di Azure Resource Manager (ARM) consentono di definire l'infrastruttura come codice. Usare i modelli per le distribuzioni ripetibili.
Modello ARM minimo
Salvare il file come postgres-server-template.json:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serverName": {
"type": "string",
"metadata": {
"description": "Server name must be globally unique"
}
},
"administratorLogin": {
"type": "string",
"minLength": 1,
"maxLength": 63,
"metadata": {
"description": "Administrator username"
}
},
"administratorLoginPassword": {
"type": "securestring",
"minLength": 8,
"metadata": {
"description": "Administrator password"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Server location"
}
}
},
"resources": [
{
"type": "Microsoft.DBforPostgreSQL/flexibleServers",
"apiVersion": "2024-08-01",
"name": "[parameters('serverName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_D4ds_v5",
"tier": "GeneralPurpose"
},
"properties": {
"administratorLogin": "[parameters('administratorLogin')]",
"administratorLoginPassword": "[parameters('administratorLoginPassword')]",
"version": "16",
"storage": {
"storageSizeGB": 128,
"type": "Premium_LRS",
"autoGrow": "Enabled"
},
"backup": {
"backupRetentionDays": 7,
"geoRedundantBackup": "Disabled"
},
"network": {
"publicNetworkAccess": "Enabled"
},
"highAvailability": {
"mode": "Disabled"
}
}
}
],
"outputs": {
"serverFQDN": {
"type": "string",
"value": "[reference(parameters('serverName')).fullyQualifiedDomainName]"
}
}
}
Distribuire il modello di Resource Manager
az group create --name myresourcegroup --location eastus
az deployment group create \
--resource-group myresourcegroup \
--template-file postgres-server-template.json \
--parameters \
serverName=mydemoserver-pgsql \
administratorLogin=myadmin \
administratorLoginPassword=<password>
Ottenere informazioni di connessione
Dopo aver creato il server, recuperare i dettagli di connessione:
Uso del portale di Azure
- Vai al tuo server nel portale di Azure.
- Aprire la pagina Panoramica.
- Copiare questi valori:
-
Nome server (punto finale):
mydemoserver-pgsql.postgres.database.azure.com -
Account di accesso amministratore:
myadmin
-
Nome server (punto finale):
Utilizzo della CLI di Azure
az postgres flexible-server show \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--query "{serverName:fullyQualifiedDomainName, adminUser:administratorLogin}" \
--output table
Connettersi tramite psql
Installare psql
Se non si hanno strumenti client PostgreSQL, scaricare PostgreSQL per la piattaforma.
Connettersi al server
psql "host=mydemoserver-pgsql.postgres.database.azure.com port=5432 dbname=postgres user=myadmin sslmode=require"
Quando richiesto, immettere la password amministratore impostata durante la creazione del server.
Formato della stringa di connessione
host=<server-name>.postgres.database.azure.com port=5432 dbname=<database-name> user=<admin-user> password=<password> sslmode=require
Verificare la connessione
Dopo la connessione, verrà visualizzato quanto illustrato di seguito:
psql (14.13, server 16.4)
WARNING: psql major version 14, server major version 16.
Some psql features might not work.
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=>
Creazione di un database
CREATE DATABASE user_database;
\c user_database
\q
Risoluzione dei problemi di connessione
Blocco della connessione da parte del firewall
Se viene visualizzato:
connection to server at "mydemoserver-pgsql.postgres.database.azure.com" (###.###.###.###), port 5432 failed: Connection timed out
Soluzione: aggiungere l'indirizzo IP alle regole del firewall:
az postgres flexible-server firewall-rule create \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--rule-name AllowMyIP \
--start-ip-address <your-ip> \
--end-ip-address <your-ip>
SSL obbligatorio ma non configurato
Verificare che la stringa di connessione includa sslmode=require.
Pulire le risorse
Al termine dell'avvio rapido, eliminare le risorse per evitare addebiti.
Eliminare l'intero gruppo di risorse
az group delete --name myresourcegroup --yes
Eliminare solo il server
az postgres flexible-server delete \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--yes