@@ -115,11 +115,18 @@ def pg_log_name(self):
115
115
def _create_recovery_conf (self , username , master ):
116
116
# yapf: disable
117
117
conninfo = (
118
- u"user ={} "
118
+ u"application_name ={} "
119
119
u"port={} "
120
- u"host={} "
121
- u"application_name={}"
122
- ).format (username , master .port , master .host , master .name )
120
+ u"user={} "
121
+ ).format (master .name , master .port , username )
122
+
123
+ # host is tricky
124
+ try :
125
+ import ipaddress
126
+ ipaddress .ip_address (master .host )
127
+ conninfo += u"hostaddr={}" .format (master .host )
128
+ except ValueError :
129
+ conninfo += u"host={}" .format (master .host )
123
130
124
131
# yapf: disable
125
132
line = (
@@ -147,7 +154,7 @@ def _maybe_stop_logger(self):
147
154
if self ._logger :
148
155
self ._logger .stop ()
149
156
150
- def _format_verbose_error (self ):
157
+ def _format_verbose_error (self , message = None ):
151
158
# list of important files
152
159
files = [
153
160
os .path .join (self .data_dir , "postgresql.conf" ),
@@ -158,6 +165,11 @@ def _format_verbose_error(self):
158
165
159
166
error_text = ""
160
167
168
+ # append message if asked to
169
+ if message :
170
+ error_text += message
171
+ error_text += '\n ' * 2
172
+
161
173
for f in files :
162
174
# skip missing files
163
175
if not os .path .exists (f ):
@@ -205,7 +217,7 @@ def init(self,
205
217
def default_conf (self ,
206
218
fsync = False ,
207
219
unix_sockets = True ,
208
- allow_streaming = False ,
220
+ allow_streaming = True ,
209
221
log_statement = 'all' ):
210
222
"""
211
223
Apply default settings to this node.
@@ -284,8 +296,8 @@ def get_auth_method(t):
284
296
wal_level = "hot_standby"
285
297
286
298
# yapf: disable
287
- max_wal_senders = 5
288
- wal_keep_segments = 20
299
+ max_wal_senders = 10 # default in PG 10
300
+ wal_keep_segments = 20 # for convenience
289
301
conf .write (u"hot_standby = on\n "
290
302
u"max_wal_senders = {}\n "
291
303
u"wal_keep_segments = {}\n "
@@ -399,10 +411,7 @@ def start(self, params=[]):
399
411
try :
400
412
_execute_utility (_params , self .utils_log_name )
401
413
except ExecUtilException as e :
402
- msg = (
403
- u"Cannot start node\n "
404
- u"{}\n " # pg_ctl log
405
- ).format (self ._format_verbose_error ())
414
+ msg = self ._format_verbose_error ('Cannot start node' )
406
415
raise_from (StartNodeException (msg ), e )
407
416
408
417
self ._maybe_start_logger ()
@@ -457,10 +466,7 @@ def restart(self, params=[]):
457
466
try :
458
467
_execute_utility (_params , self .utils_log_name )
459
468
except ExecUtilException as e :
460
- msg = (
461
- u"Cannot restart node\n "
462
- u"{}\n " # pg_ctl log
463
- ).format (self ._format_verbose_error ())
469
+ msg = self ._format_verbose_error ('Cannot restart node' )
464
470
raise_from (StartNodeException (msg ), e )
465
471
466
472
self ._maybe_start_logger ()
0 commit comments