Démarrage rapide : Utiliser Python afin de se connecter à Azure Database pour PostgreSQL et d’interroger les données – Serveur unique

S’APPLIQUE À : Azure Database pour PostgreSQL – Serveur unique

Important

Azure Database pour PostgreSQL - Serveur unique est en voie de mise hors service. Nous vous recommandons vivement de procéder à une mise à niveau vers un serveur flexible Azure Database pour PostgreSQL. Pour plus d’informations sur la migration vers le Serveur flexible Azure Database pour PostgreSQL, consultez l’article Qu’arrive-t-il au Serveur unique Azure Database pour PostgreSQL ?.

Ce guide de démarrage rapide vous explique comment vous connecter à la base de données sur un serveur unique Azure Database pour PostgreSQL et comment exécuter des instructions SQL pour interroger des données à l’aide de Python sur macOS, Ubuntu Linux ou Windows.

Conseil

Si vous envisagez de créer une application Django avec PostgreSQL, consultez le tutoriel Déployer une application web Django avec PostgreSQL.

Prérequis

Voici les prérequis pour ce guide de démarrage rapide :

Obtenir des informations de connexion à la base de données

La connexion d’une base de données Azure Database pour PostgreSQL nécessite un nom de serveur complet et des informations d’identification de connexion. Vous pouvez vous procurer ces informations à partir du portail Azure.

  1. Dans le portail Azure, cherchez et sélectionnez le nom de votre serveur Azure Database pour PostgreSQL.

  2. Sur la page Vue d’ensemble du serveur, copiez le nom du serveur complet et le nom d’utilisateur administrateur. Le nom de serveur complet a toujours la forme <nom_de_mon_serveur>.postgres.database.azure.com, et le nom d’utilisateur administrateur a toujours la forme <mon_nom_utilisateur_admin>@<nom_de_mon_serveur>.

    Vous avez aussi besoin de votre mot de passe d’administrateur. Si vous l’avez oublié, vous pouvez le réinitialiser à partir de cette page.

    Nom du serveur Azure Database pour PostgreSQL

Important

Remplacez les valeurs suivantes :

  • <server-name> et <admin-username> par les valeurs copiées à partir du portail Azure.
  • <admin-password> avec votre mot de passe du serveur.
  • <database-name> Une base de données par défaut nommée postgres a été automatiquement créée lorsque vous avez créé votre serveur. Vous pouvez renommer cette base de données ou créer une autre base de données en utilisant des commandes SQL.

Étape 1 : Vous connecter et insérer des données

L’exemple de code suivant se connecte à votre base de données Azure Database pour PostgreSQL à l’aide de

  • la fonction psycopg2.connect, puis il charge les données en utilisant une instruction SQL INSERT.
  • La fonction cursor.execute exécute la requête SQL sur la base de données.
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()

Lorsque le code est exécuté correctement, il produit le résultat suivant :

Sortie de la ligne de commande

Étape 2 : Lire les données

L’exemple de code suivant se connecte à votre base de données Azure Database pour PostgreSQL et utilise

  • cursor.execute avec l’instruction SQL SELECT pour lire les données.
  • cursor.fetchall() accepte une requête et retourne un jeu de résultats pour itérer dessus

# 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])))

Étape 3 : Mettre à jour des données

L’exemple de code suivant utilise cursor.execute avec l’instruction SQL UPDATE pour mettre à jour les données.


# 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")

Étape 5 : Suppression de données

L’exemple de code suivant exécute cursor.execute avec l’instruction SQL DELETE pour supprimer un élément d’inventaire que vous aviez précédemment inséré.


# Delete data row from table

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

Nettoyer les ressources

Pour nettoyer toutes les ressources utilisées dans le cadre de ce guide de démarrage rapide, supprimez le groupe de ressources à l’aide de la commande suivante :

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

Étapes suivantes