include
是一个配置文件指令,用于指定要包含在 postgresql.conf 中的另一个配置文件的名称。
include
是在 PostgreSQL 8.2 中添加的。
用法
指定的 文件可以相对于当前配置文件,也可以是绝对文件路径。
如果指定的文件不存在,则在运行的服务器上重新加载 PostgreSQL 配置将失败,并且将保留现有配置。如果尝试启动或重新启动服务器,操作将失败。使用 include_if_exists 以确保缺少的配置文件不会导致此类错误。
更改历史记录
- PostgreSQL 8.2
- 添加 (提交 5b8ac710)
示例
在 postgresql.conf
中的示例用法
# server-specific configuration files include 'postgresql.replication.conf' include 'postgresql.local.conf'
如果指定的文件不存在,则在重新加载配置时,日志中将发出类似以下内容的条目
[2022-08-02 12:19:59 UTC] LOG: 00000: received SIGHUP, reloading configuration files [2022-08-02 12:19:59 UTC] LOG: 58P01: could not open configuration file "/var/lib/pgsql/data/foo.conf": No such file or directory [2022-08-02 12:19:59 UTC] LOG: F0000: configuration file "/var/lib/pgsql/data/postgresql.conf" contains errors; no changes were applied
如果配置文件包含无效的 include 指令,并且尝试启动或重新启动服务器,则操作将失败,并出现类似以下内容的错误
$ pg_ctl -D /var/lib/pgsql/data start waiting for server to start....
2022-08-02 11:26:22.175 GMT [1695] LOG: could not open configuration file "/var/lib/pgsql/data/foo.conf": No such file or directory 2022-08-02 11:26:22.175 GMT [1695] FATAL: configuration file "/var/lib/pgsql/data/postgresql.conf" contains errors stopped waiting pg_ctl: could not start server Examine the log output.
参考文献
- PostgreSQL 文档: 管理配置文件内容