Saltar al contenido

Dockerized PostgreSQL: psql: FATAL: el sistema de base de datos se está iniciando

Te doy la bienvenida a nuestro espacio, en este lugar vas a encontrar la respuesta a lo que estabas buscando.

Solución:

El problema está relacionado con el método de apagado predeterminado del pg_ctl stop modo (pg_ctl es llamado por pg_ctlcluster). Detener el clúster a través de pg_ctlcluster con el pg_ctl opción -m smart durante el proceso de compilación resuelve este problema:

pg_ctlcluster 9.6 master stop -- -m smart

El método “inteligente” espera a que los clientes activos se desconecten y las copias de seguridad en línea finalicen antes de apagarse, a diferencia del método “rápido” predeterminado. Esto se explica en la documentación de pg_ctl.

Además, el contenedor saldría una vez que el pg_ctlcontrol El proceso inició con éxito el clúster de la base de datos a través de postgres (pg_ctlcontrol -> pg_ctl -> postgres). Para prevenir esto, postgres se puede llamar directamente. los container.yml entonces el archivo se vería de la siguiente manera:

version: '2'

services:

  database_master:
    image: hackermd/ubuntu-trusty-python
    user: postgres
    expose:
      - 5043
    command: ['dumb-init', '/usr/lib/postgresql/9.6/bin/postgres', '-D', '/var/lib/postgresql/9.6/master']
    links:
      - database_worker
    depends_on:
      - database_worker

  database_worker:
    image: hackermd/ubuntu-trusty-python
    user: postgres
    expose:
      - 9700
    command: ['dumb-init', '/usr/lib/postgresql/9.6/bin/postgres', '-D', '/var/lib/postgresql/9.6/worker']

Reseñas y valoraciones

Te invitamos a añadir valor a nuestra información tributando tu veteranía en las acotaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *