diff --git a/cli/scripts/db.py b/cli/scripts/db.py index f5138bcc..ae1e57d2 100755 --- a/cli/scripts/db.py +++ b/cli/scripts/db.py @@ -8,6 +8,7 @@ import json import util import fire +import re def create(db=None, User=None, Passwd=None, pg=None, spock=None, help=False): """ @@ -116,11 +117,15 @@ def guc_set(guc_name, guc_value): nc = "./pgedge " ncb = nc + "pgbin " + str(pg) + " " - cmd = f"ALTER SYSTEM SET {guc_name} = {guc_value}" + guc_value = re.sub(r'([\'\\])', r'\1\1', str(guc_value)) + cmd = f"ALTER SYSTEM SET {guc_name} = '{guc_value}'" + rc1 = util.echo_cmd(ncb + '"psql -q -c \\"' + cmd + '\\" postgres"',False) cmd = f"SELECT pg_reload_conf()" rc2 = util.echo_cmd(ncb + '"psql -q -c \\"' + cmd + '\\" postgres"',False) + rcs = rc1 + rc2 + if rcs == 0: util.message(f"Set GUC {guc_name} to {guc_value}","info") else: