Postgres initdb执行时如何设置生成的postgresql.conf中logging_collector=on
解决方案
有两种完全符合要求的实现方法,不需要后续手动修改配置,也不用额外加启动参数:
方法1(适用于PostgreSQL 11及以上版本)
initdb从11版本开始原生支持-c/--config-set参数,可以直接指定要写入配置文件的参数值,执行命令如下:
initdb -D 你的数据目录路径 -c logging_collector=on
初始化完成后,生成的postgresql.conf末尾会自动追加logging_collector = on的生效配置,优先级高于文件上方默认注释的同名配置项。
方法2(全版本通用)
你可以提前准备一个包含自定义配置的临时文件,比如命名为custom_pg.conf,内容写你要设置的参数:
logging_collector = on
执行initdb的时候加上--postgresql-conf参数指定这个文件:
initdb -D 你的数据目录路径 --postgresql-conf=./custom_pg.conf
initdb会自动把这个临时文件里的所有配置追加到最终生成的postgresql.conf末尾,直接生效。
内容的提问来源于stack exchange,提问作者mark d drake
相关产品推荐
相关产品推荐

