Guia de início rápido: usar Python para 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á no caminho da desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único PostgreSQL?.

Neste início rápido, você aprenderá como se conectar ao banco de dados no Banco de Dados do Azure para PostgreSQL Single Server e executar instruções SQL para consultar usando Python no macOS, Ubuntu Linux ou Windows.

Gorjeta

Se você está procurando construir um aplicativo Django com PostgreSQL, em seguida, confira o tutorial, Implantar um aplicativo web Django com PostgreSQL tutorial.

Pré-requisitos

Para este guia de início rápido, você precisa:

  • Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.

  • Criar um Banco de Dados do Azure para servidor único PostgreSQL usando o portal do Azure
    ou CLI do Azure, se você não tiver uma.

  • Com base no fato de você estar usando acesso público ou privado, conclua UMA das ações abaixo para habilitar a conectividade.

    Ação Método de conectividade Manual de instruções
    Configurar as regras de firewall Público Portal
    CLI
    Configurar o ponto de extremidade do serviço Público Portal
    CLI
    Configurar link privado Privado Portal
    CLI
  • Python 2.7 ou 3.6+.

  • Instalador de pacote pip mais recente.

  • Instale psycopg2 usando pip install psycopg2-binary em um terminal ou janela de prompt de comando. Para obter mais informações, consulte como instalar psycopg2o .

Obter informações de conexão de banco de dados

A conexão a um banco de dados do 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 seu Banco de Dados do Azure para o nome do servidor PostgreSQL.

  2. Na página Visão geral do servidor, copie o nome do servidor totalmente qualificado e o nome de usuário Admin. O nome do servidor totalmente qualificado é sempre do formato< my-server-name.postgres.database.azure.com>, e o nome de usuário Admin é sempre do formato< my-admin-username>@<my-server-name.>

    Você também precisa de sua senha de administrador. Se o esquecer, pode redefini-lo a partir desta página.

    Nome do servidor da Base de Dados do Azure para PostgreSQL

Importante

Substitua os seguintes valores:

  • <server-name> e <admin-username> com os valores copiados do portal do Azure.
  • <admin-password> com a palavra-passe do servidor.
  • <database-name> Um banco de dados padrão chamado Postgres foi criado automaticamente quando você criou seu servidor. Você pode renomear esse banco de dados ou criar um novo banco de dados usando comandos SQL.

Etapa 1: Conectar e inserir dados

O exemplo de código a seguir se conecta ao seu Banco de Dados do Azure para banco de dados 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 da linha de comandos

Passo 2: Ler dados

O exemplo de código a seguir se conecta ao seu banco de dados do Azure para PostgreSQL e usa


# 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 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 cursor.execute com a instrução SQL DELETE para excluir um item de inventário que você inseriu anteriormente.


# Delete data row from table

cursor.execute("DELETE FROM inventory WHERE name = %s;", ("orange",))
print("Deleted 1 row of data")

Clean up resources (Limpar recursos)

Para limpar todos os recursos usados durante este início rápido, exclua o grupo de recursos usando o seguinte comando:

az group delete \
    --name $AZ_RESOURCE_GROUP \
    --yes

Próximos passos