Re: [PoC] pg_upgrade: allow to upgrade publisher node
Peter Eisentraut <peter.eisentraut@enterprisedb.com>
From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>,
'Julien Rouhaud' <rjuju123@gmail.com>
Cc: 'vignesh C' <vignesh21@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Amit Kapila <amit.kapila16@gmail.com>
Date: 2023-04-26T07:18:33Z
Lists: pgsql-hackers
On 24.04.23 14:03, Hayato Kuroda (Fujitsu) wrote: >> so at least there's a good chance that they will still be at >> shutdown, and will therefore send all the data to the subscribers? Having a >> regression tests for that scenario would also be a good idea. Having an >> uncommitted write transaction should be enough to cover it. > > I think background_psql() can be used for the purpose. Before doing pg_upgrade > --check, a transaction is opened and kept. It means that the confirmed_flush has > been not reached to the current WAL position yet, but the checking says OK > because all slots are active. A suggestion: You could write some/most tests against test_decoding rather than the publication/subscription system. That way, you can avoid many timing issues in the tests and you can check more exactly that the slots produce the output you want. This would also help ensure that this new facility works for other logical decoding output plugins besides the built-in one.
Commits
-
Fix issues in binary_upgrade_logical_slot_has_caught_up().
- 0bf62460bb9e 17.0 landed
-
Fix a random failure in 003_logical_slots.pl.
- 63c5df126abb 17.0 landed
-
Fix a test in 003_logical_slots.
- 3e36e48d8efe 17.0 landed
-
Fix uninitialized slot array access during the upgrade.
- a7db71ed2787 17.0 landed
-
Fix the test 003_logical_slots.
- 8af917be6bad 17.0 landed
-
Commit b195e6d482 forgot to update meson.build.
- 8949b978ff49 17.0 landed
-
Use shorter file names in the upgrade logical slots test.
- b195e6d482b8 17.0 landed
-
Migrate logical slots to the new node during an upgrade.
- 29d0a77fa660 17.0 landed
-
Flush logical slots to disk during a shutdown checkpoint if required.
- e0b2eed047df 17.0 landed
-
Prevent possibility of panics during shutdown checkpoint.
- c6c333436491 10.0 cited