Início Rápido: Criar um servidor do Banco de Dados do Azure para PostgreSQL usando a CLI do Azure

APLICA-SE A: Banco de Dados do Azure para PostgreSQL – Servidor Único

Importante

O Banco de Dados do Azure para PostgreSQL – Servidor Único está prestes a ser desativado. É altamente recomendável atualizar para o Banco de Dados do Azure para PostgreSQL – Servidor Flexível. Para obter mais informações sobre a migração para o Banco de Dados do Azure para PostgreSQL – Servidor Flexível, veja O que está acontecendo com o Banco de Dados do Azure para PostgreSQL Servidor único?.

Este guia de início rápido mostra como usar os comandos da CLI do Azure no Azure Cloud Shell para criar um servidor único do Banco de Dados do Azure para PostgreSQL em cinco minutos.

Dica

Considere usar o comando mais simples da CLI do Azure az postgres up. Experimente o início rápido.

Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.

Pré-requisitos

Iniciar o Azure Cloud Shell

O Azure Cloud Shell é um shell gratuito e interativo que poderá ser usado para executar as etapas deste artigo. Ele tem ferramentas do Azure instaladas e configuradas para usar com sua conta.

Para abrir o Cloud Shell, basta selecionar Experimentar no canto superior direito de um bloco de código. Você também pode iniciar o Cloud Shell em uma guia separada do navegador indo até https://shell.azure.com.

Quando o Cloud Shell abrir, verifique se o Bash está selecionado para o ambiente. As sessões subsequentes usarão a CLI do Azure em um ambiente Bash. Selecione Copiar para copiar os blocos de código, cole-os no Cloud Shell e pressione Enter para executá-los.

Entrar no Azure

O Cloud Shell é autenticado automaticamente na conta inicial usada para entrar. Use o seguinte script para entrar usando uma assinatura diferente, substituindo <Subscription ID> pela ID da Assinatura do Azure. Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.

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

Definir valores de parâmetro

Os valores a seguir são usados em comandos subsequentes para criar o banco de dados e os recursos necessários. Os nomes de servidor precisam ser globalmente exclusivos em todo o Azure para que a função $RANDOM seja usada para criar o nome do servidor.

Altere o local conforme apropriado para o seu ambiente. Substitua 0.0.0.0 pelo intervalo de endereços IP para que correspondam ao seu ambiente específico. Use o endereço IP público do computador que você está usando para restringir o acesso ao servidor apenas ao seu endereço 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..."

Criar um grupo de recursos

Crie um grupo de recursos com o comando az group create. Um grupo de recursos do Azure é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. O exemplo a seguir cria um grupo de recursos chamado myResourceGroup na localização eastus:

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

Criar um servidor

Crie um servidor com o 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

Observação

  • O nome do servidor pode conter apenas letras minúsculas, números e o caractere de hífen (-). Ele precisa conter de 3 a 63 caracteres. Para obter mais informações, confira Regras de nomenclatura do Banco de Dados do Azure para PostgreSQL.
  • O nome do usuário administrador não pode ser azure_superuser, admin, administrator, root, guest nem public.
  • A senha deve conter de 8 a 128 caracteres das três seguintes categorias: letras maiúsculas, letras minúsculas, números e caracteres não alfanuméricos.
  • Para obter mais informações, confira Preços do Banco de Dados do Azure para PostgreSQL.

Importante

Configurar uma regra de firewall baseada em servidor

Crie uma regra de firewall com o comando az postgres server firewall-rule create para dar acesso ao seu ambiente local para se conectar ao servidor.

# 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

Dica

Se você não souber seu endereço IP, acesse WhatIsMyIPAddress.com para obtê-lo.

Observação

Para evitar problemas de conectividade, verifique se o firewall da rede permite a porta 5432. Os servidores do Banco de Dados do Azure para PostgreSQL usam essa porta.

Listar regras de firewall baseadas em servidor

Para listar as regras de firewall existentes no servidor, execute o 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.

A saída listará as regras de firewall, se houver, no formato JSON por padrão. Você pode usar a opção --output table para obter um formato de tabela mais legível como saída.

Obter informações de conexão

Para se conectar ao servidor, forneça credenciais de acesso e informações do host.

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

Anote os valores de administratorLogin e fullyQualifiedDomainName.

Conectar-se ao servidor do Banco de Dados do Azure para PostgreSQL usando o psql

O cliente psql é uma opção popular para se conectar a servidores PostgreSQL. Conecte-se ao seu servidor usando o psql com o Azure Cloud Shell. Você também poderá usar o psql no seu ambiente local se ele estiver disponível. Um banco de dados vazio, o postgres, é criado automaticamente com um novo servidor PostgreSQL. Use esse banco de dados para se conectar ao psql, conforme mostrado no código a seguir.

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

Dica

Se você preferir usar um caminho de URL para se conectar ao Postgres, codifique a URL de entrada @ do nome de usuário com %40. Por exemplo, a cadeia de conexão do psql será:

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

Limpar os recursos

Use o comando a seguir para remover o grupo de recursos e todos os recursos associados a ele usando o comando az group delete, a menos que você necessite desses recursos com frequência. A criação e a exclusão de alguns desses recursos podem demorar um pouco.

az group delete --name $resourceGroup

Próximas etapas