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 (<
jcasa...@systemguards.com.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@9.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
>

Reply via email to