mirror of
https://github.com/postgres/postgres.git
synced 2025-04-24 10:47:04 +03:00
Fix PGDATAOLD and PGDATANEW to properly set pgconfig location, per
report from Tom. Backpatch to 9.2.
This commit is contained in:
parent
8525419947
commit
2eeb5eb23f
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
|
|
||||||
static void usage(void);
|
static void usage(void);
|
||||||
static void check_required_directory(char **dirpath,
|
static void check_required_directory(char **dirpath, char **configpath,
|
||||||
char *envVarName, char *cmdLineOption, char *description);
|
char *envVarName, char *cmdLineOption, char *description);
|
||||||
|
|
||||||
|
|
||||||
@ -203,14 +203,14 @@ parseCommandLine(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Get values from env if not already set */
|
/* Get values from env if not already set */
|
||||||
check_required_directory(&old_cluster.bindir, "PGBINOLD", "-b",
|
check_required_directory(&old_cluster.bindir, NULL, "PGBINOLD", "-b",
|
||||||
"old cluster binaries reside");
|
"old cluster binaries reside");
|
||||||
check_required_directory(&new_cluster.bindir, "PGBINNEW", "-B",
|
check_required_directory(&new_cluster.bindir, NULL, "PGBINNEW", "-B",
|
||||||
"new cluster binaries reside");
|
"new cluster binaries reside");
|
||||||
check_required_directory(&old_cluster.pgdata, "PGDATAOLD", "-d",
|
check_required_directory(&old_cluster.pgdata, &old_cluster.pgconfig,
|
||||||
"old cluster data resides");
|
"PGDATAOLD", "-d", "old cluster data resides");
|
||||||
check_required_directory(&new_cluster.pgdata, "PGDATANEW", "-D",
|
check_required_directory(&new_cluster.pgdata, &new_cluster.pgconfig,
|
||||||
"new cluster data resides");
|
"PGDATANEW", "-D", "new cluster data resides");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -284,15 +284,20 @@ or\n"), old_cluster.port, new_cluster.port, os_info.user);
|
|||||||
* user hasn't provided the required directory name.
|
* user hasn't provided the required directory name.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
check_required_directory(char **dirpath, char *envVarName,
|
check_required_directory(char **dirpath, char **configpath,
|
||||||
char *cmdLineOption, char *description)
|
char *envVarName, char *cmdLineOption,
|
||||||
|
char *description)
|
||||||
{
|
{
|
||||||
if (*dirpath == NULL || strlen(*dirpath) == 0)
|
if (*dirpath == NULL || strlen(*dirpath) == 0)
|
||||||
{
|
{
|
||||||
const char *envVar;
|
const char *envVar;
|
||||||
|
|
||||||
if ((envVar = getenv(envVarName)) && strlen(envVar))
|
if ((envVar = getenv(envVarName)) && strlen(envVar))
|
||||||
|
{
|
||||||
*dirpath = pg_strdup(envVar);
|
*dirpath = pg_strdup(envVar);
|
||||||
|
if (configpath)
|
||||||
|
*configpath = pg_strdup(envVar);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
pg_log(PG_FATAL, "You must identify the directory where the %s.\n"
|
pg_log(PG_FATAL, "You must identify the directory where the %s.\n"
|
||||||
"Please use the %s command-line option or the %s environment variable.\n",
|
"Please use the %s command-line option or the %s environment variable.\n",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user