PostgreSQL как включить логирование базы данных - logging_collector

PostgreSQL как включить логирование базы данных - logging_collector

Коллеги всем привет.

В сегодняшней статье мы поговорим о том как включить логирования в базе данных PostgreSQL. За логирования в Postgresql отвечает фоновый процесс который собирает различную информацию о роботе базы данных и записывает эту информацию куда-нибудь. Информация может быть абсолютно разной, различные ошибки, попытки авторизации клиентов и т. д. После установки СУБД и создания самой базы данных процесс логирования в базе данных по умолчанию выключен.

Скачать и установить Postgresql 14 на Linux CentOS/RHEL 8/7 TAR

Содержание статьи:

  1. Проверка включено ли логирования.
  2. Создания директории для лог журналов.
  3. Включаем логирования.
  4. Проверка.

 

1. Проверка включено ли логирования.

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

sql> SELECT name, setting FROM pg_settings WHERE name = 'logging_collector';

postgresql_logging

 

sql> SHOW logging_collector;

postgresql_logging

 

Как видим на скриншотах значения переменной logging_collector равно off, это значит что логирования не ведется в базе данных.


 

2. Создания директории для лог журналов.

Создавайте директорию для лог файлов недалеко от самой базы данных. У меня база данных находится в директории /app/postgresql/pgdatabase/data, и я создам здесь директорию для лог файлов с именем log.

$. mkdir -p /app/postgresql/pgdatabase/data/log

postgresql_logging

Обязательно создавайте директорию из под учетной записи postgres.


 

3. Включаем логирования.

Чтобы нам включить логирования нам необходимо изменить значения переменной logging_collector в основном конфигурационном файле базе данных который называться postgresql.conf.

Находим переменную logging_collector и меняем значения с off на on.

Находим переменную log_directory и устанавливаем значения '/app/postgresql/pgdatabase/data/log'. Переменная отвечает за то где у нас будут храниться все лог файлы.

Находим переменную log_filename и устанавливаем значения 'postgresql-%Y-%m-%d.log'. Переменная отвечает за то как у нас будут называться лог файлы.

logging_collector = on
log_directory = '/app/postgresql/pgdatabase/data/log'
log_filename = 'postgresql-%Y-%m-%d.log'

postgresql_logging

Обязательно перезапустите базу данных.


 

4. Проверка.

Теперь давайте все проверим, выполняем запросы.

sql> SELECT name, setting FROM pg_settings WHERE name = 'logging_collector';

postgresql_logging

sql> SHOW logging_collector;

postgresql_logging

Логирования включено.

 

Можно еще проверить какие процессы работают связанные с базой данных PostgreSQL.

postgresql_logging

За логирования отвечают процессы logger и stats collector. Если логирования не включено, то этих процессов не будет.

 

После включения логирования у нас в директории появился первый лог файл.

postgresql_logging


 

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

ПОХОЖИЕ СТАТЬИ

PostgreSQL - Как определить к каким файлам на диске соответствуют таблицы в базе данных
PostgreSQL - Как определить к каким файлам на диске соответствуют таблицы в базе данных
POSTGRESQL
Читать далее
PostgreSQL - Как узнать размер таблиц в базе данных
PostgreSQL - Как узнать размер таблиц в базе данных
POSTGRESQL
Читать далее
PostgreSQL - Как проверить привилегии пользователя
PostgreSQL - Как проверить привилегии пользователя
POSTGRESQL
Читать далее