Aller au contenu

Connexion directe à une base de données

La plate-formeLogfirevous permet de connecter des données et d'exécuter des requêtes SQL en utilisant la syntaxe PostgreSQL.

En faisant cela, vous pouvez connecter des outils existants tels que Grafana, Metabase, Superset ou tout autre outil prenant en charge l'interrogation des sources PostgreSQL ™.

Générer des Credential

Pour vous connecter, vous devez d'abord générer des informations d'identification de base de données à partir de la page du projet à l'adresse WEB https://logfire.pydantic.dev/<organization>/<project>/settings/database-credentials

Création de crédits de base

Les informations d'identification générées sont un URI PostgreSQL qui peut être utilisé comme une chaîne de connexion pour les outils compatibles. ceux-ci ne seront affichés qu 'une seule fois par la plate-forme Logfire, alors sauvegardez-les dans un emplacement sûr pour une utilisation future!

Connexion à une base de données

Comme mentionné précédemment, vous pouvez utiliser les informations d'identification générées pour vous connecter à la base de données via n'importe quel outil prenant en charge la connectivité PostgreSQL.

Utilisation de pgcli

pgcli Est un outil de ligne de commande pour accéder à une base de données PostgreSQL.

En utilisant les informations d'identification générées à l'étape précédente comme paramètre de pgcli, vous pouvez vous connecter directement àLogfire:

$ pgcli postgresql://<user>:<password>@db.logfire.dev:5432/proj_david-test  # REDACTED
Version: 4.0.1
Home: http://pgcli.com
proj_david-test> select start_timestamp, message from records limit 10;
+-------------------------------+----------------------------------------+
| start_timestamp               | message                                |
|-------------------------------+----------------------------------------|
| 2024-04-28 10:50:41.681886+00 | action=view-faq size=549 i=0           |
| 2024-04-28 10:50:41.711747+00 | GET /contact/ http send response.body  |
| 2024-04-28 10:50:41.665576+00 | GET /contact/                          |
| 2024-04-28 10:50:41.711119+00 | GET /contact/ http send response.start |
| 2024-04-28 10:50:41.709458+00 | response 500                           |
| 2024-04-28 10:50:38.505343+00 | action=view-cart size=517 i=0          |
| 2024-04-28 10:50:39.446668+00 | action=view-faq size=637 i=2           |
| 2024-04-28 10:50:38.681198+00 | action=view-terms size=216 i=3         |
| 2024-04-28 10:50:39.416706+00 | action=view-product size=380 i=0       |
| 2024-04-28 10:50:38.394237+00 | sub-sub-sub-action=logout              |
+-------------------------------+----------------------------------------+
SELECT 10
Time: 0.218s

Utilisation de psycopg

psycopg est une bibliothèque Python qui permet de se connecter à une base de données PostgreSQL.

Vous pouvez vous connecter àLogfireen utilisant le certificat généré à l'étape précédente:

main.py
import os

import psycopg

POSTGRES_URI = os.getenv('POSTGRES_URI')

with psycopg.connect(POSTGRES_URI) as conn:
    cursor = conn.cursor()
    cursor.execute('SELECT start_timestamp, message FROM records LIMIT 10')
    for start_timestamp, message in cursor.fetchall():
        print(f'{start_timestamp}: {message}')

Définissez la variable d'environnement export POSTGRES_URI=... sur l'URI généré à l'étape précédente et exécutez le script avec python main.py:

2024-04-28 10:50:41.681886+00: action=view-faq size=549 i=0
2024-04-28 10:50:41.711747+00: GET /contact/ http send response.body
2024-04-28 10:50:41.665576+00: GET /contact/
2024-04-28 10:50:41.711119+00: GET /contact/ http send response.start
2024-04-28 10:50:41.709458+00: response 500
2024-04-28 10:50:38.505343+00: action=view-cart size=517 i=0
2024-04-28 10:50:39.446668+00: action=view-faq size=637 i=2
2024-04-28 10:50:38.681198+00: action=view-terms size=216 i=3
2024-04-28 10:50:39.416706+00: action=view-product size=380 i=0
2024-04-28 10:50:38.394237+00: sub-sub-sub-action=logout

Avec les fonctionnalités que vous pouvez accéder de manière flexible à PostgreSQL ™, nous sommes impatients de savoir comment vous pouvez utiliserLogfire!: Fire:


本文总阅读量次