Re: ALTER COLUMN en Logical Replication

From: Ruben Fitó <r(dot)fito(at)ubiquat(dot)com>
To: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ALTER COLUMN en Logical Replication
Date: 2021-04-08 05:37:06
Message-ID: CANiYpQyLfNDXRpR7LWkjCVWtvyx_m07o8uxN-mfOW8dAzunJMw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Jaime.

Sí, efectivamente es Replicación Lógica Nativa. Procederé como he explicado
en el anterior correo.

Aprovecharé para cambiar el tipo de dato a text y añadir constraint.

Gracias por tu respuesta.

Saludos.

On Wed, 7 Apr 2021 at 17:36, Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
wrote:

> On Wed, 7 Apr 2021 at 07:48, Ruben Fitó <r(dot)fito(at)ubiquat(dot)com> wrote:
> > On Wed, Apr 07, 2021 at 08:50:00AM +0200, Ruben Fitó wrote:
> > > Tenemos una infraestructura de bases de datos donde disponemos de una
> > > replicación lógica en cascada:
> > >
> > > [master] -> LR -> [esclavo 1] -> LR -> [esclavo 2]
> > >
> > > Ahora nos vemos en la necesidad de hacer un ALTER COLUMN en una de las
> > > tablas.
> > >
> > > Cómo deberíamos proceder para que no se pierdan datos y no se pare la
> > > sincronización?
>
> Detener los DML (INSERT/UPDATE/DELETE)? si, por favor.
>
> estás usando pglogical o replicación lógica nativa? si es pglogical
> podrías usar pglogical.replicate_ddl_command() para hacer el cambio, esa
> función debería encargarse de hacer el cambio en todos los nodos.
>
> Si es replicación lógica nativa, entonces si haz los cambios como
> sugieres.
>
> >
> > Se me olvidó decir que el ALTER COLUMN es para hacer un cambio de tipo de
> > dato de una columna.
> >
> > El cambio deseado sería pasar de un numeric(10, 0) a varchar(21).
> >
>
> por qué varchar(21) y no text? cuando pones estas restricciones de
> tamaño arbitrarias es posible que luego te veas nuevamente cambiando el
> tipo de datos, ya tuviste que pasar de numeric(10,0) a varchar(21)! yo
> me aseguraría de tenerlo bien esta vez... o simplemente cambiar a text y
> agregar un constraint check (char_length(campo)=21)
>
> >
> > All information contained in this document and any attachments are
> > CONFIDENTIAL and protected under trade secret laws. If you receive this
> > message by mistake, please delete it and notify it immediately to the
> > sender.
>
> Esta es una lista pública, al enviar un correo a esta lista aceptaste
> que la información que enviaste se enviará a todos los suscriptores
> actuales de la lista y que permanecerá pública en múltiples sitios de
> archivado en internet, principalmente pero no limitado a:
> archives(at)postgresql(dot)org
>
> --
> Jaime Casanova
> Director de Servicios Profesionales
> SystemGuards - Consultores de PostgreSQL
>

--
*Ruben Fitó *
Software Engineer
[image: Ubiquat Technologies, SL]
r(dot)fito(at)ubiquat(dot)com <j(dot)catarineu(at)ubiquat(dot)com>
www.ubiquat.com
Tota la informació continguda en aquest document i arxius adjunts és
CONFIDENCIAL protegida per llei de secret comercial. Si l'ha rebut per
error, si us plau elimini'l i posi's en contacte amb l'emissor.

All information contained in this document and any attachments are
CONFIDENTIAL and protected under trade secret laws. If you receive this
message by mistake, please delete it and notify it immediately to the
sender.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Edwin De La Cruz 2021-04-10 01:59:38 Particionar o no Particonar
Previous Message Jaime Casanova 2021-04-07 15:36:33 Re: ALTER COLUMN en Logical Replication