@@ -115,11 +115,18 @@ def pg_log_name(self):
115115 def _create_recovery_conf (self , username , master ):
116116 # yapf: disable
117117 conninfo = (
118- u"user ={} "
118+ u"application_name ={} "
119119 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 )
123130
124131 # yapf: disable
125132 line = (
@@ -147,7 +154,7 @@ def _maybe_stop_logger(self):
147154 if self ._logger :
148155 self ._logger .stop ()
149156
150- def _format_verbose_error (self ):
157+ def _format_verbose_error (self , message = None ):
151158 # list of important files
152159 files = [
153160 os .path .join (self .data_dir , "postgresql.conf" ),
@@ -158,6 +165,11 @@ def _format_verbose_error(self):
158165
159166 error_text = ""
160167
168+ # append message if asked to
169+ if message :
170+ error_text += message
171+ error_text += '\n ' * 2
172+
161173 for f in files :
162174 # skip missing files
163175 if not os .path .exists (f ):
@@ -205,7 +217,7 @@ def init(self,
205217 def default_conf (self ,
206218 fsync = False ,
207219 unix_sockets = True ,
208- allow_streaming = False ,
220+ allow_streaming = True ,
209221 log_statement = 'all' ):
210222 """
211223 Apply default settings to this node.
@@ -284,8 +296,8 @@ def get_auth_method(t):
284296 wal_level = "hot_standby"
285297
286298 # 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
289301 conf .write (u"hot_standby = on\n "
290302 u"max_wal_senders = {}\n "
291303 u"wal_keep_segments = {}\n "
@@ -399,10 +411,7 @@ def start(self, params=[]):
399411 try :
400412 _execute_utility (_params , self .utils_log_name )
401413 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' )
406415 raise_from (StartNodeException (msg ), e )
407416
408417 self ._maybe_start_logger ()
@@ -457,10 +466,7 @@ def restart(self, params=[]):
457466 try :
458467 _execute_utility (_params , self .utils_log_name )
459468 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' )
464470 raise_from (StartNodeException (msg ), e )
465471
466472 self ._maybe_start_logger ()
0 commit comments