From: | PALAYRET Jacques <jacques(dot)palayret(at)meteo(dot)fr> |
---|---|
To: | Postgres General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Conditional column filtering with pglogical replication |
Date: | 2020-10-23 15:14:50 |
Message-ID: | 681025551.21077286.1603466090802.JavaMail.zimbra@meteo.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
The " row_filter " filters the rows and I don’t want to filter the row but only one (or several) column(s).
Actually, I want a column value on the provider to be filtered on subcribers when replicating.
For example, on provider :
a | b | c | d
-----+------+----+------
123 | 45.6 | 15 | abc
111 | 55.5 | 66 | def
on subscriber :
a | b | c | d
-----+------+----+------
123 | 45.6 | 15 | abc
111 | | 66 | def
-> b NULL on subscriber but the others columns are replicated.
De: "Fabrízio de Royes Mello" <fabrizio(at)timbira(dot)com(dot)br>
À: "PALAYRET Jacques" <jacques(dot)palayret(at)meteo(dot)fr>
Cc: "Postgres General" <pgsql-general(at)postgresql(dot)org>
Envoyé: Vendredi 23 Octobre 2020 16:23:19
Objet: Re: Conditional column filtering with pglogical replication
Em sex., 23 de out. de 2020 às 10:35, PALAYRET Jacques < [ mailto:jacques(dot)palayret(at)meteo(dot)fr | jacques(dot)palayret(at)meteo(dot)fr ] > escreveu:
>
> With PgLogical extension, I have tested the possibility of column filtering (columns) and row filtering (row_filter).
> But is there a way to do a conditional column filtering ?
> I mean a way to filter a column based on a predicate, with pglogical (so the filtered values won’t arrive on subscribers).
> For example, with a replicated table t(a integer as Primary Key, b numeric, c integer, d text), I would like to filter the column b when c between 10 and 20.
>
Hello,
According to the documentation [1] the row_filter is a normal PostgreSQL expression with the same limitations of CHECK constraints, so you can do something like: row_filter := 'c between 10 and 20 and b = ?'
Regards,
[1] [ https://github.com/2ndQuadrant/pglogical#row-filtering | https://github.com/2ndQuadrant/pglogical#row-filtering ]
--
Fabrízio de Royes Mello Timbira - [ http://www.timbira.com.br/ | http://www.timbira.com.br/ ]
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
From | Date | Subject | |
---|---|---|---|
Next Message | Nikhil Benesch | 2020-10-23 15:47:16 | split_part for the last element |
Previous Message | Philip Semanchuk | 2020-10-23 14:53:07 | Re: postgres materialized view refresh performance |