在 Ubuntu 上將 PostGreSQL 配置為服務的問題

在 Ubuntu 上將 PostGreSQL 配置為服務的問題

我正在努力處理 PostGreSQL,我無法將其作為服務啟動

我的conf設定如下:

[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 上運行它

非常感謝您的幫助

相關內容