我正在使用 Postgresql 10,在安装数据库后,我将其放入PGOPTS="-i"
此文件/etc/sysconfig/pgsql/postgresql
中,以便 Postgresql 可以监听所有接口。
当我使用 CentOS 6 时,这有效并且 postgresql 以-i
命令行中的选项启动。
但是,我需要将数据库迁移到 CentOS 7,而 postgresql(现在它开始使用postmaster
而不是postgres
)不会使用该选项启动。
我知道在 EL7 中,systemd
使用了并且可能无法读取 sysconfig 目录中的文件。但是,我在哪里可以设置这个变量呢?
我也在考虑将此变量设置为新文件。当我使用 Ansible 时,我需要有一个具有此配置的新文件。这意味着我不想编辑现有的文件,比如postgres.conf
放在数据库安装目录中的文件。只有在没有任何其他选项可以在某处设置 PGOPTS 变量的情况下,才会这样做。
我努力了:
/usr/lib/systemd/system/postgresql.service.d/postgresql.conf
在组内有以下内容[Service]
:Environment=PGOPTS=-i
. 我可以看到目录被读取(并且其他变量被读取 - 如 PGDATA - 但它没有读取 PGOPTS 或者至少 postmaster 进程没有使用该选项启动);为此,我也尝试过设置,但/usr/lib/systemd/system/postgresql.service
没有成功;/etc/conf.d/postgresql
但是,正如我在某处读到的那样,它不再被使用了;/etc/profile.d/postgresql.sh
设置和导出变量;~postgres/.bash-profile
设置和导出变量;