Re: logical decoding and replication of sequences
Tomas Vondra <tomas.vondra@enterprisedb.com>
From: Tomas Vondra <tomas.vondra@enterprisedb.com>
To: Peter Eisentraut <peter.eisentraut@enterprisedb.com>,
Petr Jelinek <petr.jelinek@enterprisedb.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-02-13T13:10:25Z
Lists: pgsql-hackers
Attachments
- 0001-Add-support-for-decoding-sequences-to-built-20220213.patch (text/x-patch) patch 0001
- 0002-tweak-test-20220213.patch (text/x-patch) patch 0002
On 2/12/22 20:58, Tomas Vondra wrote: > On 2/12/22 01:34, Tomas Vondra wrote: >> On 2/10/22 19:17, Tomas Vondra wrote: >>> I've polished & pushed the first part adding sequence decoding >>> infrastructure etc. Attached are the two remaining parts. >>> >>> I plan to wait a day or two and then push the test_decoding part. The >>> last part (for built-in replication) will need more work and maybe >>> rethinking the grammar etc. >>> >> >> I've pushed the second part, adding sequences to test_decoding. >> >> Here's the remaining part, rebased, with a small tweak in the TAP test >> to eliminate the issue with not waiting for sequence increments. I've >> kept the tweak in a separate patch, so that we can throw it away easily >> if we happen to resolve the issue. >> > > Hmm, cfbot was not happy about this, so here's a version fixing the > elog() format issue reported by CirrusCI/mingw by ditching the log > message. It was useful for debugging, but otherwise just noise. > There was another elog() making mingw unhappy, so here's a fix for that. This should also fix an issue on the macOS machine. This is a thinko in the tests, because wait_for_catchup() may not wait for all the sequence increments after a rollback. The default mode is "write" which uses pg_current_wal_lsn(), and that may be a bit stale after a rollback. Doing a simple insert after the rollback fixes this (using other LSN, like pg_current_wal_insert_lsn() would work too, but it'd cause long waits in the test). regards -- Tomas Vondra EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Fix cache invalidation bug in recovery_prefetch.
- d0d934490020 15.0 landed
- 932b01630095 16.0 landed
-
Revert "Logical decoding of sequences"
- 2c7ea57e56ca 15.0 landed
-
Minor improvements in sequence decoding code and docs
- 05843b1aa49d 15.0 landed
-
Handle sequences in preprocess_pubobj_list
- 002c9dd97a0c 15.0 landed
-
Update tab-completion for CREATE PUBLICATION with sequences
- 2d2232933b02 15.0 landed
-
Add decoding of sequences to built-in replication
- 75b1521dae1f 15.0 landed
-
Stabilize test_decoding touching with sequences
- a180c2b34de0 15.0 landed
-
Call ReorderBufferProcessXid from sequence_decode
- d5ed9da41d96 15.0 landed
-
Add decoding of sequences to test_decoding
- 80901b32913f 15.0 landed
-
Replace Test::More plans with done_testing
- 549ec201d613 15.0 cited
-
Logical decoding of sequences
- 0da92dc530c9 15.0 landed
-
Respect permissions within logical replication.
- a2ab9c06ea15 15.0 cited