问题
# systemctl status rh-postgresql10-postgresql.service
● rh-postgresql10-postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/rh-postgresql10-postgresql.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2021-11-23 09:06:37 CST; 9min ago
Process: 6025 ExecStart=/opt/rh/rh-postgresql10/root/usr/bin/postmaster -D ${PGDATA} (code=exited, status=1/FAILURE)
Process: 6022 ExecStartPre=/opt/rh/rh-postgresql10/root/usr/libexec/postgresql-check-db-dir %N (code=exited, status=0/SUCCESS)
Main PID: 6025 (code=exited, status=1/FAILURE)
Nov 23 09:06:37 systemd[1]: Starting PostgreSQL database server...
Nov 23 09:06:37 systemd[1]: rh-postgresql10-postgresql.service: main p...RE
Nov 23 09:06:37 systemd[1]: Failed to start PostgreSQL database server.
Nov 23 09:06:37 systemd[1]: Unit rh-postgresql10-postgresql.service en...e.
Nov 23 09:06:37 systemd[1]: rh-postgresql10-postgresql.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
在/var/lib/pgsql(数据库初始化目录)目录中initdb_rh-postgresql10-postgresql.log文件找到:
You can now start the database server using:
/opt/rh/rh-postgresql10/root/usr/bin/pg_ctl -D /var/opt/rh/rh-postgresql10/lib/pgsql/data -l logfile start
如果用root 用户执行则:
# /opt/rh/rh-postgresql10/root/usr/bin/pg_ctl -D /var/opt/rh/rh-postgresql10/lib/pgsql/data -l logfile start
pg_ctl: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.
su postgres 用户执行则:
waiting for server to start.... stopped waiting
pg_ctl: could not start server
Examine the log output.
查看日志文件:
/var/lib/pgsql/logfile
2021-11-23 09:21:07.689 CST [8183] LOG: database system is shut down
2021-11-23 09:40:44.187 CST [11000] LOG: listening on IPv6 address "::1", port 5432
2021-11-23 09:40:44.187 CST [11000] LOG: listening on IPv4 address "127.0.0.1", port 5432
2021-11-23 09:40:44.231 CST [11000] FATAL: could not open lock file "/var/run/postgresql/.s.PGSQL.5432.lock": Permission denied
2021-11-23 09:40:44.231 CST [11000] LOG: database system is shut down
方法:
chown -R postgres:postgres /var/run/postgresql
chmod 755 /var/run/postgresql
2021-11-23 10:58:48.016 CST [22255] FATAL: could not create lock file "/tmp/.s.PGSQL.5432.lock": Permission denied
方法:
chown -R postgres:postgres /tmp //root用户
bash-4.2$ /opt/rh/rh- postgresql10/root/usr/bin/pg_ctl -D /var/opt/rh/rh-postgresql10/lib/pgsql/data -l logfile start //postgres用户
waiting for server to start.... done
server started
[root@postgresql]# netstat -tpnl |grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 22852/postgres
tcp6 0 0 ::1:5432 :::* LISTEN 22852/postgres
进入到 /var/opt/rh/rh-postgresql10/lib/pgsql/data/log 下的postgresql-Fri.log文件:
2021-11-23 09:18:54.499 CST [24943] LOG: using stale statistics instead of current ones because stats collector is not responding
2021-11-23 09:18:54.499 CST [24943] WARNING: could not open statistics file "pg_stat_tmp/global.stat": Permission denied