PostgreSQL findet den Server nicht

Hallo,
ich verzweifle momentan bei der Installation von Kivitendo nach dieser Anweiseung:
https://www.kivitendo.de/kivi/doc/html/ch02s05.html’.
Bei allen Befehlen in der Datenbank nach ‘su - postgres’ z. B. bei den Befehl ‘psql template1’ kommt diese Fehlermeldung:
psql: could not connect to server: Datei oder Verzeichnis nicht gefunden
Is the server running locally and accepting
connections on Unix domain socket “/var/run/postgresql/.s.PGSQL.5432”?

Warum wird der Server oder das Verzeichnis nicht gefunden? Wie kann ich das korregieren?

Ich arbeite mit UbuntuMate 18.04.

Ist den der PostgreSQL- Server überhaupt gestartet?

Hey,

prüfe doch mal ob der richtige Port verwendet wird.
Das steht in less /etc/postgresql/10/main/postgresql.conf

VG Ronny

möglicherweise unterschiedliche Kombinationen zwischen PG-Server und libpq. Ich zitiere mal aus einer heutigen Mail von Tom Lane:

===
Ah, this is a symptom we’ve seen before. There is disagreement about
where the postmaster ought to put its socket file — traditionally
PG puts it in /tmp/, but some people feel that’s a security hazard and
want to put it in a bespoke directory such as /var/run/postgresql/.

It appears from these symptoms that (a) you are running a server that
puts the socket in /tmp (probably you got that server from a PGDG RPM?)
but (b) you are trying to connect to it using a Red-Hat-provided libpq
(which defaults to expecting the file to be in /var/run/postgresql/).

You have various possible workarounds:

  • tell the server to create a socket file in /var/run/postgresql/ too
    (see unix_socket_directories);

  • tell libpq where to find the socket, e.g. with “psql -h /tmp”;

  • tell libpq not to use a Unix socket at all, e.g. “psql -h localhost”;

  • make sure to invoke psql+libpq from the PGDG distribution rather than
    using ones supplied by Red Hat.

Generally speaking, mixing PGDG RPMs with vendor-supplied Postgres RPMs
is a recipe for headaches. If you can drop the Red Hat Postgres RPMs
without causing dependency problems, do that. Otherwise, the
two-socket-files solution is probably the best.

		regards, tom lane

===

Hey Xandrian,
wie stelle ich fest, ob der Server gerade läuft?

Hey Ronny,
die Datei postgresql.conf ist bei mir unter /etc/postgresql/10/clustername, ich weiss nicht ob das eine Rolle spielt.
In der Datei steht “port = 5432”, ich denke, das wird der Port sein.
Ich sehe gerade, ein paar Zeilen oben steht: “#listen_addresses = ‘localhost’”. ist das richtig so, oder muss die Raute (#) weg?

Ob der PG-Server läuft sieht man in der Prozessliste.

ps ax | grep -c postgres

Der Standort der postgresql.conf hängt von der Distri ab, bei Dir scheinbar ein Debian oder sowas.

#listen_addresses = ‘localhost’

Das ist der Default-Wert. Es wird NUR am lokalen Interface gelauscht. Secure by default. Wenn Du auf weitere IP-Adressen den Dienst binden willst, dann das # entfernen und die Liste entsprechend anlegen. Hint: da sind reichrich Kommentare, die kann man sogar lesen.

Wenn Du Zugriff von außen haben willst, wirst Du auch noch die pg_hba.conf editieren wollen.
(Nur um mal Deiner nächsten Frage zuvor zu kommen …)

Hey akretschmer,

wenn ich das eingebe kommt bei mir eine “8”.
Wenn ich mich in der Datenbank angemeldet habe, bekomme ich eine “9” angezeigt.
Was das immer auch heißt.
Als Prompt im Terminal habe ich “postgres@xxxxx:~$”. Vielleicht bringt die Anzeige ja was?

Okay, PostgreSQL läuft.

sieht wie eine shell aus. Jetzt psql aufrufen …