diff options
author | Bruce Momjian <bruce@momjian.us> | 2013-11-30 16:50:33 -0500 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2013-11-30 16:50:33 -0500 |
commit | e7d56aee2d1805cd9d280c0e6f8c8af80a13aa3e (patch) | |
tree | 7a3c848fa6634ab103283a254c67ae01a5ada147 | |
parent | 4bd371f6f886446b6c0886f088992e6f3d4ab4a2 (diff) | |
download | postgresql-e7d56aee2d1805cd9d280c0e6f8c8af80a13aa3e.tar.gz postgresql-e7d56aee2d1805cd9d280c0e6f8c8af80a13aa3e.zip |
pg_upgrade: Handle default_transaction_read_only settings
Setting default_transaction_read_only=true could prevent pg_upgrade from
completing, so prepend default_transaction_read_only=false to
PGOPTIONS.
-rw-r--r-- | contrib/pg_upgrade/option.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/contrib/pg_upgrade/option.c b/contrib/pg_upgrade/option.c index 250aeb8e1a1..6bd91c52301 100644 --- a/contrib/pg_upgrade/option.c +++ b/contrib/pg_upgrade/option.c @@ -25,6 +25,7 @@ static void usage(void); static void check_required_directory(char **dirpath, char **configpath, char *envVarName, char *cmdLineOption, char *description); +#define FIX_DEFAULT_READ_ONLY "-c default_transaction_read_only=false" UserOpts user_opts; @@ -208,6 +209,17 @@ parseCommandLine(int argc, char *argv[]) fclose(fp); } + /* Turn off read-only mode; add prefix to PGOPTIONS? */ + if (getenv("PGOPTIONS")) + { + char *pgoptions = psprintf("%s %s", FIX_DEFAULT_READ_ONLY, + getenv("PGOPTIONS")); + pg_putenv("PGOPTIONS", pgoptions); + pfree(pgoptions); + } + else + pg_putenv("PGOPTIONS", FIX_DEFAULT_READ_ONLY); + /* Get values from env if not already set */ check_required_directory(&old_cluster.bindir, NULL, "PGBINOLD", "-b", "old cluster binaries reside"); |