Re: row filtering for logical replication
От | Euler Taveira |
---|---|
Тема | Re: row filtering for logical replication |
Дата | |
Msg-id | CAHE3wggmjJCj=-u7G=WQGvDOxwfr3Tikqh240LUhtfYcyBDuKw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: row filtering for logical replication (Erik Rijkers <er@xs4all.nl>) |
Ответы |
Re: row filtering for logical replication
|
Список | pgsql-hackers |
Em qui, 1 de nov de 2018 às 05:30, Erik Rijkers <er@xs4all.nl> escreveu: > > I ran pgbench-over-logical-replication with a WHERE-clause and could > > not get this to do a correct replication. Below is the output of the > > attached test program. > > > > > > $ ./logrep_rowfilter.sh > Erik, thanks for testing. > So it seems this bug is due to some timing error in your patch (or > possibly in logical replication itself). > It is a bug in the new synchronization code. I'm doing some code cleanup/review and will post a new patchset after I finish it. If you want to give it a try again, apply the following patch. diff --git a/src/backend/replication/logical/tablesync.c b/src/backend/replication/logical/tablesync.c index e0eb73c..4797e0b 100644 --- a/src/backend/replication/logical/tablesync.c +++ b/src/backend/replication/logical/tablesync.c @@ -757,7 +757,7 @@ fetch_remote_table_info(char *nspname, char *relname, /* Fetch row filtering info */ resetStringInfo(&cmd); - appendStringInfo(&cmd, "SELECT pg_get_expr(prrowfilter, prrelid) FROM pg_publication p INNER JOIN pg_publication_rel pr ON (p.oid = pr.prpubid) WHERE pr.prrelid = %u AND p.pubname IN (", MyLogicalRepWorker->relid); + appendStringInfo(&cmd, "SELECT pg_get_expr(prrowfilter, prrelid) FROM pg_publication p INNER JOIN pg_publication_rel pr ON (p.oid = pr.prpubid) WHERE pr.prrelid = %u AND p.pubname IN (", lrel->remoteid); -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
В списке pgsql-hackers по дате отправления: