我正在努力处理 PostGreSQL,但无法将其作为服务启动
我的配置如下:
[Unit]
Description=PostgreSQL RDBMS
Documentation=https://www.postgresql.org/docs/
After=network.target
[Service]
Type=simple
User=postgres
ExecStart=/usr/lib/postgresql/13/bin/postgres "-D" "/var/lib/postgresql/13/main" "-c" "config_file=/etc/postgresql/13/main/postgresql.conf"
#ExecStart=/bin/true
[Install]
WantedBy=multi-user.target
然后尝试启动服务:
ubuntu@my-server:~$ service postgresql status
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2023-08-25 05:33:53 UTC; 9min ago
Docs: https://www.postgresql.org/docs/
Process: 44461 ExecStart=/usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main -c config_file=/etc/postgresql/13/main/postgresql.conf (code=exited, status=1/FAILURE)
Main PID: 44461 (code=exited, status=1/FAILURE)
Aug 25 05:33:53 my-server systemd[1]: Started PostgreSQL RDBMS.
Aug 25 05:33:53 my-server postgres[44461]: 2023-08-25 05:33:53.797 UTC [44461] FATAL: lock file "postmaster.pid" already exists
Aug 25 05:33:53 my-server postgres[44461]: 2023-08-25 05:33:53.797 UTC [44461] HINT: Is another postmaster (PID 43831) running in data directory "/var/lib/postgresql/13/main"?
Aug 25 05:33:53 my-server systemd[1]: postgresql.service: Main process exited, code=exited, status=1/FAILURE
Aug 25 05:33:53 my-server systemd[1]: postgresql.service: Failed with result 'exit-code'.
我猜出了一些问题
ubuntu@my-server:~$ sudo kill 43831
kill: (43831): No such process
ubuntu@my-server:~$ sudo service postgresql stop
ubuntu@my-server:~$ sudo service postgresql start
然后再
ubuntu@my-server:~$ service postgresql status
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2023-08-25 05:45:42 UTC; 2s ago
Docs: https://www.postgresql.org/docs/
Process: 45126 ExecStart=/usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main -c config_file=/etc/postgresql/13/main/postgresql.conf (code=exited, status=1/FAILURE)
Main PID: 45126 (code=exited, status=1/FAILURE)
Aug 25 05:45:42 my-server systemd[1]: Started PostgreSQL RDBMS.
Aug 25 05:45:42 my-server postgres[45126]: 2023-08-25 05:45:42.514 UTC [45126] FATAL: lock file "postmaster.pid" already exists
Aug 25 05:45:42 my-server postgres[45126]: 2023-08-25 05:45:42.514 UTC [45126] HINT: Is another postmaster (PID 45108) running in data directory "/var/lib/postgresql/13/main"?
Aug 25 05:45:42 my-server systemd[1]: postgresql.service: Main process exited, code=exited, status=1/FAILURE
Aug 25 05:45:42 my-server systemd[1]: postgresql.service: Failed with result 'exit-code'.
我究竟做错了什么?
尝试在 Ubuntu 20 上运行它
非常感谢你的帮助