mirror of https://github.com/zulip/zulip.git
installer: Add run_psql_as_postgres function zulip_tools.py.
Add a helper `run_psql_as_postgres` function in `scripts/lib/zulip_tools.py`. This is preparatory refactoring for the work to add custom database and user names.
This commit is contained in:
parent
a9e73358bf
commit
21cc186105
|
@ -32,6 +32,7 @@ from scripts.lib.zulip_tools import (
|
|||
get_config_file,
|
||||
get_tornado_ports,
|
||||
parse_os_release,
|
||||
run_psql_as_postgres,
|
||||
su_to_zulip,
|
||||
)
|
||||
|
||||
|
@ -137,13 +138,8 @@ if os.path.exists("/etc/init.d/postgresql"):
|
|||
|
||||
if glob.glob("/usr/share/postgresql/*/extension/tsearch_extras.control"):
|
||||
# Remove legacy tsearch_extras package references
|
||||
subprocess.check_call(
|
||||
[
|
||||
"su",
|
||||
"postgres",
|
||||
"-c",
|
||||
'psql -v ON_ERROR_STOP=1 zulip -c "DROP EXTENSION IF EXISTS tsearch_extras;"',
|
||||
]
|
||||
run_psql_as_postgres(
|
||||
sql_query="DROP EXTENSION IF EXISTS tsearch_extras;",
|
||||
)
|
||||
subprocess.check_call(["apt-get", "remove", "-y", "postgresql-*-tsearch-extras"])
|
||||
|
||||
|
|
|
@ -580,6 +580,26 @@ def get_deploy_options(config_file: configparser.RawConfigParser) -> List[str]:
|
|||
return get_config(config_file, "deployment", "deploy_options", "").strip().split()
|
||||
|
||||
|
||||
def run_psql_as_postgres(
|
||||
sql_query: str,
|
||||
) -> None:
|
||||
subcmd = " ".join(
|
||||
map(
|
||||
shlex.quote,
|
||||
[
|
||||
"psql",
|
||||
"-v",
|
||||
"ON_ERROR_STOP=1",
|
||||
# TODO: Stop hardcoding the database name.
|
||||
"zulip",
|
||||
"-c",
|
||||
sql_query,
|
||||
],
|
||||
)
|
||||
)
|
||||
subprocess.check_call(["su", "postgres", "-c", subcmd])
|
||||
|
||||
|
||||
def get_tornado_ports(config_file: configparser.RawConfigParser) -> List[int]:
|
||||
ports = []
|
||||
if config_file.has_section("tornado_sharding"):
|
||||
|
|
Loading…
Reference in New Issue