Перейти к содержанию

Прямое подключение к БД

ПлатформаLogfireпозволяет подключать данные и запускать SQL-запросы с помощью синтаксиса PostgreSQL.

При этом вы можете подключить существующие инструменты, такие как Grafana, метабаза, Superset или любые другие инструменты, которые поддерживают запросы к источнику PostgreSQL.

Создание учетных данных

Чтобы подключиться, сначала необходимо создать учетные данные базы данных на странице проекта с адресом https://logfire.pydantic.dev/<organization>/<project>/settings/database-credentials

Создание базы данных Credentials

Полученные учетные данные-это PostgreSQL URI, который может использоваться в качестве строки подключения для совместимых инструментов. Они отображаются только один раз на платформе Logfire, поэтому сохраните их в безопасном месте для использования в будущем!

Подключиться к базе данных

Как упоминалось ранее, вы можете подключиться к базе данных с помощью любого инструмента, поддерживающего подключение PostgreSQL, используя сгенерированные учетные данные.

Использование pgcli

pgcli Это инструмент командной строки для доступа к базе данных PostgreSQL.

Используя учетные данные, сгенерированные на предыдущем шаге в качестве аргумента pgcli, вы можете напрямую подключиться к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

Использование psycopg

psycopg Это библиотека Python, которая позволяет подключиться к базе данных PostgreSQL.

Вы можете подключиться кLogfireс помощью учетных данных, сгенерированных на предыдущем шаге:

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}')

Установите переменную среды export POSTGRES_URI=... в URI, сгенерированный на предыдущем этапе, и выполните сценарий с помощью 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

Благодаря гибкому доступу к функциям PostgreSQL, мы не можем дождаться, чтобы узнать, как вы используетеLogfire!: Пожар:


本文总阅读量次