@tiqq

Postgresql — как включить логирование запросов?

Здравствуйте. Стоит ubuntu 16.04. Пытаюсь включить логирование запросов как описано тут. После проделанных шагов там написано искать логи здесь "/var/lib/pgsql/9.6/data/pg_log/", но у меня нет папки pgsql, но есть postgresql, в папке 9.6 нет папки data, есть лишь папка main, но в папке main тоже нет никакой папки data и папки pg_log нет. На всякий скрин содержимого папки main прилагается. Вопрос - где искать логи? 5bc87466861b0602660685.png
  • Вопрос задан
  • 5146 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
rpm-based (redhat, centos) и deb-based (debian, ubuntu) ставят postgresql разным образом. Поэтому детали различаются.

PGDATA вида /var/lib/pgsql/9.6/data/ характерен для centos. Конфиг базы при этом лежит здесь же.
ubuntu кластер по умолчанию кладут в /var/lib/postgresql/9.6/main/
Логи в ubuntu по умолчанию будут писаться в /var/log/postgresql/postgresql-9.6-main.log , а конфиг - в /etc/postgresql/9.6/main/postgresql.conf

В общем-то, вопроса тут два:
найти куда пишутся логи базы либо изменить настройки, чтобы логи писались туда куда вы хотите. Это никак не связано с включением логирования запросов, это где логи в целом. Если у вас причина менять настройки места логирования - то вы уже должны представлять зачем.
включить логированиие запросов: настройка log_min_duration_statement позволяющий логировать запросы дольше указанного времени (0 - все запросы) или log_statement, логирующая всё указанного типа (например, все DDL)

При том практика centos писать логи в каталог базы в некотором отношении порочна: эти логи будут попадать в pg_basebackup, где им делать в общем-то совершенно нечего и незачем.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы