def init_comp(p_comp, p_pidfile=''): print(" ") print("## initializing " + p_comp + " ##################") MY_HOME = os.getenv('MY_HOME', '') datadir = os.path.join(MY_HOME, 'data', p_comp) if os.path.isdir(datadir): print("## " + p_comp + " already configured.") return (1) else: os.mkdir(datadir) util.set_column("datadir", p_comp, datadir) if p_pidfile != '': pidfilepath = os.path.join(datadir, p_pidfile) util.set_column("pidfile", p_comp, pidfilepath) logdir = os.path.join(MY_HOME, 'data', 'logs', p_comp) if not os.path.isdir(logdir): os.mkdir(logdir) util.set_column("logdir", p_comp, logdir) return (0)
# If not, use -A ident (actually sets peer for local and ident for loopback) batcmd = initdb_cmd + ' -U postgres -A ident ' + init_options + \ ' -D "' + pg_data + '" ' + \ ' > "' + logfile + '" 2>&1' if svcuser > "" and svcuser != curr_user: batcmd = "sudo su - " + svcuser + " -c '" + batcmd + "'" print(' ' + batcmd) err = os.system(batcmd) if err: msg = "ERROR: Unable to Initialize PG. see logfile: " + logfile fatal_error(msg) util.set_column('datadir', pgver, pg_data) util.set_column('svcuser', pgver, svcuser) util.set_column('logdir', pgver, pg_log) util.update_postgresql_conf(pgver, i_port, update_listen_addr=is_password) if is_password: pg_pass_file = util.remember_pgpassword(pg_password, str(i_port)) else: pg_pass_file = None util.write_pgenv_file(pg_home, pgver, pg_data, 'postgres', 'postgres', str(i_port), pg_pass_file) if is_password: src_dir = pg_home + os.sep + "init" + os.sep
is_running = True msg = "You cannot change the configuration when the server is running." if isJson: jsonMsg = {} jsonMsg['status'] = "error" jsonMsg['component'] = pgver jsonMsg['msg'] = msg print(json.dumps([jsonMsg])) else: print(msg) sys.exit(0) ## DATADIR, PORT , LOGDIR & SVCNAME ########################### if args.datadir > '': util.set_column("datadir", pgver, args.datadir) ## PORT ################################################ if args.port > 0: rc = util.update_postgresql_conf(pgver, args.port, False) if rc > 0: sys.exit(rc) if args.logdir > '': util.set_column("logdir", pgver, args.logdir) else: ## DATA ############################################### data_root = os.path.join(MY_HOME, "data") if not os.path.isdir(data_root): os.mkdir(data_root)
jsonMsg['msg'] = msg print json.dumps([jsonMsg]) else: print msg sys.exit(0) ## PORT ################################################ if args.port > 0: rc = util.update_postgresql_conf(pgver, args.port, False) if rc > 0: sys.exit(rc) ## DATADIR, LOGDIR & SVCNAME ########################### if args.datadir > '': util.set_column("datadir", pgver, args.datadir) if args.logdir > '': util.set_column("logdir", pgver, args.logdir) if args.svcname > '': util.set_column("svcname", pgver, args.svcname) ## AUTOSTART ########################################### if args.autostart is None: sys.exit(0) if util.get_platform() == "Linux": msg = "Autostart not supported for Linux at this time" if isJson: jsonMsg = {}