Re: Minimal logical decoding on standbys
Robert Haas <robertmhaas@gmail.com>
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Reduce the log level in 035_standby_logical_decoding.pl.
- 3034dc56ef4b 16.0 landed
-
035_standby_logical_decoding: Add missing waits for replication
- 57411c82ce86 16.0 landed
-
For cascading replication, wake physical and logical walsenders separately
- e101dfac3a53 16.0 landed
-
Handle logical slot conflicts on standby
- 26669757b6a7 16.0 landed
-
Support invalidating replication slots due to horizon and wal_level
- be87200efd93 16.0 landed
-
Prevent use of invalidated logical slot in CreateDecodingContext()
- 4397abd0a2af 16.0 landed
-
Replace replication slot's invalidated_at LSN with an enum
- 15f8203a5975 16.0 landed
-
Pass down table relation into more index relation functions
- 61b313e47eb9 16.0 landed
-
Assert only valid flag bits are passed to visibilitymap_set()
- a88a18b1250b 16.0 landed
-
Remove unused _bt_delitems_delete() argument.
- dc43492e46c7 14.0 cited
-
Add xl_btree_delete optimization.
- d2e5e20e5711 13.0 cited
On Mon, Sep 30, 2019 at 7:35 AM Amit Khandekar <amitdkhan.pg@gmail.com> wrote: > Alright. Attached is the updated patch that splits the file into two > files, one that does only xmin related testing, and the other test > file that tests conflict recovery scenarios, and also one scenario > where drop-database drops the slots on the database on standby. > Removed get_slot_xmins() and get_node_from_slotname(). > Renamed 'replica' to 'standby'. > Used node->backup() function instead of pg_basebackup command. > Renamed $master_slot to $master_slotname, similarly for $standby_slot. In general, I think this code is getting a lot clearer and easier to understand in these last few revisions. Why does create_logical_slot_on_standby include sleep(1)? Does the test fail if you take that out? If so, it's probably going to fail on the buildfarm even with that included, because some of the buildfarm machines are really slow (e.g. because they use CLOBBER_CACHE_ALWAYS, or because they're running on a shared system with low hardware specifications and an ancient disk). Similarly for the sleep(1) just after you VACUUM FREEZE all the databases. I'm not sure wait the point of the wait_for_xmins() stuff is in 019_standby_logical_decoding_conflicts.pl. Isn't that just duplicating stuff we've already tested in 018? -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company