Fix a few little issues with 9.5 support (#3260)

1. pg_rewind error log format wasn't verbose
2. it doesn't support specifying num in synchronous_standby_names
This commit is contained in:
Alexander Kukushkin
2025-01-31 16:46:07 +01:00
committed by GitHub
parent 34b2a77294
commit 38aef484e8
4 changed files with 23 additions and 3 deletions
+8
View File
@@ -194,6 +194,14 @@ class TestRewind(BaseTestPostgresql):
self.r.trigger_check_diverged_lsn()
self.assertFalse(self.r.rewind_or_reinitialize_needed_and_possible(self.leader))
mock_popen.return_value.communicate.return_value = (
b'0, lsn: 0/040159C1, prev 0/\n',
b'pg_waldump: fatal: error in WAL record at 0/40159C1: invalid record length at 0/402DD98\n'
)
self.r.reset_state()
self.r.trigger_check_diverged_lsn()
self.assertFalse(self.r.rewind_or_reinitialize_needed_and_possible(self.leader))
self.r.reset_state()
self.r.trigger_check_diverged_lsn()
mock_popen.side_effect = Exception
+11
View File
@@ -155,6 +155,17 @@ class TestSync(BaseTestPostgresql):
mock_reload.assert_called()
self.assertEqual(value_in_conf(), "synchronous_standby_names = '3 (a,b)'")
self.p._major_version = 90501
mock_reload.reset_mock()
self.s.set_synchronous_standby_names([], 1)
mock_reload.assert_called()
self.assertEqual(value_in_conf(), "synchronous_standby_names = '*'")
mock_reload.reset_mock()
self.s.set_synchronous_standby_names(['a-1'], 1)
mock_reload.assert_called()
self.assertEqual(value_in_conf(), "synchronous_standby_names = '\"a-1\"'")
@patch.object(Postgresql, 'last_operation', Mock(return_value=1))
def test_do_not_prick_yourself(self):
self.p.name = self.leadermem.name