Ich habe ein wenig an der Konfiguration meines PostgrSQL clusters herumgedreht und war mir eigentlich soweit sicher, dass das im Rahmen der Konfigurationsmöglichkeiten soweit passt.
Ich habe aber ein Problemchen im dem setting für unix_domain_socket
Der Pfad dafür wurde in der postgres.conf angepasst und der Server neu gestartet. --> unix_socket_directories = ‘<my_config_path>’
Der Server läuft auch soweit wie gewünscht
[root@<my_server> ~]# systemctl status postgresql-10.service
● postgresql-10.service - PostgreSQL 10 database server
Loaded: loaded (/etc/systemd/system/postgresql-10.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2018-09-17 15:23:13 UTC; 1min 38s ago
Docs: https://www.postgresql.org/docs/10/static/
Main PID: 95305 (postmaster)
CGroup: /system.slice/postgresql-10.service
├─95305 <my_binary_path>/postmaster -D <my_data_path> -c config_file=<my_config_path>/postgresql.conf
├─95310 postgres: logger process
├─95314 postgres: checkpointer process
├─95315 postgres: writer process
├─95316 postgres: wal writer process
├─95317 postgres: autovacuum launcher process
├─95318 postgres: stats collector process
└─95319 postgres: bgworker: logical replication launcher
Sep 17 15:23:13 <my_server> systemd[1]: Starting PostgreSQL 10 database server...
Sep 17 15:23:13 <my_server> postmaster[95305]: 2018-09-17 15:23:13.925 UTC [95305] LOG: listening on IPv4 address "0.0.0.0", port 5432
Sep 17 15:23:13 <my_server> postmaster[95305]: 2018-09-17 15:23:13.928 UTC [95305] LOG: could not create IPv6 socket for address "::": Address family not supported by p
Sep 17 15:23:13 <my_server> postmaster[95305]: 2018-09-17 15:23:13.932 UTC [95305] LOG: listening on Unix socket "<my_config_path>/.s.PGSQL.5432"
Sep 17 15:23:13 <my_server> postmaster[95305]: 2018-09-17 15:23:13.955 UTC [95305] LOG: redirecting log output to logging collector process
Sep 17 15:23:13 <my_server> postmaster[95305]: 2018-09-17 15:23:13.955 UTC [95305] HINT: Future log output will appear in directory "<my_log_path>".
Sep 17 15:23:13 <my_server> systemd[1]: Started PostgreSQL 10 database server.
Nun das Problemchen:
Ich kann mich zu dem System z.B. via pgAdmin4 von meinem Client Rechner aus verbinden, Querys absetzen durch den Cluster browsen etc. …
Nun wollte ich auf dem DB server mal wieder ein command via psql absetzen, dass meint aber das socket file in /tmp suchen zu müssen, obwohl ich es ja wie oben beschrieben in einem anderen Pfad abgelegt/konfiguriert habe.
[postgres@<my_server> ~]$ psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Hat eventuell jemand eine Idee, wo hier der Fehler liegt?
(es funktioniert im Übrigen wenn ich z.B. im das File postgresql.conf unix_socket_directories = ‘<my_config_path>,/tmp’ angebe, aber das war ja nicht der Zweck der Übung … pgAdmin bekommt es ja wie gesagt auch hin ohne socket-file unter /tmp)
Die Frage könnte auch lauten, warum sucht psql hartnäckig nach einem socket-file unter ‘/tmp’?
Danke und Gruß