- Намиране на конфигурационния файл
- Намерете пътя към директорията с данни
- Конфигуриране на PostgreSQL за генериране на изход на журнал
- Рестартирайте услугата PostgreSQL
- Проверка на генерирането на регистрационни файлове
Активирането на регистриране в PostgreSQL става доста лесно чрез промяна на шепа конфигурационни настройки и след това рестартиране на сървъра. Въпреки че тези настройки могат да се променят „в паметта“, като по този начин позволяват временно регистриране само за тази конкретна клиентска сесия, в този урок ще разгледаме как да конфигурираме postgres за постоянно създаване на итеративни регистрационни файлове за всички сесии и връзки.
Намиране на конфигурационния файл
Ако не сте сигурни къде се намира postgresql.conf
се намира конфигурационния файл, най-простият метод за намиране на местоположението е да се свържете с Postgres клиента (psql
) и издайте SHOW config_file;
команда:
postgres=# SHOW config_file;
config_file
------------------------------------------
/etc/postgresql/9.3/main/postgresql.conf
В този случай можем да видим пътя към postgresql.conf
файлът за този сървър е /etc/postgresql/9.3/main/postgresql.conf
. Сега просто отворете този файл с любимия си текстов редактор и можем да започнем да променяме настройките:
$ nano /etc/postgresql/9.3/main/postgresql.conf
Намерете пътя на директорията с данни
Също така е добра идея да потвърдите пътя на data
директория за вашата инсталация на postgres. Това ще бъде полезно по-късно, а извличането на пътя е въпрос на друго просто SHOW
изявление:
postgres=# SHOW data_directory;
data_directory
------------------------------
/var/lib/postgresql/9.3/main
При някои инсталации, конфигурационният файл и data
директорията ще бъде по същия път, докато в други (като този пример) те са различни. Така или иначе копирайте тези data
път към директорията за по-късна употреба.
Конфигуриране на PostgreSQL за генериране на изход на журнал
С postgresql.conf
отворете файл, превъртете надолу до ERROR REPORTING AND LOGGING
раздел и вероятно ще видите редица коментирани опции за конфигурация. Най-критичните от тези настройки са log_destination
и logging_collector
. По-долу са препоръчаните настройки, но не се колебайте да ги промените, за да отговарят на вашите собствени нужди:
#------------------------------------------------------------------------------
# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------
# - Where to Log -
log_destination = 'csvlog' # Valid values are combinations of
# stderr, csvlog, syslog, and eventlog,
# depending on platform. csvlog
# requires logging_collector to be on.
# This is used when logging to stderr:
logging_collector = on # Enable capturing of stderr and csvlog
# into log files. Required to be on for
# csvlogs.
# (change requires restart)
# These are only used if logging_collector is on:
log_directory = 'pg_log' # directory where log files are written,
# can be absolute or relative to PGDATA
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
# can include strftime() escapes
Тук казваме на postgres да генерира регистрационни файлове в CSV
формат и да ги изведе в pg_log
директория (в рамките на data
директория). Също така премахнахме коментарите на log_filename
настройка за създаване на някакво правилно име, включително времеви печати за регистрационните файлове.
Можете да намерите подробна информация за всички тези настройки в official documentation
.
Рестартирайте услугата PostgreSQL
Последната стъпка е да рестартирате услугата PostgreSQL, така че тези настройки, по-специално logging_collector
, ще влезе в сила. Извършването на рестартиране на postgres ще се различава от система до система, но обикновено за unix система командата ще изглежда така:
$ service postgresql restart
* Restarting PostgreSQL 9.3 database server [ OK ]
Проверка на генерирането на регистрационни файлове
След като системата бъде рестартирана, регистрирането трябва да започне незабавно. За да сте сигурни, че случаят е такъв, отидете до data/pg_log
директория на вашата инсталация на postgres. Не забравяйте, че грабнахме data
път към директорията по-рано, така че просто отидете до тази директория, като добавите /pg_log
до края, за да влезете в директорията на журнала:
$ cd /var/lib/postgresql/9.3/main/pg_log
Сега избройте файловете и трябва да видите, че е създаден регистрационен файл след предишното рестартиране на услугата:
$ ls -l
-rw------- 1 postgres postgres 935 Apr 13 20:30 postgresql-2016-04-13_203022.csv
Ето го; автоматично генерираните регистрационни файлове се активират с PostgreSQL чрез промяна само на няколко конфигурационни настройки.