AIDE PYTHON

psycopg2 (Comment ça marche pour les développeurs)

Publié août 13, 2024
Partager:

Lespsycopg2 est un adaptateur de base de données PostgreSQL populaire pour le langage de programmation Python. Il est connu pour son efficacité, sa sécurité des threads et son implémentation complète de la spécification Python DB API 2.0. Explorons ses fonctionnalités et voyons quelques exemples de code. Plus loin dans cet article, nous aborderons les sujets suivantsIronPDF, une bibliothèque de génération de PDF deIron Software.

Introduction

Psycopg2 est conçu pour être efficace et sûr, ce qui le rend adapté aux applications fortement multithreadées. Voici quelques-unes de ses principales caractéristiques :

  • Sécurité des threads : Plusieurs threads peuvent partager la même connexion, ce qui permet de gérer des applications multi-threads qui créent et détruisent de nombreux curseurs.
  • Curseurs côté client et côté serveur : Traitement efficace des grands ensembles de données.
  • Communication asynchrone et notifications : Prise en charge des opérations asynchrones.
  • Prise en charge deCOPY : Chargement efficace de données en vrac à l'aide des fonctions COPY TO et COPY FROM.
  • Système d'adaptation : Adaptation automatique des types Python aux types PostgreSQL ; le paquetage se transpose automatiquement aux types de données Postgresql correspondants.
  • Unicode et Python 3 Friendly : Prise en charge complète de l'Unicode et de Python 3.

Installation

Vous pouvez installerpsycopg2 en utilisant pip :

pip install psycopg2

Vous pouvez également utiliser localement setup.py du paquet source. Vous pouvez obtenir le paquet source à partir du dépôt de code sourceici:

python setup.py build
sudo python setup.py install
PYTHON

Pour un paquet autonome qui ne nécessite pas de compilateur ou de bibliothèques externes, vous pouvez utiliser le paquet psycopg2-binary :

pip install psycopg2-binary

Utilisation de base

Voici un exemple simple pour commencer à utiliser psycopg2.

Connexion à une base de données

Tout d'abord, vous devez vous connecter à votre base de données PostgreSQL :

import psycopg2
# Connect to your PostgreSQL database
conn = psycopg2.connect(
    dbname="your_dbname",
    user="your_username",
    password="your_password",
    host="your_host",
    port="your_port"
)
# Create a cursor object
cur = conn.cursor()
PYTHON

Exécution des requêtes

Vous pouvez exécuter des requêtes SQL à l'aide de l'objet curseur :

# Execute a query
cur.execute("SELECT * FROM your_table")
# Fetch all results
rows = cur.fetchall()
# Print the results
for row in rows:
    print(row)
PYTHON

Insérer des données

Voici comment insérer des données dans un tableau :

# Insert data into a table
cur.execute(
    "INSERT INTO your_table (column1, column2) VALUES (%s, %s)",
    ("value1", "value2")
)
# Commit the transaction
conn.commit()
PYTHON

Fermeture de la connexion

N'oubliez pas de fermer le curseur et la connexion lorsque vous avez terminé :

# Close the cursor and connection
cur.close()
conn.close()
PYTHON

Fonctionnalités avancées

Utilisation de COPY pour le chargement en masse

La commande COPY est utile pour charger des données en masse :

# Use COPY to load data from a file
with open('data.csv', 'r') as f:
    cur.copy_from(f, 'your_table', sep=',')
conn.commit()
PYTHON

Notifications asynchrones

Vous pouvez écouter les notifications asynchrones de la base de données :

# Listen for notifications
cur.execute("LISTEN your_channel")
# Wait for a notification
conn.poll()
while conn.notifies:
    notify = conn.notifies.pop(0)
    print("Got NOTIFY:", notify.payload)
PYTHON

Présentation d'IronPDF

psycopg2(Comment ça marche pour les développeurs) : Figure 1 - IronPDF for Python PDF Library (en anglais)

IronPDF est une puissante bibliothèque Python conçue pour créer, modifier et signer des PDF à l'aide de HTML, CSS, images et JavaScript. Il offre des performances de niveau commercial avec une faible empreinte mémoire. Les principales caractéristiques sont les suivantes :

Conversion de HTML en PDF:

Convertissez des fichiers HTML, des chaînes HTML et des URL en PDF. Par exemple, rendre une page web sous forme de PDF à l'aide du moteur de rendu PDF de Chrome.

Cross-Platform Support:

Compatible avec diverses plateformes .NET, notamment .NET Core, .NET Standard et .NET Framework. Il est compatible avec Windows, Linux et macOS.

Édition et signature:

Définissez des propriétés, renforcez la sécurité à l'aide de mots de passe et d'autorisations, et appliquez des signatures numériques à vos PDF.

Modèles de pages et paramètres:

Personnalisez les PDF avec des en-têtes, des pieds de page, des numéros de page et des marges réglables. Prend en charge les mises en page réactives et les formats de papier personnalisés.

Conformité aux normes:

Respecter les normes PDF telles que PDF/A et PDF/UA. Il prend en charge le codage des caractères UTF-8 et gère les ressources telles que les images, les feuilles de style CSS et les polices.

Générer des documents PDF en utilisant IronPDF et psycopg2

import psycopg2
from ironpdf import * 
# Apply your license key
License.LicenseKey = "Key"
# Connect to your local PostgreSQL database
conn = psycopg2.connect(
    dbname="demo",
    user="postgres",
    password="postgres",
    host="localhost",
    port="5432"
)
# Create a cursor object
cur = conn.cursor()
cur.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        age INTEGER
    )
