@@ -118,34 +118,26 @@ def __str__(self):
118
118
def slow_start (self ,replica = False ):
119
119
120
120
# wait for https://github.com/postgrespro/testgres/pull/50
121
- # self.poll_query_until(
122
- # "postgres",
123
- # "SELECT not pg_is_in_recovery()",
124
- # raise_operational_error=False)
125
-
126
- self .start ()
121
+ # self.start()
122
+ # self.poll_query_until(
123
+ # "postgres",
124
+ # "SELECT not pg_is_in_recovery()",
125
+ # suppress={testgres.NodeConnection})
127
126
if replica :
128
- self .poll_query_until (
129
- 'postgres' ,
130
- 'SELECT pg_is_in_recovery()' )
127
+ query = 'SELECT pg_is_in_recovery()'
131
128
else :
132
- while True :
133
- try :
134
- self .poll_query_until (
135
- 'postgres' ,
136
- 'SELECT not pg_is_in_recovery()' )
129
+ query = 'SELECT not pg_is_in_recovery()'
130
+
131
+ self .start ()
132
+ while True :
133
+ try :
134
+ if self .safe_psql ('postgres' ,query )== 't\n ' :
137
135
break
138
- except Exception as e :
136
+ except testgres .QueryException as e :
137
+ if 'database system is starting up' in e [0 ]:
139
138
continue
140
-
141
- # while True:
142
- # try:
143
- # self.poll_query_until(
144
- # "postgres",
145
- # "SELECT pg_is_in_recovery()")
146
- # break
147
- # except ProbackupException as e:
148
- # continue
139
+ else :
140
+ raise e
149
141
150
142
151
143
class ProbackupTest (object ):