我正在尝试在自定义目录内的 Centos 7(通过 yum 安装)上设置 Postgresql 9.3 服务器,在我的情况下,该目录是在启动时安装的加密分区(/custom_container/database)。由于某种原因,Postgresql 的行为不像手册中那样,并且在服务启动时出错。
注意:它不想接受我设置的 PGDATA 环境变量,并且在运行时
su - postgres -c '/usr/pgsql-9.3/bin/initdb'
(假设 PGDATA 目录归 postgres:postgres 所有)集群在默认目录 /var/lib/pgsql/9.3/data/ 中初始化 唯一的改变方法是使用
su - postgres -c '/usr/pgsql-9.3/bin/initdb --pgdata=$PGDATA'
它初始化了我正在使用的自定义容器内的目录。这是我无法弄清楚的,因为文档说 PGDATA 变量是默认采用的。
问题:运行时
service postgresql-9.3 start
我收到日志错误
postgresql-9.3.service - PostgreSQL 9.3 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-9.3.service; disabled)
Active: failed (Result: exit-code) since Mon 2014-11-10 15:24:15 CET; 1s ago
Process: 2785 ExecStartPre=/usr/pgsql-9.3/bin/postgresql93-check-db-dir ${PGDATA} (code=exited, status=1/FAILURE)
Nov 10 15:24:15 CentOS-70-64-minimal systemd[1]: Starting PostgreSQL 9.3 database server...
Nov 10 15:24:15 CentOS-70-64-minimal postgresql93-check-db-dir[2785]: "/var/lib/pgsql/9.3/data/" is missing or empty.
Nov 10 15:24:15 CentOS-70-64-minimal postgresql93-check-db-dir[2785]: Use "/usr/pgsql-9.3/bin/postgresql93-setup initdb" to initialize t...ster.
Nov 10 15:24:15 CentOS-70-64-minimal postgresql93-check-db-dir[2785]: See %{_pkgdocdir}/README.rpm-dist for more information.
Nov 10 15:24:15 CentOS-70-64-minimal systemd[1]: postgresql-9.3.service: control process exited, code=exited status=1
Nov 10 15:24:15 CentOS-70-64-minimal systemd[1]: Failed to start PostgreSQL 9.3 database server.
Nov 10 15:24:15 CentOS-70-64-minimal systemd[1]: Unit postgresql-9.3.service entered failed state.
这意味着 Postgresql,即使集群在新的 $PGDATA 目录(/custom_container/database)中初始化,仍然在 /var/lib/pgsql/9.3/data/ 中寻找集群
以前有没有人经历过这种 Postgresql 行为?可能是我忘记了某些配置选项还是问题来自 Postgresql 安装?
先感谢您!