Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite2e5a8d

Browse files
committed
Make replication slot creation implicit; minor refactoring
1 parentbc6c302 commite2e5a8d

File tree

2 files changed

+25
-26
lines changed

2 files changed

+25
-26
lines changed

‎testgres/node.py

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,21 @@ def _collect_special_files(self):
254254

255255
returnresult
256256

257+
def_create_replication_slot(self,slot_name,dbname=None,username=None):
258+
"""
259+
Create a physical replication slot.
260+
261+
Args:
262+
slot_name: slot name
263+
dbname: database name
264+
username: database user name
265+
"""
266+
query= (
267+
"select pg_create_physical_replication_slot('{}')"
268+
).format(slot_name)
269+
270+
self.execute(query=query,dbname=dbname,username=username)
271+
257272
definit(self,initdb_params=None,**kwargs):
258273
"""
259274
Perform initdb for this node.
@@ -344,14 +359,11 @@ def get_auth_method(t):
344359
conf.write(u"fsync = off\n")
345360

346361
# yapf: disable
347-
conf.write(
348-
u"log_statement = {}\n"
349-
u"listen_addresses = '{}'\n"
350-
u"port = {}\n"
351-
u"max_replication_slots = {}\n".format(log_statement,
352-
self.host,
353-
self.port,
354-
REPLICATION_SLOTS))
362+
conf.write(u"log_statement = {}\n"
363+
u"listen_addresses = '{}'\n"
364+
u"port = {}\n".format(log_statement,
365+
self.host,
366+
self.port))
355367

356368
# replication-related settings
357369
ifallow_streaming:
@@ -367,8 +379,10 @@ def get_auth_method(t):
367379
wal_keep_segments=20# for convenience
368380
conf.write(u"hot_standby = on\n"
369381
u"max_wal_senders = {}\n"
382+
u"max_replication_slots = {}\n"
370383
u"wal_keep_segments = {}\n"
371384
u"wal_level = {}\n".format(max_wal_senders,
385+
REPLICATION_SLOTS,
372386
wal_keep_segments,
373387
wal_level))
374388

@@ -863,23 +877,6 @@ def backup(self, **kwargs):
863877

864878
returnNodeBackup(node=self,**kwargs)
865879

866-
defcreate_replication_slot(self,slot_name,dbname=None,username=None):
867-
"""
868-
Create a physical replication slot.
869-
870-
Args:
871-
slot_name: slot name
872-
dbname: database name
873-
username: database user name
874-
"""
875-
query= (
876-
"select pg_create_physical_replication_slot('{}')"
877-
).format(slot_name)
878-
879-
self.execute(query=query,
880-
dbname=dbnameordefault_dbname(),
881-
username=usernameordefault_username())
882-
883880
defreplicate(self,name=None,slot_name=None,**kwargs):
884881
"""
885882
Create a binary replica of this node.
@@ -891,6 +888,9 @@ def replicate(self, name=None, slot_name=None, **kwargs):
891888
base_dir: the base directory for data files and logs
892889
"""
893890

891+
ifslot_name:
892+
self._create_replication_slot(slot_name,**kwargs)
893+
894894
backup=self.backup(**kwargs)
895895

896896
# transform backup into a replica

‎tests/test_simple.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,6 @@ def test_replication_slots(self):
387387

388388
withget_new_node()asnode:
389389
node.init(allow_streaming=True).start()
390-
node.create_replication_slot('slot1')
391390
node.execute(query_create)
392391

393392
withnode.replicate(slot_name='slot1').start()asreplica:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp