postgres:如何开启日志记录?

时间:2018-01-27 16:36:14

标签: postgresql logging

我按照How to log PostgreSQL queries?中的说明进行操作,但是日志记录收集器保持关闭状态。

    postgres=# show logging_collector;
    logging_collector
    -------------------
    off
    (1 row)

我的postgresql.conf文件看起来像这样:

    listen_addresses = '*'
    tcpip_socket = true
    log_statement = 'all'
    log_connections = yes
    log_destination = 'syslog'
    logging_collector = on
    log_directory = '/var/log/pg_log'
    log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
    log_truncate_on_rotation = true
    log_rotation_age = 1440
    client_min_messages = LOG
    log_min_messages = INFO
    log_min_error_statement = DEBUG5
    log_min_duration_statement = 0

1 个答案:

答案 0 :(得分:0)

通常足够

pg_reload_config()

重新阅读postgres.conf

https://www.postgresql.org/docs/current/static/functions-admin.html

  

pg_reload_conf()导致服务器进程重新加载它们   配置文件

但:

t=# select name,setting,unit,source,context from pg_settings where name = 'logging_collector';
       name        | setting | unit |       source       |  context
-------------------+---------+------+--------------------+------------
 logging_collector | on      |      | configuration file | postmaster
(1 row)

https://www.postgresql.org/docs/current/static/view-pg-settings.html

  

postmaster这些设置只能在服务器启动时应用,   所以任何更改都需要重新启动服务器。这些的价值观   设置通常存储在postgresql.conf文件中,或者传递   在启动服务器时在命令行上。当然,设置   任何较低的上下文类型也可以在服务器启动时设置。

所以这意味着您必须重新启动群集