row filtering for logical replication

From: Euler Taveira <euler(at)timbira(dot)com(dot)br>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: row filtering for logical replication
Date: 2018-02-28 23:03:02
Message-ID: CAHE3wggb715X+mK_DitLXF25B=jE6xyNCH4YOwM860JR7HarGQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

The attached patches add support for filtering rows in the publisher.
The output plugin will do the work if a filter was defined in CREATE
PUBLICATION command. An optional WHERE clause can be added after the
table name in the CREATE PUBLICATION such as:

CREATE PUBLICATION foo FOR TABLE departments WHERE (id > 2000 AND id <= 3000);

Row that doesn't match the WHERE clause will not be sent to the subscribers.

Patches 0001 and 0002 are only refactors and can be applied
independently. 0003 doesn't include row filtering on initial
synchronization.

Comments?

--
Euler Taveira Timbira -
http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento

Attachment Content-Type Size
0001-Refactor-function-create_estate_for_relation.patch text/x-patch 2.5 KB
0002-Rename-a-WHERE-node.patch text/x-patch 1.7 KB
0003-Row-filtering-for-logical-replication.patch text/x-patch 31.9 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2018-02-28 23:56:08 Re: compress method for spgist - 2
Previous Message Tom Lane 2018-02-28 23:01:55 Re: [HACKERS] pgbench randomness initialization