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
CLIConfigurar o ponto de extremidade do serviço Público Portal
CLIConfigurar link privado Privado Portal
CLIPython 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 instalarpsycopg2
o .
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.
No portal do Azure, procure e selecione seu Banco de Dados do Azure para o nome do servidor PostgreSQL.
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.
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
- 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:
Passo 2: Ler dados
O exemplo de código a seguir se conecta ao seu banco de dados do Azure para PostgreSQL e usa
- cursor.execute com a instrução SQL SELECT para ler dados.
- cursor.fetchall() aceita uma consulta e retorna um conjunto de resultados para iterar 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 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