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
Читати далі