mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-18 18:44:06 +08:00
Fix 'pg_ctl reload' to properly preserve postmaster commend-line
arguments on restart. Patch to releases 8.0 - 8.3.X.
This commit is contained in:
parent
bd80180e1d
commit
0e69ff3399
@ -37,7 +37,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.443.4.10 2007/08/02 23:20:22 adunstan Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.443.4.11 2008/06/27 01:52:58 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
*
|
||||
@ -3655,7 +3655,7 @@ CreateOptsFile(int argc, char *argv[], char *fullprogname)
|
||||
|
||||
fprintf(fp, "%s", fullprogname);
|
||||
for (i = 1; i < argc; i++)
|
||||
fprintf(fp, " %s%s%s", SYSTEMQUOTE, argv[i], SYSTEMQUOTE);
|
||||
fprintf(fp, " \"%s\"", argv[i]);
|
||||
fputs("\n", fp);
|
||||
|
||||
if (fclose(fp))
|
||||
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.53.4.5 2008/02/20 22:18:41 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.53.4.6 2008/06/27 01:52:58 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -535,15 +535,18 @@ do_start(void)
|
||||
{
|
||||
char *arg1;
|
||||
|
||||
arg1 = strchr(optline, *SYSTEMQUOTE);
|
||||
if (arg1 == NULL || arg1 == optline)
|
||||
post_opts = "";
|
||||
else
|
||||
/*
|
||||
* Are we at the first option, as defined by space and
|
||||
* double-quote?
|
||||
*/
|
||||
if ((arg1 = strstr(optline, " \"")) != NULL ||
|
||||
/* check in case this is an older server */
|
||||
(arg1 = strstr(optline, " -")) != NULL)
|
||||
{
|
||||
*(arg1 - 1) = '\0'; /* this should be a space */
|
||||
post_opts = arg1;
|
||||
*arg1 = '\0'; /* terminate so we get only program name */
|
||||
post_opts = arg1 + 1; /* point past whitespace */
|
||||
}
|
||||
if (postgres_path != NULL)
|
||||
if (postgres_path == NULL)
|
||||
postgres_path = optline;
|
||||
}
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user