web-dev-qa-db-fra.com

Postgres 9.4 en cours d'exécution mais "service status" le signale

Ubuntu 14.04.3 LTS et une nouvelle installation de Postgres 9.4 (avec apt-get install postgresql-9.4, rien d’extraordinaire). Postgres a été lancé avec pg_ctl start par l'utilisateur postgres.

La commande status signale que le service est arrêté:

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

Cependant, le serveur est en cours d'exécution; Je peux voir qu'il écoute 5432 et que je peux me connecter avec psql.

[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

connexion psql:

[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".

Dois-je faire autre chose pour utiliser Postgres en tant que service?

1

Pour résumer, vous avez ajouté un référentiel tiers, installé une version plus récente d’un programme que celle proposée par le Centre logiciel Ubuntu. Bien que vous ayez des exécutables exécutables, il vous manque quelques scripts "collés" pour les intégrer à votre système. Je vous recommande de supprimer le référentiel ajouté, puis de mettre à jour les listes de paquets:

Sudo apt-get update

Ensuite, installez postgresql (vous obtiendrez la dernière version proposée)

Sudo apt-get install postgresql postgresql-contrib

Voir https://help.ubuntu.com/community/PostgreSQL

Désormais, 14.04 autorisera l’installation de plusieurs versions de postgresql - mais je suis sûr que la version en cours d’installation sera la dernière. Vous ne savez pas exactement ce qui se passe lorsqu'une version existante est une version ultérieure et n'est pas vraiment configurée de la manière "attendue". Dans le meilleur des cas, il la récupérera et l'exécutera avec le port attribué (5432), puis placera la "nouvelle" version du Centre du logiciel sur le port suivant (5433). Les deux versions peuvent être exécutées simultanément, mais nécessitent des ports différents. Si le port 5432 déjà utilisé est attribué à l'installation de la version 9.4 et que la version 9.4 est simplement ignorée, vous disposez au moins d'un modèle 9.3 des emplacements attendus pour déplacer/ajouter la version 9.4. Des choses comme le lien /etc/rc2.d/S19postgresql vers /etc/init.d/postgresql et le /usr/share/postgresql/9.4

Recherchez ensuite le fichier de configuration qui attribue les ports et assurez-vous que la version 9.4 utilise la valeur par défaut 5432 (si c'est ce que vous voulez).

0
ubfan1

Dans mon cas, j'ai démarré le serveur postgres mais l'état était 'down' aussi, je dois démarrer le cluster en faisant pg_ctlcluster 9.4 main start pour le mettre 'online' et cela a fonctionné.

j'espère que ça aide.

0
ePascoal