我在 Debian 9 上通过 apt-get 安装了 PostgresQL 11。安装后,我删除了默认数据库集群,并删除了自动启动该集群的所有服务。我现在已经运行 initdb 在自定义位置初始化一个新集群,并编写并启用了 systemd .service 文件以自动运行该文件。
我遇到了一个问题,机器启动时服务成功启动,但随后数据库立即关闭,服务立即停止。当我使用 systemctl 手动启动服务时,也会发生同样的情况。
.服务文件:
[Unit]
Description=PostgreSQL database server
Documentation=man:postgres(1)
[Service]
Environment=PGDATA=/home/(user)/.db
Environment=PGLOG=/home/(user)/postgres.log
Environment=PGSTARTTIMEOUT=270
Type=notify
User=(user)
Group=(group)
ExecStart=/usr/lib/postgresql/11/bin/pg_ctl start -D ${PGDATA} -l ${PGLOG} -t ${PGSTARTTIMEOUT}
ExecStop=/usr/lib/postgresql/11/bin/pg_ctl stop -D ${PGDATA} -m fast
ExecReload=/usr/lib/postgresql/11/bin/pg_ctl reload -D ${PGDATA}
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=300
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
手动启动集群的命令:
su (user) -c '/usr/lib/postgresql/11/bin/pg_ctl start -D /home/(user)/.db -l /home/(user)/postgres.log -t 270'
Run Code Online (Sandbox Code Playgroud)
通过 systemctl 启动时的 PostgreSQL 日志:
2019-01-13 11:36:16.506 EST [1469] 日志:监听 IPv4 地址“127.0.0.1”,端口 5432
2019-01-13 11:36:16.508 EST …