如何重新加载PostgreSQL配置

nxagd54h  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(2)|浏览(367)

我试图通过设置此标志来启用PostgreSQL中的事务日志,其中查询运行时间超过3秒

log_min_duration_statement = 3000

如何在不重启Postgres的情况下重新加载配置文件?
我已经尝试了下面的选项,并得到这些错误

1) postgres=# select pg_reload_config();
**ERROR:  function pg_reload_config() does not exist**
LINE 1: select pg_reload_config();
2) postgres@ospostgresql:/$ /usr/lib/postgresql/11/bin/pg_ctl reload
pg_ctl: no database directory specified and environment variable PGDATA unset
Try "pg_ctl --help" for more information.
fd3cxomn

fd3cxomn1#

感谢a_horse_with_no_name帮助识别导致issue-1的错别字

1) postgres=# select pg_reload_config();
**ERROR:  function pg_reload_config() does not exist**
**-->** This is resolved by giving correct function name i.e. 
    select pg_reload_conf();

2) postgres@ospostgresql:/$ /usr/lib/postgresql/11/bin/pg_ctl reload
pg_ctl: no database directory specified and environment variable PGDATA unset
Try "pg_ctl --help" for more information.
**-->** This error is resolved by changing the user to postgres
    1) su postgres
    2) /usr/lib/postgresql/11/bin/pg_ctl -D /var/lib/postgresql/11/main reload
m4pnthwp

m4pnthwp2#

上面的答案显示了两种方法来实现这一点,但我发现有三种不同的方法来加载PostgreSQL配置。显然systemctl reload postgresql也可以使用。
参考:https://www.heatware.net/postgresql/postgresql-reload-config-without-restarting/

相关问题