From: | Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec> |
---|---|
To: | Ruben Fitó <r(dot)fito(at)ubiquat(dot)com> |
Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: ALTER COLUMN en Logical Replication |
Date: | 2021-04-07 15:36:33 |
Message-ID: | 20210407153633.GA2857@ahch-to |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Ruben Fitó | 2021-04-08 05:37:06 | Re: ALTER COLUMN en Logical Replication |
Previous Message | Ruben Fitó | 2021-04-07 06:50:00 | Re: ALTER COLUMN en Logical Replication |