PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да регистрирате заявки в PostgreSQL

  • Намиране на конфигурационния файл
    • Намерете пътя към директорията с данни
  • Конфигуриране на 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 чрез промяна само на няколко конфигурационни настройки.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на pg_dump за получаване само на изрази за вмъкване от една таблица в базата данни

  2. Django cache.set() причинява грешка при дублиран ключ

  3. Как да декодирате PostgreSQL bytea колона шестнадесетичен към int16/uint16 в r?

  4. Конкатениране на низ и число в PostgreSQL

  5. Скорост на съкращаване на Postgresql