Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Banco de Dados do Azure para PostgreSQL é um serviço gerenciado que você pode usar para executar, gerenciar e dimensionar bancos de dados PostgreSQL altamente disponíveis na nuvem.
Este início rápido mostra como criar uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL usando o portal do Azure, a CLI do Azure ou os modelos do ARM (Azure Resource Manager).
Pré-requisitos
Antes de começar, verifique se você tem:
- Uma assinatura do Azure. Se você não tiver uma, crie uma conta gratuita do Azure.
- Permissões apropriadas para criar recursos em sua assinatura.
Entender o que você está criando
Uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL inclui:
- Um conjunto configurado de recursos de computação e armazenamento.
- Implantação em um grupo de recursos do Azure.
- Um
postgresbanco de dados criado por padrão. - Um
azure_maintenancebanco de dados para processos de serviço gerenciado. - Um
azure_sysbanco de dados para repositório de consultas e recursos de ajuste de índice.
Observação
Normalmente, as conexões usam porta 5432 ou porta 6432 se conectarem por meio do pooler de conexões interno do PgBouncer.
Criar servidor usando o portal do Azure
Navegue até o assistente de criação
- Entre no portal do Azure.
- Selecione Criar um recurso no canto superior esquerdo.
- Em Categorias, selecione Bancos de Dados.
- Localize e selecione o servidor flexível do Banco de Dados do Azure para PostgreSQL.
- Selecione Criar.
Definir as configurações básicas
Detalhes do projeto
| Configurações | Valor sugerido | Anotações |
|---|---|---|
| Subscription | Sua assinatura | Escolha onde cobrar o recurso |
| Grupo de recursos | myresourcegroup | Criar novo ou selecionar existente |
Detalhes do servidor
| Configurações | Valor sugerido | Description |
|---|---|---|
| Nome do servidor | mydemoserver-pgsql | Deve ser globalmente exclusivo. O domínio .postgres.database.azure.com é adicionado automaticamente |
| Região | Região mais próxima de você | Considere conformidade, residência de dados, preços e proximidade com os usuários |
| Versão do PostgreSQL | Mais recente disponível | Atualmente com suporte: 18, 17, 16, 15, 14, 13, 12, 11 |
| Tipo de carga de trabalho | Desenvolvimento | O desenvolvimento usa SKUs do tipo Burstable. A produção utiliza Propósito Geral ou Otimizado para Memória. |
| Zona de disponibilidade | Nenhuma preferência | Útil para ser colocado junto com seu aplicativo |
Alta disponibilidade
| Opção | contrato de nível de serviço | Description |
|---|---|---|
| Disabled | 99,9% | Servidor único sem backup |
| Mesma zona | 99.95% | Em espera na mesma zona de disponibilidade |
| Redundância de zona | 99,99% | Espera em uma zona de disponibilidade diferente |
Authentication
| Configurações | Description | Recommended |
|---|---|---|
| Método de autenticação | Como os usuários se autenticam |
-
Somente autenticação postgreSQL (para início rápido) - Autenticação do Microsoft Entra (para produção) - Ambos (para flexibilidade) |
| Nome de usuário do administrador | adminuser | - Deve ter de 1 a 63 caracteres - Somente números e letras - Não é possível começar com pg_- Não pode ser nomes reservados do sistema |
| Senha | Senha complexa | 8 a 128 caracteres com letras maiúsculas, minúsculas, números e caracteres especiais |
Configurar computação e armazenamento
Selecione Configurar servidor para personalizar:
Nível de computação
| Camada | Caso de uso | Description |
|---|---|---|
| Com capacidade de intermitência | Desenvolvimento | Para cargas de trabalho que não precisam de CPU completa contínua |
| de Uso Geral | Produção | Cargas de trabalho de produção mais comuns |
| Memória otimizada | Cargas de trabalho de memória alta | Cargas de trabalho que exigem alta taxa de memória para CPU |
Configurações de armazenamento
| Configurações | Pode mudar mais tarde | Description |
|---|---|---|
| Tipo de armazenamento | ❌ Não | SSD Premium ou SSD Premium v2 |
| Tamanho do armazenamento | ✅ Sim (somente aumento) | Não é possível reduzir após a criação |
| Nível de desempenho | ✅ Sim | Controla IOPS e taxa de transferência |
| Crescimento automático de armazenamento | ✅ Sim | Expansão automática ao se aproximar dos limites |
Configurações de backup
| Configurações | Pode mudar mais tarde | Description |
|---|---|---|
| Retenção de backup | ✅ Sim | 7 a 35 dias |
| Redundância de backup | ❌ Não | Redundante localmente, redundante em zona ou redundante geograficamente |
| Redundância geográfica | ❌ Não | Disponível somente em regiões emparelhadas do Azure |
Configurar a rede
Escolha o método de conectividade (não pode ser alterado após a criação):
Acesso público (endereços IP permitidos)
Conecte-se através de um ponto de extremidade público usando regras de firewall.
Configurações:
| Configurações | Description |
|---|---|
| Permitir acesso público | Habilitar o acesso público para configurar regras de firewall |
| Permitir serviços do Azure | Permitir conexões de todos os serviços do Azure |
| Adicionar IP do cliente atual | Adicionar seu endereço IP para permitir a lista |
Acesso privado (integração de rede virtual)
Conecte-se por meio de um endpoint privado em uma rede virtual. Para obter mais informações, consulte Rede com acesso privado para o Banco de Dados do Azure para PostgreSQL.
Configurar a segurança
| Configurações | Pode mudar mais tarde | Opções |
|---|---|---|
| Chave de criptografia de dados | ❌ Não | Gerenciado pelo serviço ou gerenciado pelo cliente |
Adicionar tags de recurso (opcional)
Organizar recursos com pares nome-valor:
| Nome | Value | Propósito |
|---|---|---|
| Ambiente | Desenvolvimento | Identificar o tipo de ambiente |
| CostCenter | IT-Dept | Acompanhar os custos por departamento |
| Proprietário | admin@contoso.com | Identificar parte responsável |
Revisar e criar
- Selecione Examinar + criar.
- Examine todas as configurações.
- Selecione Criar para implantar.
A implantação normalmente leva de 5 a 10 minutos. Quando concluir, selecione Ir para o recurso para acessar o servidor.
Criar servidor usando a CLI do Azure
Pré-requisitos para a CLI
Para esse script, use a CLI do Azure localmente, pois a execução dele leva muito tempo no Cloud Shell.
Entrar no Azure
Use o script a seguir para entrar usando uma assinatura específica.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Para saber mais, confira definir assinatura ativa ou fazer logon de forma interativa
Se você usar o Azure Cloud Shell, já está conectado.
Criar servidor com a CLI
Crie um servidor com um 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"
Referência de parâmetros da CLI
| Parâmetro | Description | Example |
|---|---|---|
--resource-group |
Nome do grupo de recursos | myresourcegroup |
--name |
Nome do servidor global exclusivo | mydemoserver-pgsql |
--location |
região do Azure | eastus |
--admin-user |
Nome de usuário do administrador | myadmin |
--admin-password |
Senha do administrador | YourPassword123! |
--sku-name |
SKU de computação | Standard_D4ds_v5 |
--tier |
Nível de computação | Explosivo, Uso Geral, Otimizado para Memória |
--storage-size |
Armazenamento em GB | 128 |
--public-access |
Endereços IP permitidos | 0.0.0.0 (todos os serviços do Azure), endereço IP ou intervalo de IP |
--version |
Versão do PostgreSQL | 16 |
--high-availability |
Modo de HA | Desabilitado, SameZone, ZoneRedundant |
--backup-retention |
Dias de retenção de backup | 7-35 |
Exemplo avançado da CLI
Crie um servidor altamente disponível com redundância de zona:
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
Criar servidor usando o modelo do ARM
Visão geral do modelo do ARM
Os modelos do ARM (Azure Resource Manager) permitem definir a infraestrutura como código. Use modelos para implantações repetíveis.
Modelo mínimo do ARM
Salve este arquivo como 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]"
}
}
}
Implantar o modelo do ARM
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>
Obter informações de conexão
Depois de criar o servidor, recupere os detalhes da conexão:
Usando o portal do Azure
- Acesse o servidor no portal do Azure.
- Abra a página Visão geral.
- Copie estes valores:
-
Nome do servidor (ponto de extremidade):
mydemoserver-pgsql.postgres.database.azure.com -
Logon do administrador:
myadmin
-
Nome do servidor (ponto de extremidade):
Usando a CLI do Azure
az postgres flexible-server show \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--query "{serverName:fullyQualifiedDomainName, adminUser:administratorLogin}" \
--output table
Conecte-se usando psql
Instalar o psql
Se você não tiver ferramentas de cliente do PostgreSQL, baixe o PostgreSQL para sua plataforma.
Conectar-se ao servidor
psql "host=mydemoserver-pgsql.postgres.database.azure.com port=5432 dbname=postgres user=myadmin sslmode=require"
Quando solicitado, insira a senha de administrador definida durante a criação do servidor.
Formato da cadeia de conexão
host=<server-name>.postgres.database.azure.com port=5432 dbname=<database-name> user=<admin-user> password=<password> sslmode=require
Verificar a conexão
Depois de se conectar, você deverá ver:
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=>
Criar um banco de dados
CREATE DATABASE user_database;
\c user_database
\q
Solução de problemas de conexão
Firewall bloqueando a conexão
Se você vir:
connection to server at "mydemoserver-pgsql.postgres.database.azure.com" (###.###.###.###), port 5432 failed: Connection timed out
Solução: adicione seu endereço IP às regras de 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 necessário, mas não configurado
Verifique se a cadeia de conexão inclui sslmode=require.
Limpar os recursos
Ao concluir o início rápido, exclua os recursos para evitar encargos.
Excluir todo o grupo de recursos
az group delete --name myresourcegroup --yes
Excluir somente o servidor
az postgres flexible-server delete \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--yes