''')
# Commit the transaction with connection object
conn.commit()
# Define the SQL statement for inserting data into the table
insert_query = '''
    INSERT INTO users (id, name, age)
    VALUES (%s, %s,%s)
'''
# Data to be inserted
userData1 = (1, 'John', 25)
# Execute the SQL command to insert data
cur.execute(insert_query, userData1)
# Data to be inserted
userData2 = (2, 'Smith', 35)
# Execute the SQL command to insert data
cur.execute(insert_query, userData2)
# Data to be inserted
userData3 = (3, 'Tom', 29)
# Execute the SQL command to insert data
cur.execute(insert_query, userData3)
# Commit the transaction
conn.commit()
# Execute a query
cur.execute("SELECT * FROM users")
# Fetch all results
rows = cur.fetchall() 
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with psycopg2</h1>"
content += "<p>table data</p>"
for row in rows:
    print(row)
    content += "<p>"+str(row)+"</p>"
# Close the cursor and connection
cur.close()
conn.close()
pdf = renderer.RenderHtmlAsPdf(content)
    # Export to a file or Stream
pdf.SaveAs("Demopsycopg2.pdf")
PYTHON

Explication du code

Le script démontre l'interaction avec une base de données PostgreSQL à l'aide de `psycopg2`, la manipulation de données(création, insertion, récupération)et l'intégration avec IronPDF pour la génération de documents.

  1. Connexion à la base de données : Se connecte à une base de données PostgreSQL locale nommée "demo" en utilisant `psycopg2`, en spécifiant les informations d'identification pour l'authentification de l'utilisateur et les détails de l'hôte de la base de données.

  2. Création de table : Définit et exécute une instruction SQL pour créer une table nommée "utilisateurs" si elle n'existe pas encore. La table a des colonnes \Nid\N(nombre entier, clé primaire), \Nname\N(texte, non nul), et `age`(entier).

  3. Insertion de données : Insère trois lignes de données dans la table "Utilisateurs" à l'aide de requêtes paramétrées(\N-userData1\N, \N-userData2\N, \N-userData3\N). Chaque tuple contient des valeurs pour \Nid\N, \Nname\N et \Nage\N.

  4. Gestion des transactions : La transaction est validée après la création d'une table et l'insertion de données afin de garantir que les modifications sont enregistrées dans la base de données.

  5. Récupération de données : Exécute une requête SELECT pour récupérer toutes les lignes(``SELECT FROM users`` (sélectionner des utilisateurs)) à partir de la table "Utilisateurs" et récupère les résultats(\N-rows\N- \N- \N).

  6. Génération de PDF : Utilise IronPDF pour générer un document PDF à partir d'un contenu HTML. Le contenu HTML comprend un titre et une représentation formatée des données extraites du tableau "Utilisateurs".

  7. Enregistrement du fichier : Enregistre le document PDF généré sous le nom de "Demopsycopg2.pdf" dans le répertoire actuel.

  8. Fermeture de la connexion : Cette fonction ferme le curseur de la base de données(\circuit) et la connexion à la base de données(\Nconnaissance) pour débloquer les ressources et assurer un nettoyage adéquat.

    Pour la gestion des exceptions, vous pouvez entourer le script d'un bloc try-catch afin de vous assurer que toutes les opérations d'erreur sont gérées en cas d'échec de l'une des requêtes ou de l'échec de la connexion.

Sortie

psycopg2(Comment ça marche pour les développeurs) : Figure 2 - Exemple de sortie de la console

PDF (EN ANGLAIS)

psycopg2(Comment ça marche pour les développeurs) : Figure 3 - Exemple de sortie utilisant psycopg2 pour stocker et récupérer des données tandis qu'IronPDF génère un rapport PDF

Licence d'IronPDF

IronPDF fonctionne avec la clé de licence Python. IronPDF for Python offre une clé de licence d'essai gratuite pour permettre aux utilisateurs de tester ses nombreuses fonctionnalités avant de l'acheter.

Placez la clé de licence au début du script avant d'utiliser le progiciel IronPDF :

from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
PYTHON

Conclusion

Psycopg2 est une bibliothèque puissante et flexible pour interagir avec les bases de données PostgreSQL en Python. Ses fonctionnalités complètes et sa conception efficace en font un excellent choix pour les opérations de base de données simples et complexes. IronPDF est un package et une bibliothèque Python robuste qui facilite la création, la manipulation et le rendu de documents PDF directement à partir d'applications Python. Il offre des fonctionnalités complètes pour générer des PDF à partir de contenu HTML, en s'intégrant de manière transparente aux technologies web existantes. Avec IronPDF, les développeurs peuvent automatiser efficacement la génération de rapports, de factures et d'autres documents, améliorant ainsi la productivité et l'expérience des utilisateurs. Ses capacités comprennent des formulaires PDF interactifs, l'extraction de texte, la fusion et la division de PDF, et l'ajout de fonctions de sécurité telles que la protection par mot de passe. La polyvalence et la facilité d'utilisation d'IronPDF en font un outil précieux pour les développeurs qui cherchent à mettre en œuvre des fonctionnalités de génération et de manipulation de PDF dans leurs projets Python.

< PRÉCÉDENT
sqlite3 Python (Comment ça marche pour les développeurs)
SUIVANT >
crc32c Python (Comment ça marche pour les développeurs)

Prêt à commencer ? Version : 2024.11.1 vient de paraître

Installation gratuite de pip Voir les licences > ;