Remove use of postmaster.opts.default by pg_ctl.

This commit is contained in:
Bruce Momjian 2008-06-26 01:12:20 +00:00
parent 5f6f840e93
commit 124c22d5fd
2 changed files with 19 additions and 44 deletions

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.45 2008/04/23 13:44:58 mha Exp $ $PostgreSQL: pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.46 2008/06/26 01:12:19 momjian Exp $
PostgreSQL documentation PostgreSQL documentation
--> -->
@ -405,20 +405,6 @@ PostgreSQL documentation
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><filename>postmaster.opts.default</filename></term>
<listitem>
<para>
If this file exists in the data directory,
<application>pg_ctl</application> (in <option>start</option>
mode) will pass the contents of the file as options to the
<command>postgres</command> command, unless overridden by the
<option>-o</option> option.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><filename>postmaster.opts</filename></term> <term><filename>postmaster.opts</filename></term>

View File

@ -4,7 +4,7 @@
* *
* Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
* *
* $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.98 2008/04/24 14:23:43 mha Exp $ * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.99 2008/06/26 01:12:20 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -140,7 +140,6 @@ static void read_post_opts(void);
static bool test_postmaster_connection(bool); static bool test_postmaster_connection(bool);
static bool postmaster_is_alive(pid_t pid); static bool postmaster_is_alive(pid_t pid);
static char def_postopts_file[MAXPGPATH];
static char postopts_file[MAXPGPATH]; static char postopts_file[MAXPGPATH];
static char pid_file[MAXPGPATH]; static char pid_file[MAXPGPATH];
static char conf_file[MAXPGPATH]; static char conf_file[MAXPGPATH];
@ -575,42 +574,35 @@ unlimit_core_size(void)
static void static void
read_post_opts(void) read_post_opts(void)
{ {
char *optline = NULL;
if (post_opts == NULL) if (post_opts == NULL)
{ {
char **optlines; char **optlines;
int len;
optlines = readfile(ctl_command == RESTART_COMMAND ? post_opts = ""; /* defatult */
postopts_file : def_postopts_file); if (ctl_command == RESTART_COMMAND)
if (optlines == NULL)
{ {
if (ctl_command == START_COMMAND || ctl_command == RUN_AS_SERVICE_COMMAND) optlines = readfile(postopts_file);
post_opts = ""; if (optlines == NULL)
else
{ {
write_stderr(_("%s: could not read file \"%s\"\n"), progname, postopts_file); write_stderr(_("%s: could not read file \"%s\"\n"), progname, postopts_file);
exit(1); exit(1);
} }
} else if (optlines[0] == NULL || optlines[1] != NULL)
else if (optlines[0] == NULL || optlines[1] != NULL)
{
write_stderr(_("%s: option file \"%s\" must have exactly one line\n"),
progname, ctl_command == RESTART_COMMAND ?
postopts_file : def_postopts_file);
exit(1);
}
else
{
optline = optlines[0];
len = strcspn(optline, "\r\n");
optline[len] = '\0';
if (ctl_command == RESTART_COMMAND)
{ {
write_stderr(_("%s: option file \"%s\" must have exactly one line\n"),
progname, postopts_file);
exit(1);
}
else
{
int len;
char *optline = NULL;
char *arg1; char *arg1;
optline = optlines[0];
len = strcspn(optline, "\r\n");
optline[len] = '\0';
arg1 = strchr(optline, *SYSTEMQUOTE); arg1 = strchr(optline, *SYSTEMQUOTE);
if (arg1 == NULL || arg1 == optline) if (arg1 == NULL || arg1 == optline)
post_opts = ""; post_opts = "";
@ -622,8 +614,6 @@ read_post_opts(void)
if (postgres_path != NULL) if (postgres_path != NULL)
postgres_path = optline; postgres_path = optline;
} }
else
post_opts = optline;
} }
} }
} }
@ -1894,7 +1884,6 @@ main(int argc, char **argv)
if (pg_data) if (pg_data)
{ {
snprintf(def_postopts_file, MAXPGPATH, "%s/postmaster.opts.default", pg_data);
snprintf(postopts_file, MAXPGPATH, "%s/postmaster.opts", pg_data); snprintf(postopts_file, MAXPGPATH, "%s/postmaster.opts", pg_data);
snprintf(pid_file, MAXPGPATH, "%s/postmaster.pid", pg_data); snprintf(pid_file, MAXPGPATH, "%s/postmaster.pid", pg_data);
snprintf(conf_file, MAXPGPATH, "%s/postgresql.conf", pg_data); snprintf(conf_file, MAXPGPATH, "%s/postgresql.conf", pg_data);