【psql】connections on Unix domain socket “/var/run/postgresql/.s.PGSQL.5432”?

dockerにpostgresを入れて、いざ入ろうとすると


psql: error: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket “/var/run/postgresql/.s.PGSQL.5432”?

のエラー

なにこれ?

まず、「/var/run/postgresql/」が存在するか確認

[root@43f7d2ea5a67 /]# ll /var/run/postgresql/
total 0
drwxr-xr-x 2 postgres postgres 40 Aug 6 08:26 .
drwxr-xr-x 19 root root 440 Aug 6 08:26 ..

あるね。

そもそもpsqlが起動しているか確認

[root@43f7d2ea5a67 data]# systemctl status postgresql
○ postgresql.service – PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; preset: disabled)
Active: inactive (dead)

起動してないやん!

・起動してみると

[root@43f7d2ea5a67 data]# systemctl start postgresql
Job for postgresql.service failed because the control process exited with error code.
See “systemctl status postgresql.service” and “journalctl -xeu postgresql.service” for details.

やはり別のエラーが出る

このエラーはたぶんポスグレの初期化が出来てないので、初期化してみる

[root@43f7d2ea5a67 data]# postgresql-setup –initdb
* Initializing database in ‘/var/lib/pgsql/data’
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

これで起動してみる

[root@43f7d2ea5a67 data]# systemctl start postgresql
[root@43f7d2ea5a67 data]#

お!

ステータス確認

[root@43f7d2ea5a67 data]# systemctl status postgresql
● postgresql.service – PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; preset: disabled)
Active: active (running) since Wed 2025-08-06 08:36:56 JST; 9s ago
Process: 328 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS)

成功!!

これで最初の命令を出してみると

[root@43f7d2ea5a67 data]# su postgres
bash-5.1$ psql
psql (13.20)
Type “help” for help.

postgres=#

成功!!!!!

コメント