Re: Replicación simple en PG9.6 que no funciona

From: Ekaterina Amez <ekaterina(dot)amez(at)zunibal(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Replicación simple en PG9.6 que no funciona
Date: 2021-09-22 10:24:03
Message-ID: CAFijohjUtggeP33D+wp+nQaGY+T23vj1_w7RQANuQk=ZRt0fPA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Bueno, lo logré, así que lo pongo por aquí para que quede registrado.

En Ubuntu 18, haciendo un locate del fichero postgresql.conf me salió la
siguiente ubicación (entre otras):
/etc/postgresql/9.6/main/postgresql.conf

En ese fichero edité la línea siguiente (hay que editarlo con un usuario
con permisos):
include = '' # include file
Y ahí añadí la ubicación del fichero postgresql.conf que se cargó con el
pg_basebackup al maestro:
include = '/var/lib/postgresql/9.6/main/postgresql.conf'

Hecho esto, paré la instancia que había puesto a ejecutar de forma manual y
arranqué la instancia mediante el servicio:
sudo systemctl start postgresql(at)9(dot)6-main(dot)service

Et voilá. Ya está funcionando.

Muchas gracias por orientarme en la dirección correcta.

El mar, 21 sept 2021 a las 16:41, Ekaterina Amez (<
ekaterina(dot)amez(at)zunibal(dot)com>) escribió:

> Hola Jaime,
>
> Muchas gracias por tu explicación. Efectivamente el problema estaba siendo
> que el servicio de postgres 9.6 en Ubuntu busca el archivo de configuración
> en una ruta distinta de la de CentOS. Así que he arrancado la instancia de
> la versión 9.6 por línea de comandos en vez de utilizando el servicio de
> systemd:
> sudo -u postgres /usr/lib/postgresql/9.6/bin/postgres -D
> /var/lib/postgresql/9.6/main -c
> config_file=/var/lib/postgresql/9.6/main/postgresql.conf &
>
> Con esto, y añadiendo al archivo postgresql.conf la opción
> synchronous_commit=local he conseguido que funcione la replicación entre
> los dos ordenadores. El problema que tengo ahora es que si arranco
> manualmente la instancia, en caso de apagón tengo que estar pendiente y
> arrancar manualmente de nuevo la BD. En CentOS ya sé cómo manejar la
> configuración de arranque del servicio, cómo editarla (y cómo no se debe
> editar), pero en Ubuntu no sé dónde está esta configuración. ¿Alguien sabe
> cómo puedo modificar el arranque del servicio para que busque el archivo de
> configuración donde yo quiero? Supongo que podría editar el archivo de
> configuración donde lo busca el servicio y ponerle los valores del maestro
> sin tocar nada más (sin reemplazar un fichero por otro), pero así aprendo
> algo más.
>
> Un saludo y muchas gracias,
> Ekaterina
>
> El lun, 20 sept 2021 a las 19:54, Jaime Casanova (<
> jcasanov(at)systemguards(dot)com(dot)ec>) escribió:
>
>> On Mon, Sep 20, 2021 at 04:48:38PM +0200, Ekaterina Amez wrote:
>> > Hola Lista,
>> >
>> > Estoy probando a montar una réplica sencilla entre mi ordenador (Ubuntu
>> > 18.04) y un ordenador que tengo para pruebas (CentOS7).
>> > El CentOS es el servidor maestro y el Ubuntu el esclavo. Ambos con PG
>> >
>> [...]
>> > sep 20 16:41:52 ekaterina-ubuntu postgresql(at)9(dot)6-main[10060]: psql:
>> FATAL:
>> > el sistema de base de datos está iniciándose
>> > sep 20 16:41:52 ekaterina-ubuntu systemd[1]: Started PostgreSQL Cluster
>> > 9.6-main.
>> >
>>
>> Saludos,
>>
>> Antes que nada, dejame felicitarte por una buena descripción del
>> problema. Así es fácil ayudar.
>>
>> Te cuento que tu problema se da porque una combinación de cosas:
>> estas usando distribuciones muy distintas de linux y estás modificando
>> directamente el archivo postgresql.conf
>>
>> Una diferencia primordial entre Redhat/Centos/Fedora y familia y
>> Debian/Ubuntu y derivados es que los últimos ponen los archivos de
>> configuración en /etc/postgresql/<version>/<clustername>/, seguramente
>> te diste cuenta de que para que lo que hiciste funcione primero creaste
>> el cluster usando pg_createcluster y luego de borrar el contenido de
>> /var/lib/postgresql/9.6/main pudiste ejecutar el pg_basebackup.
>>
>> El pg_basebackup por su parte hizo lo que debía: copio el archivo
>> postgresql.conf dentro de /var/lib/postgresql/9.6/main pero ahí no te
>> sirve porque Ubuntu lo está buscando en /etc/postgresql/9.6/main.
>>
>> Soluciones:
>> - Usa 'ALTER SYSTEM' para modificar los parámetros, al hacer eso los
>> parámetros se modifican en postgresql.auto.conf que *siempre* debe
>> estar en el data_directory o
>>
>> - Copia el archivo postgresql.conf al finalizar el pg_basebackup (esto
>> no te recomiendo porque hay parámetros que están diferentes entre
>> Centos y Ubuntu.
>>
>> --
>> Jaime Casanova
>> Director de Servicios Profesionales
>> SystemGuards - Consultores de PostgreSQL
>>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message cesar@cayter.com 2021-09-23 18:11:46 Consulta migracion
Previous Message Ekaterina Amez 2021-09-21 14:41:44 Re: Replicación simple en PG9.6 que no funciona