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
    CLI
    Configurar Ponto de Extremidade de Serviço Público Portal
    CLI
    Configurar link privado Privados Portal
    CLI
  • Python 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 instalar psycopg2.

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.

  1. No portal do Azure, procure e selecione o nome do servidor do Banco de Dados do Azure para PostgreSQL.

  2. 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.

    Nome do servidor do Banco de Dados do Azure para PostgreSQL

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

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:

Saída de linha de comando

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

Próximas etapas