![Postgresql:无法启动服务数据库系统已关闭](https://linux22.com/image/756103/Postgresql%EF%BC%9A%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F%E5%B7%B2%E5%85%B3%E9%97%AD.png)
我使用安装 Postgresql
sudo apt install postgresql postgresql-contrib
然后我跑
sudo systemctl restart postgresql
然后我跑
sudo systemctl status postgresql
它说
Active: active (exited) since ... 1s ago
因此看起来重启命令立即退出。
说/var/log/postgresql/postgresql-12-main.log
:
2020-08-13 23:58:39.553 MSK [47081] LOG: received fast shutdown request
2020-08-13 23:58:39.607 MSK [47081] LOG: aborting any active transactions
2020-08-13 23:58:39.613 MSK [47081] LOG: background worker "logical replication launcher" (PID 47088) exited with exit code 1
2020-08-13 23:58:39.613 MSK [47083] LOG: shutting down
2020-08-13 23:58:39.888 MSK [47081] LOG: database system is shut down
2020-08-13 23:58:40.246 MSK [47200] LOG: starting PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0, 64-bit
2020-08-13 23:58:40.247 MSK [47200] LOG: listening on IPv4 address "127.0.0.1", port 5432
2020-08-13 23:58:40.293 MSK [47200] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2020-08-13 23:58:40.470 MSK [47201] LOG: database system was shut down at 2020-08-13 23:58:39 MSK
2020-08-13 23:58:40.508 MSK [47200] LOG: database system is ready to accept connections
/etc/init.d/postgresql:
#!/bin/sh
set -e
### BEGIN INIT INFO
# Provides: postgresql
# Required-Start: $local_fs $remote_fs $network $time
# Required-Stop: $local_fs $remote_fs $network $time
# Should-Start: $syslog
# Should-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: PostgreSQL RDBMS server
### END INIT INFO
# Setting environment variables for the postmaster here does not work; please
# set them in /etc/postgresql/<version>/<cluster>/environment instead.
[ -r /usr/share/postgresql-common/init.d-functions ] || exit 0
. /usr/share/postgresql-common/init.d-functions
# versions can be specified explicitly
if [ -n "$2" ]; then
versions="$2 $3 $4 $5 $6 $7 $8 $9"
else
get_versions
fi
case "$1" in
start|stop|restart|reload)
if [ "$1" = "start" ]; then
create_socket_directory
fi
if [ -z "`pg_lsclusters -h`" ]; then
log_warning_msg 'No PostgreSQL clusters exist; see "man pg_createcluster"'
exit 0
fi
for v in $versions; do
$1 $v || EXIT=$?
done
exit ${EXIT:-0}
;;
status)
LS=`pg_lsclusters -h`
# no clusters -> unknown status
[ -n "$LS" ] || exit 4
echo "$LS" | awk 'BEGIN {rc=0} {if (match($4, "down")) rc=3; printf ("%s/%s (port %s): %s\n", $1, $2, $3, $4)}; END {exit rc}'
;;
force-reload)
for v in $versions; do
reload $v
done
;;
*)
echo "Usage: $0 {start|stop|restart|reload|force-reload|status} [version ..]"
exit 1
;;
esac
exit 0
我如何解决它?
附言:我遇到的问题是 Postgresql不会开始.restart
执行命令后其状态应为 ,active (running)
而 则为active (exited)
。
我尝试清除 postgresql 并运行
sudo apt-get install postgresql
再次,这是 /var/log/postgresql/postgresql-12-main.log:
2020-08-13 23:53:33.849 MSK [44882] LOG: starting PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0, 64-bit
2020-08-13 23:53:33.850 MSK [44882] LOG: listening on IPv4 address "127.0.0.1", port 5432
2020-08-13 23:53:33.898 MSK [44882] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2020-08-13 23:53:34.042 MSK [44883] LOG: database system was shut down at 2020-08-13 23:53:30 MSK
2020-08-13 23:53:34.092 MSK [44882] LOG: database system is ready to accept connections
2020-08-13 23:56:17.242 MSK [44882] LOG: received fast shutdown request
2020-08-13 23:56:17.462 MSK [44882] LOG: aborting any active transactions
2020-08-13 23:56:17.466 MSK [44882] LOG: background worker "logical replication launcher" (PID 44889) exited with exit code 1
2020-08-13 23:56:17.468 MSK [44884] LOG: shutting down
2020-08-13 23:56:17.750 MSK [44882] LOG: database system is shut down
2020-08-13 23:56:18.153 MSK [47081] LOG: starting PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0, 64-bit
2020-08-13 23:56:18.154 MSK [47081] LOG: listening on IPv4 address "127.0.0.1", port 5432
2020-08-13 23:56:18.206 MSK [47081] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2020-08-13 23:56:18.392 MSK [47082] LOG: database system was shut down at 2020-08-13 23:56:17 MSK
2020-08-13 23:56:18.455 MSK [47081] LOG: database system is ready to accept connections
2020-08-13 23:58:39.553 MSK [47081] LOG: received fast shutdown request
2020-08-13 23:58:39.607 MSK [47081] LOG: aborting any active transactions
2020-08-13 23:58:39.613 MSK [47081] LOG: background worker "logical replication launcher" (PID 47088) exited with exit code 1
2020-08-13 23:58:39.613 MSK [47083] LOG: shutting down
2020-08-13 23:58:39.888 MSK [47081] LOG: database system is shut down
2020-08-13 23:58:40.246 MSK [47200] LOG: starting PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0, 64-bit
2020-08-13 23:58:40.247 MSK [47200] LOG: listening on IPv4 address "127.0.0.1", port 5432
2020-08-13 23:58:40.293 MSK [47200] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2020-08-13 23:58:40.470 MSK [47201] LOG: database system was shut down at 2020-08-13 23:58:39 MSK
2020-08-13 23:58:40.508 MSK [47200] LOG: database system is ready to accept connections
2020-08-14 00:05:28.033 MSK [47200] LOG: received fast shutdown request
2020-08-14 00:05:28.084 MSK [47200] LOG: aborting any active transactions
2020-08-14 00:05:28.090 MSK [47200] LOG: background worker "logical replication launcher" (PID 47207) exited with exit code 1
2020-08-14 00:05:28.092 MSK [47202] LOG: shutting down
2020-08-14 00:05:28.290 MSK [47200] LOG: database system is shut down
2020-08-14 00:05:28.781 MSK [47452] LOG: starting PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0, 64-bit
2020-08-14 00:05:28.782 MSK [47452] LOG: listening on IPv4 address "127.0.0.1", port 5432
2020-08-14 00:05:28.837 MSK [47452] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2020-08-14 00:05:28.990 MSK [47453] LOG: database system was shut down at 2020-08-14 00:05:28 MSK
2020-08-14 00:05:29.031 MSK [47452] LOG: database system is ready to accept connections
2020-08-14 00:15:05.696 MSK [47452] LOG: received fast shutdown request
2020-08-14 00:15:05.747 MSK [47452] LOG: aborting any active transactions
2020-08-14 00:15:05.754 MSK [47452] LOG: background worker "logical replication launcher" (PID 47459) exited with exit code 1
2020-08-14 00:15:05.755 MSK [47454] LOG: shutting down
2020-08-14 00:15:05.953 MSK [47452] LOG: database system is shut down
2020-08-14 00:15:06.204 MSK [48037] LOG: starting PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0, 64-bit
2020-08-14 00:15:06.205 MSK [48037] LOG: listening on IPv4 address "127.0.0.1", port 5432
2020-08-14 00:15:06.257 MSK [48037] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2020-08-14 00:15:06.452 MSK [48039] LOG: database system was shut down at 2020-08-14 00:15:05 MSK
2020-08-14 00:15:06.503 MSK [48037] LOG: database system is ready to accept connections
2020-08-14 19:00:11.997 MSK [48037] LOG: could not open file "postmaster.pid": No such file or directory
2020-08-14 19:00:12.032 MSK [48037] LOG: performing immediate shutdown because data directory lock file is invalid
2020-08-14 19:00:12.032 MSK [48037] LOG: received immediate shutdown request
2020-08-14 19:00:12.032 MSK [48037] LOG: could not open file "postmaster.pid": No such file or directory
2020-08-14 19:00:12.063 MSK [48044] LOG: could not open temporary statistics file "pg_stat/global.tmp": No such file or directory
2020-08-14 19:00:12.063 MSK [48043] WARNING: terminating connection because of crash of another server process
2020-08-14 19:00:12.063 MSK [48043] DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2020-08-14 19:00:12.063 MSK [48043] HINT: In a moment you should be able to reconnect to the database and repeat your command.
2020-08-14 19:00:12.130 MSK [79907] WARNING: terminating connection because of crash of another server process
2020-08-14 19:00:12.130 MSK [79907] DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2020-08-14 19:00:12.130 MSK [79907] HINT: In a moment you should be able to reconnect to the database and repeat your command.
2020-08-14 19:00:12.169 MSK [48037] LOG: database system is shut down
2020-08-14 19:09:25.177 MSK [84877] LOG: starting PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0, 64-bit
2020-08-14 19:09:25.179 MSK [84877] LOG: listening on IPv4 address "127.0.0.1", port 5432
2020-08-14 19:09:25.226 MSK [84877] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2020-08-14 19:09:25.370 MSK [84878] LOG: database system was shut down at 2020-08-14 19:09:21 MSK
2020-08-14 19:09:25.410 MSK [84877] LOG: database system is ready to accept connections