Início Rápido: Usar o Python para se conectar e consultar dados no Banco de Dados do Azure para PostgreSQL – servidor único
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?.
Neste início rápido, você aprenderá a se conectar ao Banco de Dados do Azure para PostgreSQL servidor único e executar instruções SQL para consultar usando o Python em macOS, Ubuntu Linux ou Windows.
Dica
Se você estiver procurando criar um aplicativo Django com PostgreSQL, confira o tutorial Implantar um aplicativo Web Django com PostgreSQL.
Pré-requisitos
Para este início rápido você precisa:
Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
Criar um Banco de Dados do Azure para PostgreSQL servidor único usando o portal do Azure
ou a CLI do Azure se ainda não tiver um.Com base em se você está usando o acesso público ou privado, conclua UMA das ações abaixo para habilitar a conectividade.
Ação Método de conectividade Guia de instruções Configurar regras de firewall Público Portal
CLIConfigurar Ponto de Extremidade de Serviço Público Portal
CLIConfigurar link privado Privados Portal
CLIPython 2.7 ou 3.6+.
Instalador do pacote pip mais recente.
Instale o psycopg2 usando
pip install psycopg2-binary
em um terminal ou em uma janela do prompt de comando. Para obter mais informações, confira como instalarpsycopg2
.
Obter informações da conexão de banco de dados
A conexão com um Banco de Dados do Azure para PostgreSQL requer o nome do servidor totalmente qualificado e as credenciais de logon. Você pode obter essas informações no portal do Azure.
No portal do Azure, procure e selecione o nome do servidor do Banco de Dados do Azure para PostgreSQL.
Na página Visão Geral do servidor, copie o Nome do servidor totalmente qualificado e o Nome de usuário do administrador. O Nome do servidor totalmente qualificado está sempre no formato <my-server-name>.postgres.database.azure.com e o Nome de usuário do administrador está sempre no formato <my-admin-username>@<my-server-name>.
Você também precisa da sua senha de administrador. Se a esquecer, será possível redefini-la nessa página.
Importante
Substitua os seguintes valores:
<server-name>
e<admin-username>
pelos valores copiados do portal do Azure.<admin-password>
pela sua senha de servidor.<database-name>
um banco de dados padrão chamado postgres foi criado automaticamente quando você criou o servidor. É possível renomear esse banco de dados ou criar outro usando os comandos SQL.
Etapa 1: conectar e inserir dados
O exemplo de código a seguir se conecta ao Banco de Dados do Azure para PostgreSQL usando
- a função psycopg2.connect e carrega dados com uma instrução SQL INSERT.
- A função cursor.execute executa a consulta SQL no banco de dados.
import psycopg2
# Update connection string information
host = "<server-name>"
dbname = "<database-name>"
user = "<admin-username>"
password = "<admin-password>"
sslmode = "require"
# Construct connection string
conn_string = "host={0} user={1} dbname={2} password={3} sslmode={4}".format(host, user, dbname, password, sslmode)
conn = psycopg2.connect(conn_string)
print("Connection established")
cursor = conn.cursor()
# Drop previous table of same name if one exists
cursor.execute("DROP TABLE IF EXISTS inventory;")
print("Finished dropping table (if existed)")
# Create a table
cursor.execute("CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);")
print("Finished creating table")
# Insert some data into the table
cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);", ("banana", 150))
cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);", ("orange", 154))
cursor.execute("INSERT INTO inventory (name, quantity) VALUES (%s, %s);", ("apple", 100))
print("Inserted 3 rows of data")
# Clean up
conn.commit()
cursor.close()
conn.close()
Quando o código é executado com êxito, ele produz a seguinte saída:
Etapa 2: Ler dados
O exemplo de código a seguir se conecta ao Banco de Dados do Azure para PostgreSQL e usa
- a função cursor.execute com a instrução SQL SELECT para ler dados.
- A função cursor.fetchall() aceita uma consulta e retorna um conjunto de resultados a ser percorrido usando
# Fetch all rows from table
cursor.execute("SELECT * FROM inventory;")
rows = cursor.fetchall()
# Print all rows
for row in rows:
print("Data row = (%s, %s, %s)" %(str(row[0]), str(row[1]), str(row[2])))
Etapa 3: Atualizar dados
O exemplo de código a seguir usa a função cursor.execute com a instrução SQL UPDATE para atualizar dados.
# Update a data row in the table
cursor.execute("UPDATE inventory SET quantity = %s WHERE name = %s;", (200, "banana"))
print("Updated 1 row of data")
Etapa 5: Excluir dados
O exemplo de código a seguir executa a função cursor.execute com a instrução SQL DELETE para excluir um item do estoque inserido anteriormente.
# Delete data row from table
cursor.execute("DELETE FROM inventory WHERE name = %s;", ("orange",))
print("Deleted 1 row of data")
Limpar os recursos
Para limpar todos os recursos usados durante este guia de início rápido, exclua o grupo de recursos usando o seguinte comando:
az group delete \
--name $AZ_RESOURCE_GROUP \
--yes