@@ -203,19 +203,29 @@ def cache_pg_config_data(cmd):
203
203
return cache_pg_config_data ("pg_config" )
204
204
205
205
206
- def get_pg_version ( bin_dir = None ):
206
+ def get_pg_version2 ( os_ops : OsOperations , bin_dir = None ):
207
207
"""
208
208
Return PostgreSQL version provided by postmaster.
209
209
"""
210
+ assert os_ops is not None
211
+ assert isinstance (os_ops , OsOperations )
210
212
211
213
# Get raw version (e.g., postgres (PostgreSQL) 9.5.7)
212
- postgres_path = os .path .join (bin_dir , 'postgres' ) if bin_dir else get_bin_path ( 'postgres' )
214
+ postgres_path = os .path .join (bin_dir , 'postgres' ) if bin_dir else get_bin_path2 ( os_ops , 'postgres' )
213
215
_params = [postgres_path , '--version' ]
214
- raw_ver = tconf . os_ops .exec_command (_params , encoding = 'utf-8' )
216
+ raw_ver = os_ops .exec_command (_params , encoding = 'utf-8' )
215
217
216
218
return parse_pg_version (raw_ver )
217
219
218
220
221
+ def get_pg_version (bin_dir = None ):
222
+ """
223
+ Return PostgreSQL version provided by postmaster.
224
+ """
225
+
226
+ return get_pg_version2 (tconf .os_ops , bin_dir )
227
+
228
+
219
229
def parse_pg_version (version_out ):
220
230
# Generalize removal of system-specific suffixes (anything in parentheses)
221
231
raw_ver = re .sub (r'\([^)]*\)' , '' , version_out ).strip ()
0 commit comments