linux – 使用自定义PGDATA的Centos 7上的Postgresql 9.3

前端之家收集整理的这篇文章主要介绍了linux – 使用自定义PGDATA的Centos 7上的Postgresql 9.3前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在Centos 7上设置 Postgresql 9.3服务器(通过yum安装)在自定义目录中,在我的情况下是一个在启动时安装的加密分区(/ 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安装?

先感谢您!

解决方法

看来真正的问题是设置环境变量,我在下面的线程中工作:
Centos 7 environment variables for Postgres service 问题是自定义/etc/systemd/system/postgresql-9.3.service中的PGDATA变量集应该从/usr/lib/systemd/system/postgresql-9.3.service的内容创建,该内容使用默认的PGDATA var .

猜你在找的Linux相关文章