Compatibility with 17-beta1 (#3076)

- updated list of GUCs
- updated regex for filtering backend processes by name
- `primary_conninfo` will contain `dbname` parameter

The last one is required for synchronizing logical replication slots by slotsync worker and doesn't create problems on older versions.
This commit is contained in:
Alexander Kukushkin
2024-06-12 10:29:52 +02:00
committed by GitHub
parent b6c5a12017
commit 1ed207cbf0
5 changed files with 124 additions and 14 deletions
+1 -1
View File
@@ -294,7 +294,7 @@ class TestPostgresql(BaseTestPostgresql):
mock_get_pg_settings.return_value['recovery_min_apply_delay'][1] = '1'
self.assertEqual(self.p.config.check_recovery_conf(None), (True, True))
mock_get_pg_settings.return_value['primary_conninfo'][1] = 'host=1 target_session_attrs=read-write'\
+ ' passfile=' + re.sub(r'([\'\\ ])', r'\\\1', self.p.config._pgpass)
+ ' dbname=postgres passfile=' + re.sub(r'([\'\\ ])', r'\\\1', self.p.config._pgpass)
mock_get_pg_settings.return_value['recovery_min_apply_delay'][1] = '0'
self.assertEqual(self.p.config.check_recovery_conf(None), (True, True))
self.p.config.write_recovery_conf({'standby_mode': 'on', 'primary_conninfo': conninfo.copy()})
+4 -2
View File
@@ -132,14 +132,16 @@ class TestPostmasterProcess(unittest.TestCase):
c2.cmdline = Mock(return_value=["postgres: postgres postgres [local] idle"])
c3 = Mock()
c3.cmdline = Mock(side_effect=psutil.NoSuchProcess(123))
c4 = Mock()
c4.cmdline = Mock(return_value=['postgres: slotsync worker '])
mock_wait.return_value = ([], [c2])
with patch('psutil.Process.children', Mock(return_value=[c1, c2, c3])):
with patch('psutil.Process.children', Mock(return_value=[c1, c2, c3, c4])):
proc = PostmasterProcess(123)
self.assertIsNone(proc.wait_for_user_backends_to_close(1))
mock_wait.assert_called_with([c2], 1)
mock_wait.return_value = ([c2], [])
with patch('psutil.Process.children', Mock(return_value=[c1, c2, c3])):
with patch('psutil.Process.children', Mock(return_value=[c1, c2, c3, c4])):
proc = PostmasterProcess(123)
proc.wait_for_user_backends_to_close(1)