Direkte Datenbank Verbindung¶
DieLogfire-Plattform ermöglicht es Ihnen, Daten mithilfe der PostgreSQL-Syntax zu verbinden und SQL-Abfragen auszuführen.
Damit können Sie vorhandene Tools wie Grafana, Metabase, Superset oder jedes andere Tool, das das Abfragen von PostgreSQL-Quellen unterstützt, miteinander verbinden.
Beweis erzeugen.¶
Um eine Verbindung herzustellen, müssen Sie zuerst die Datenbankanmeldeinformationen von der Projektseite auf der folgenden URL generieren: https://logfire.pydantic.dev/<organization>/<project>/settings/database-credentials
Die generierten Anmeldeinformationen sind eine PostgreSQL-URI, die als Verbindungszeichenfolge für Kompatibilitätstools verwendet werden kann Diese werden von der Logfire-Plattform nur einmal angezeigt, speichern Sie sie also für die zukünftige Verwendung an einem sicheren Ort.
Verbindung zur Datenbank.¶
Wie bereits erwähnt, können Sie die generierten Anmeldeinformationen verwenden, um mit jedem Tool, das PostgreSQL-Verbindungen unterstützt, eine Verbindung mit der Datenbank herzustellen.
Verwendung pgcli¶
pgcli Ist ein Befehlszeilenprogramm für den Zugriff auf eine PostgreSQL-Datenbank.
Mit den im vorherigen Schritt generierten Anmeldeinformationen als Parameter für pgcli können Sie sich direkt mitLogfireverbinden:
$ 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
Verwenden psycopg¶
psycopg Ist eine Python-Bibliothek, mit der Sie eine Verbindung zu einer PostgreSQL-Datenbank herstellen können.
Sie können sich mitLogfiremit den im vorherigen Schritt generierten Zertifikaten verbinden:
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}')
Setzen Sie die Umgebungsvariable export POSTGRES_URI=... auf den im vorherigen Schritt generierten URI und führen Sie das Skript mit python main.py aus:
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
Mit dem flexiblen Zugriff auf PostgreSQL-Funktionen können wir es kaum erwarten zu hören, wie SieLogfireverwenden!:
本文总阅读量次
