PostgreSQL як увімкнути логування бази даних - logging_collector
Колеги всім привіт.
У сьогоднішній статті ми поговоримо про те, як включити логування в базі даних PostgreSQL. За логування в Postgresql відповідає фоновий процес який збирає різну інформацію про роботу бази даних і записує цю інформацію кудись. Інформація може бути абсолютно різною, різні помилки, спроби авторизації клієнтів і т. д. Після встановлення СУБД і створення самої бази даних процес логування в базі даних за умовчанням вимкнено.
Завантажити та встановити Postgresql 14 на Linux CentOS/RHEL 8/7 TAR
Зміст статті:
- Перевірка чи включено логування.
- Створення директорії для журналу журналів.
- Включаємо логування.
- Перевірка.
1. Перевірка чи включено логування.
Для того щоб перевірити чи увімкнено логування в базі даних можна скористатися двома запитами.
sql> SELECT name, setting FROM pg_settings WHERE name = 'logging_collector';
sql> SHOW logging_collector;
Як бачимо на скріншотах значення змінної logging_collector одно off, це означає, що логування не ведеться в базі даних.
2. Створення директорії для журналу журналів.
Створюйте директорію для лог файлів недалеко від самої бази даних. У мене база даних знаходиться у директорії /app/postgresql/pgdatabase/data, і я створю тут директорію для лог файлів з ім'ям log.
$. mkdir -p /app/postgresql/pgdatabase/data/log
Обов'язково створюйте директорію під обліковий запис 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'
Обов'язково перезапустіть базу даних.
4. Перевірка.
Тепер давайте все перевіримо, виконуємо запити.
sql> SELECT name, setting FROM pg_settings WHERE name = 'logging_collector';
sql> SHOW logging_collector;
Логування увімкнено.
Можна ще перевірити, які процеси працюють пов'язані з базою даних PostgreSQL.
За логування відповідають процеси logger та stats collector. Якщо логування не включене, цих процесів не буде.
Після включення логування у нашій директорії з'явився перший лог файл.
Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.