Postgres 9.4 läuft, aber der „Servicestatus“ meldet einen Ausfall

Postgres 9.4 läuft, aber der „Servicestatus“ meldet einen Ausfall

Ubuntu 14.04.3 LTS und eine Neuinstallation von Postgres 9.4 (mit apt-get install postgresql-9.4, nichts Besonderes). Postgres wurde pg_ctl startvom Postgres-Benutzer mit gestartet.

Der Statusbefehl meldet, dass der Dienst ausgefallen ist:

[root@box ~]# service postgresql status
9.4/main (port 5432): down

Der ServerIstläuft; ich sehe, dass es auf 5432 lauscht und kann mich mit psql damit verbinden.

[root@box ~]# netstat -a -n -p | grep 5432
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      19377/postgres
tcp        0      0 127.0.0.1:5432          127.0.0.1:45724         ESTABLISHED 20280/postgres: ice
tcp        0      0 127.0.0.1:5432          127.0.0.1:45725         ESTABLISHED 20281/postgres: ice
tcp        0      0 127.0.0.1:5432          127.0.0.1:45732         ESTABLISHED 20288/postgres: ice
tcp        0      0 127.0.0.1:5432          127.0.0.1:45726         ESTABLISHED 20282/postgres: ice
tcp        0      0 127.0.0.1:5432          127.0.0.1:45729         ESTABLISHED 20285/postgres: ice
tcp        0      0 127.0.0.1:5432          127.0.0.1:45723         ESTABLISHED 20279/postgres: ice
tcp        0      0 127.0.0.1:5432          127.0.0.1:45730         ESTABLISHED 20286/postgres: ice
tcp        0      0 127.0.0.1:5432          127.0.0.1:45731         ESTABLISHED 20287/postgres: ice
tcp        0      0 127.0.0.1:5432          127.0.0.1:45728         ESTABLISHED 20284/postgres: ice
tcp        0      0 127.0.0.1:5432          127.0.0.1:45727         ESTABLISHED 20283/postgres: ice
unix  2      [ ACC ]     STREAM     LISTENING     4295677  19377/postgres      /var/run/postgresql/.s.PGSQL.5432

psql-Verbindung:

[postgres@box~]$ psql
Password:
psql (9.4.5)

postgres=# \conninfo
You are connected to database "postgres" as user "postgres" via socket in "/var/run/postgresql" at port "5432".

Muss ich noch etwas tun, um Postgres als Dienst auszuführen?

Antwort1

Zusammenfassend lässt sich sagen, dass Sie ein Repository eines Drittanbieters hinzugefügt und eine neuere Version eines Programms installiert haben, als vom Ubuntu Software Center angeboten wird. Obwohl Sie lauffähige ausführbare Dateien erhalten haben, fehlen Ihnen einige „Glue“-Skripte, um diese in Ihr System zu integrieren. Ich würde empfehlen, das hinzugefügte Repository zu entfernen und dann die Paketlisten zu aktualisieren:

sudo apt-get update

Installieren Sie dann PostgreSQL (erhält die neueste angebotene Version)

sudo apt-get install postgresql postgresql-contrib

Sehenhttps://help.ubuntu.com/community/PostgreSQL

Jetzt erlaubt 14.04 die Installation mehrerer PostgreSQL-Versionen – aber ich bin sicher, dass erwartet wird, dass die zu installierende Version die neueste ist. Ich bin mir nicht sicher, was passiert, wenn eine vorhandene Version eine neuere ist und nicht wirklich auf die „erwartete“ Weise eingerichtet wurde. Im besten Fall wird sie erkannt und mit dem zugewiesenen Port (5432) ausgeführt und die „neue“ Version aus dem Software Center auf den nächsten Port (5433) gelegt. Beide Versionen können gleichzeitig ausgeführt werden, benötigen aber unterschiedliche Ports. Wenn der 9.3-Installation der von 9.4 bereits verwendete Port 5432 zugewiesen wird und 9.4 einfach ignoriert wird, haben Sie zumindest eine 9.3-Vorlage mit erwarteten Speicherorten, an die 9.4 verschoben/hinzugefügt werden kann. Dinge wie der Link /etc/rc2.d/S19postgresql zu /etc/init.d/postgresql und /usr/share/postgresql/9.4

Suchen Sie dann die Konfigurationsdatei, die die Ports zuweist, und stellen Sie sicher, dass die Version 9.4 auf dem Standardwert 5432 liegt (falls Sie das möchten).

Antwort2

In meinem Fall habe ich den Postgres-Server gestartet, aber der Status war 'down'zu „Ich muss den Cluster starten, indem ich pg_ctlcluster 9.4 main startihn einfüge, 'online'und es hat funktioniert.“

Ich hoffe, es hilft.

verwandte Informationen