Журнал роботи в postgresql (лирование в postgresql)

При роботі з ORM-системами (або чужими программи) іноді буває корисно зрозуміти, які саме запити приходять на сервер. За замовчуванням журнал SQL-запитів в PostgreSQL відключено. Для включення необхідно в файлі /etc/postgresql/8.3/main/postgresql.conf задати наступне (змінивши значення ключів за замовчуванням):


debug_pretty_print = on
log_statement = 'all'

Можливі наступні значення параметра:

  • none журнал відключено;
  • ddl - команди визначення даних (створення БД, таблиць, користувачів і т.п.);
  • mod - все що пов'язано з модифікацією даних (включаючи DDL-команди);
  • all - в журнал записується абсолютно все спілкування сервера з клієнтами.

Щоб використати нові установки в дію потрібно запустити команду:
$ / Etc / init.d / postgresql-8.3 reload
Reloading PostgreSQL 8.3 database server: main.
$

Після цього, можна подивитися журнал у файлі /var/log/postgresql/postgrsql-8.3-main.log. Для просмтора журналів зручно використовувати команду tail. Наступний приклад виводить останні 20 рядків і оновлює висновок раз в секунду (вихід ctrl + c):
sudo tail -f /var/log/postgresql/postgresql-8.3-main.log

Журнали мають тенденцію розбухати. А великі журнали гальмують роботу програми. Тому рекомендую налаштувати наступні параметри:

  • log_destination куди зберігати інформацію;
  • logging_collector - включає розширену підтримку зберігання журналів;
  • log_directory - каталог для збереження журналів;
  • log_filename - шаблон імені файлу журналу;
  • log_rotation_age - максимальний час життя файлу журналу. За його досягненню буде розпочато новий файл;
  • log_rotation_size - розмір файлу, по досягненню якого буде розпочато запис в новий файл.

Приклад налаштувань:

log_destination = 'stderr'
logging_collector = on
log_directory = '/ var / log / postgresql /'
log_filename = 'postgresql-% Y-% m -._% H% M% S.log'
log_rotation_age = 1d

Детальніше про систему журналирования можна прочитати в розділі 18.7. Error Reporting and Logging з документації PostgreSQL 8.3.

Схожі статті