インストール確認
CentOS 8 でPostgreSQLが入っているものの起動できないので
その対象法を、書き留めておく
まずサービスの確認
# systemctl list-unit-files -t service
postgresql.service disabled
postgresql@.service disabled
サービスはある。起動してみる
# systemctl start postgresql.service
Job for postgresql.service failed because the control process exited with error code.
See "systemctl status postgresql.service" and "journalctl -xe" for details.
ステータスの確認
# systemctl status postgresql.service
2月 20 17:30:25 www.scheduller.net systemd[1]: postgresql.service: Control process exited, code=exited status=1
2月 20 17:30:25 www.scheduller.net systemd[1]: postgresql.service: Failed with result 'exit-code'.
2月 20 17:30:25 www.scheduller.net systemd[1]: Failed to start PostgreSQL database server.
ちなみにパッケージ確認すると
postgresql-server-10.6-1.module_el8.0.0+15+f57f353b.x86_64
postgresql-10.6-1.module_el8.0.0+15+f57f353b.x86_64
インストールは出来ているみたい
環境についての確認
# systemctl show postgresql.service | grep Environment
Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj PG_OOM_ADJUST_VALUE=0 PGDATA=/var/lib/pgsql/data
データの中身を確認
[root@www lib]# cd /var/lib/pgsql/data/
[root@www data]# ls
[root@www data]#
データベースが初期化されていない・・・
そりゃ立ち上がらないはずだ・・
初期化を実施
# postgresql-setup --initdb
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
起動
# systemctl start postgresql.service
起動できた。ステータスは?
systemctl status postgresql.service
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor>
Active: active (running) since Sat 2021-02-20 17:45:57 JST; 41s ago
まずは、終了
2022-05-30 追記
それでも、エラーとなるケースがある
# sudo -u postgres pg_ctl -D . start
で、確認すると
サーバの起動完了を待っています....2022-05-30 06:50:46.339 JST [262174] LOG: IPv6アドレス"::1"のbindに失敗しました: 要求アドレスに割り当てられません
ipv6で失敗している
ipv6は除外するようにする
postgresql.conf
このファイルの
#listen_addresses = 'localhost' # what IP address(es) to listen on;
を
listen_addresses = '0.0.0.0' # what IP address(es) to listen on;
に変更
後は再起動で、OK