Goodlabour.ru (main) Index TheGame

TheGame:
GameScenario - Пт 06 июн 2025
thegame_keydb_php - Пт 06 июн 2025
The game scene(godot) - Пт 06 июн 2025
autopub - Пт 06 июн 2025
Remove Duplicates - Пт 06 июн 2025 22:11:05 MSK
Status Auto Update - Сб 07 июн 2025 18:10:33 MSK
KeyDB Status Control - 07.06.2025 18:55
EngineeringApproachВт 10 июн 2025 10:09:40 MSK
Последние:
BooksNetworkSecurityВт 10 июн 2025 12:06:13 MSK
platformВс 15 июн 2025 23:50:39 MSK
PostgreqGuru-1Пт 20 июн 2025 11:08:56 MSK
ErusevParsedownReadmeПт 20 июн 2025 11:21:28 MSK
file_descriptorsПт 17 окт 2025 18:26:39 MSK

Вот как получить список последних действий в PostgreSQL через CLI:

1. Просмотр текущих активных запросов

sudo -u postgres psql -c "SELECT pid, usename, application_name, query_start, query FROM pg_stat_activity WHERE state = 'active' ORDER BY query_start DESC;"

2. История выполненных запросов (требует настройки логирования)

# Просмотр лог-файла (путь уточните в конфиге)
sudo tail -n 50 /var/log/postgresql/postgresql-14-main.log

# Или с фильтрацией по времени:
sudo grep "statement:" /var/log/postgresql/postgresql-14-main.log | tail -n 20

3. Расширенный мониторинг (с временем выполнения)

sudo -u postgres psql -c "SELECT now() - query_start as runtime, usename, query FROM pg_stat_activity WHERE state = 'active' AND query NOT LIKE '%pg_stat_activity%' ORDER BY runtime DESC;"

4. Настройка логирования (если не включено)

Добавьте в postgresql.conf:

log_statement = 'all'  # или 'mod' для только изменяющих запросов
log_duration = on
logging_collector = on

Затем перезапустите PostgreSQL:

sudo systemctl restart postgresql

5. Альтернатива через pgBadger (визуализация)

# Установка
sudo apt install pgbadger

# Генерация отчета
pgbadger /var/log/postgresql/postgresql-14-main.log -o report.html

6. Просмотр последних транзакций

sudo -u postgres psql -c "SELECT xact_start, usename, query FROM pg_stat_activity WHERE xact_start IS NOT NULL ORDER BY xact_start DESC LIMIT 10;"

7. Мониторинг в реальном времени

Установите pg_top:

sudo apt install pgtop
sudo pg_top -U postgres

Важные нюансы:

  1. Для доступа к логам нужны права sudo
  2. Путь к логам может отличаться (/var/lib/postgresql/...)
  3. В production-окружении избегайте log_statement = 'all'
  4. Для Cloud-версий PostgreSQL используйте панель мониторинга провайдера

Пример вывода активных запросов:

  pid  | usename  |   application_name    |          query_start          |                           query
-------+----------+-----------------------+-------------------------------+-----------------------------------------------------------
 19456 | api_user | psql                  | 2024-03-20 14:05:42.123456+00 | SELECT * FROM users WHERE email = 'test@example.com';

Для постоянного мониторинга лучше использовать специализированные инструменты типа: