44import optparse
55import sys
66
7+ from mamonsu .lib .config import Config
78import mamonsu .lib .platform as platform
89from mamonsu .lib .parser import MissOptsParser
910from mamonsu .plugins .pgsql .driver .checks import is_conn_to_db
1011from mamonsu import __version__ as mamonsu_version
1112from mamonsu .lib .default_config import DefaultConfig
1213from mamonsu .plugins .pgsql .pool import Pooler
1314from mamonsu .tools .bootstrap .sql import CreateMamonsuUserSQL , CreateSchemaExtensionSQL , \
14- CreateSchemaDefaultSQL ,GrantsOnDefaultSchemaSQL , GrantsOnExtensionSchemaSQL , QuerySplit
15+ CreateSchemaDefaultSQL , GrantsOnDefaultSchemaSQL , GrantsOnExtensionSchemaSQL , QuerySplit
1516
1617
1718class Args (DefaultConfig ):
@@ -67,6 +68,11 @@ def __init__(self):
6768 action = 'store_true' ,
6869 dest = 'create_extensions' ,
6970 help = 'create pg_buffercache extension in mamonsu schema' )
71+ bootstrap_group .add_option (
72+ '-c' , '--config' ,
73+ dest = 'config' ,
74+ default = DefaultConfig .default_config_path (),
75+ help = 'Mamonsu config file' )
7076 parser .add_option_group (group )
7177 parser .add_option_group (bootstrap_group )
7278
@@ -153,8 +159,9 @@ def test_db(self, host_pre):
153159 return True
154160
155161
156- def fill_query_params (queries ):
162+ def fill_query_params (queries , args ):
157163 formatted_queries = ""
164+ cfg = Config (args .args .config )
158165 for sql in queries .format (
159166 mamonsu_version ,
160167 mamonsu_version .replace ('.' , '_' ),
@@ -168,7 +175,10 @@ def fill_query_params(queries):
168175 'flush_lag INTERVAL, replay_lag INTERVAL, write_lag INTERVAL,' if Pooler .server_version_greater ('10.0' )
169176 else '' ,
170177 'lsn' if Pooler .server_version_greater ('10.0' ) else 'location' ,
171- 'walfile' if Pooler .server_version_greater ('10.0' ) else 'xlogfile'
178+ 'walfile' if Pooler .server_version_greater ('10.0' ) else 'xlogfile' ,
179+ 'wal_receive_lsn' if Pooler .server_version_greater ('10.0' ) else 'xlog_receive_location' ,
180+ 'wal_replay_lsn' if Pooler .server_version_greater ('10.0' ) else 'xlog_replay_location' ,
181+ cfg .fetch ('xlog' , 'interval' )
172182 ).split (QuerySplit ):
173183 formatted_queries += sql
174184 return formatted_queries
@@ -215,15 +225,15 @@ def run_deploy():
215225 sys .exit (2 )
216226
217227 try :
218- bootstrap_queries = fill_query_params (CreateSchemaDefaultSQL )
228+ bootstrap_queries = fill_query_params (CreateSchemaDefaultSQL , args )
219229 Pooler .query (bootstrap_queries )
220230 except Exception as e :
221231 sys .stderr .write ("Bootstrap execution have exited with an error: {0}\n " .format (e ))
222232 sys .exit (2 )
223233
224234 if args .args .create_extensions :
225235 try :
226- bootstrap_extension_queries = fill_query_params (CreateSchemaExtensionSQL )
236+ bootstrap_extension_queries = fill_query_params (CreateSchemaExtensionSQL , args )
227237 Pooler .query (bootstrap_extension_queries )
228238 except Exception as e :
229239 sys .stderr .write (
0 commit comments