mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
pg_ctl, pg_upgrade: allow multiple -o/-O options, append them
Report by Pavel Raiskup
This commit is contained in:
@ -137,17 +137,35 @@ parseCommandLine(int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'o':
|
case 'o':
|
||||||
old_cluster.pgopts = pg_strdup(optarg);
|
/* append option? */
|
||||||
|
if (!old_cluster.pgopts)
|
||||||
|
old_cluster.pgopts = pg_strdup(optarg);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char *old_pgopts = old_cluster.pgopts;
|
||||||
|
|
||||||
|
old_cluster.pgopts = psprintf("%s %s", old_pgopts, optarg);
|
||||||
|
free(old_pgopts);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'O':
|
case 'O':
|
||||||
new_cluster.pgopts = pg_strdup(optarg);
|
/* append option? */
|
||||||
|
if (!new_cluster.pgopts)
|
||||||
|
new_cluster.pgopts = pg_strdup(optarg);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char *new_pgopts = new_cluster.pgopts;
|
||||||
|
|
||||||
|
new_cluster.pgopts = psprintf("%s %s", new_pgopts, optarg);
|
||||||
|
free(new_pgopts);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Someday, the port number option could be removed and passed
|
* Someday, the port number option could be removed and passed
|
||||||
* using -o/-O, but that requires postmaster -C to be
|
* using -o/-O, but that requires postmaster -C to be
|
||||||
* supported on all old/new versions.
|
* supported on all old/new versions (added in PG 9.2).
|
||||||
*/
|
*/
|
||||||
case 'p':
|
case 'p':
|
||||||
if ((old_cluster.port = atoi(optarg)) <= 0)
|
if ((old_cluster.port = atoi(optarg)) <= 0)
|
||||||
|
@ -130,14 +130,16 @@
|
|||||||
<term><option>-o</option> <replaceable class="parameter">options</replaceable></term>
|
<term><option>-o</option> <replaceable class="parameter">options</replaceable></term>
|
||||||
<term><option>--old-options</option> <replaceable class="parameter">options</replaceable></term>
|
<term><option>--old-options</option> <replaceable class="parameter">options</replaceable></term>
|
||||||
<listitem><para>options to be passed directly to the
|
<listitem><para>options to be passed directly to the
|
||||||
old <command>postgres</command> command</para></listitem>
|
old <command>postgres</command> command; multiple
|
||||||
|
option invocations are appended</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><option>-O</option> <replaceable class="parameter">options</replaceable></term>
|
<term><option>-O</option> <replaceable class="parameter">options</replaceable></term>
|
||||||
<term><option>--new-options</option> <replaceable class="parameter">options</replaceable></term>
|
<term><option>--new-options</option> <replaceable class="parameter">options</replaceable></term>
|
||||||
<listitem><para>options to be passed directly to the
|
<listitem><para>options to be passed directly to the
|
||||||
new <command>postgres</command> command</para></listitem>
|
new <command>postgres</command> command; multiple
|
||||||
|
option invocations are appended</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
|
@ -302,7 +302,8 @@ PostgreSQL documentation
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Specifies options to be passed directly to the
|
Specifies options to be passed directly to the
|
||||||
<command>postgres</command> command.
|
<command>postgres</command> command; multiple
|
||||||
|
option invocations are appended.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The options should usually be surrounded by single or double
|
The options should usually be surrounded by single or double
|
||||||
|
@ -288,7 +288,8 @@ PostgreSQL documentation
|
|||||||
class="parameter">extra-options</replaceable> are passed to
|
class="parameter">extra-options</replaceable> are passed to
|
||||||
all server processes started by this
|
all server processes started by this
|
||||||
<command>postgres</command> process. If the option string contains
|
<command>postgres</command> process. If the option string contains
|
||||||
any spaces, the entire string must be quoted.
|
any spaces, the entire string must be quoted; multiple
|
||||||
|
option invocations are appended.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
@ -2184,7 +2184,16 @@ main(int argc, char **argv)
|
|||||||
register_servicename = pg_strdup(optarg);
|
register_servicename = pg_strdup(optarg);
|
||||||
break;
|
break;
|
||||||
case 'o':
|
case 'o':
|
||||||
post_opts = pg_strdup(optarg);
|
/* append option? */
|
||||||
|
if (!post_opts)
|
||||||
|
post_opts = pg_strdup(optarg);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char *old_post_opts = post_opts;
|
||||||
|
|
||||||
|
post_opts = psprintf("%s %s", old_post_opts, optarg);
|
||||||
|
free(old_post_opts);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
exec_path = pg_strdup(optarg);
|
exec_path = pg_strdup(optarg);
|
||||||
|
Reference in New Issue
Block a user