Postgres 9.4 se está ejecutando pero el "estado del servicio" lo informa inactivo

Postgres 9.4 se está ejecutando pero el "estado del servicio" lo informa inactivo

Ubuntu 14.04.3 LTS y una nueva instalación de Postgres 9.4 (sin apt-get install postgresql-9.4nada especial). Postgres fue iniciado pg_ctl startpor el usuario de postgres.

El comando de estado informa que el servicio está inactivo:

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

Sin embargo, el servidorescorrer; Puedo ver que está escuchando en 5432 y puedo conectarme con 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

conexión 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".

¿Necesito hacer algo más para ejecutar Postgres como servicio?

Respuesta1

En resumen, agregó un repositorio de terceros, instaló una versión posterior de un programa que la ofrecida por el Centro de software de Ubuntu y, aunque obtuvo ejecutables ejecutables, le faltan algunos scripts "pegantes" para integrarlos en su sistema. Recomendaría eliminar el repositorio agregado y luego actualizar las listas de paquetes:

sudo apt-get update

Luego instale postgresql (obtendrá la última versión ofrecida)

sudo apt-get install postgresql postgresql-contrib

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

Ahora 14.04 permitirá instalaciones de múltiples versiones de PostgreSQL, pero estoy seguro de que la expectativa es que la versión que se instale sea la más reciente. No estoy seguro de qué sucede cuando una versión existente es posterior y realmente no está configurada de la forma "esperada". En el mejor de los casos, lo recogerá, lo ejecutará con el puerto asignado (5432) y colocará la versión "nueva" del Centro de software en el siguiente puerto (5433). Ambas versiones pueden ejecutarse simultáneamente, pero necesitarán puertos diferentes. Si a la instalación 9.3 se le asigna el puerto 5432 que ya está en uso en 9.4, y el 9.4 simplemente se ignora, al menos tiene una plantilla 9.3 de ubicaciones esperadas para mover/agregar el 9.4. Cosas como el enlace /etc/rc2.d/S19postgresql a /etc/init.d/postgresql y /usr/share/postgresql/9.4

Luego localice el archivo conf que asigna los puertos y asegúrese de que la versión 9.4 esté en el 5432 predeterminado (si eso es lo que desea).

Respuesta2

En mi caso, inicié el servidor Postgres pero el estado era 'down'demasiado, tengo que iniciar el clúster haciendolo pg_ctlcluster 9.4 main starty 'online'funcionó.

Espero que ayude.

información relacionada