如何在 postgresql 9.4 中更改日志目录位置?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/35903046/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-21 02:11:45  来源:igfitidea点击:

How to change log directory location in postgresql 9.4?

databasepostgresqllogging

提问by John doe

my current log_directory path is

我当前的 log_directory 路径是

**/opt/demo/PostgreSQL/9.4/data/pg_log**

I'm trying to change the log directory path to

我正在尝试将日志目录路径更改为

**/logs/demo/**

The server won't start when i uncomment the log path and it starts only when its default.

当我取消对日志路径的注释时,服务器不会启动,并且仅在其默认值时启动。

The postgresql.conffile looks like

postgresql.conf中文件看起来像

# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------

# - Where to Log -

log_destination = 'stderr'         # Valid values are combinations of
                                  # stderr, csvlog, syslog, and eventlog,
# This is used when logging to stderr:
logging_collector = on
# These are only used if logging_collector is on:
#log_directory = '/logs/etbos/demo/'  #directorywherelogfiles are written
#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'  # log file name pattern,


# These are relevant when logging to syslog:
#syslog_facility = 'LOCAL0'
#syslog_ident = 'postgres'

# This is only relevant when logging to eventlog (win32):
#event_source = 'PostgreSQL'

采纳答案by jdabrowski

So this is what I supposed :) You need to grant permissions to the new log directory to postgres user.

所以这就是我的想法:) 您需要向 postgres 用户授予对新日志目录的权限。

You can do this using f.e.:

你可以使用 fe 来做到这一点:

sudo chown postgres:postgres /your/new/log/dir/path

Answering your other question:

回答你的另一个问题:

To allow TCP/IP connections from remote hosts you need to edit pg_hba.conffile. You can allow ALLTCP/IP connections by adding a line like this:

要允许来自远程主机的 TCP/IP 连接,您需要编辑pg_hba.conf文件。您可以通过添加如下一行来允许所有TCP/IP 连接:

host  all  all   0.0.0.0/32  md5

There are five parameters above, you can read about them in the pg_hba.conf file in the comments at the top of the file, but in short they mean:

上面有五个参数,你可以在 pg_hba.conf 文件顶部的注释中阅读它们,但简而言之,它们的意思是:

[connection_type] [database_name] [user_name] [remote_ip/mask] [auth_type]