Here's the plan for assimilating the command-line options of the postmaster
and postgres options. I reported earlier on a couple of conflict areas; here
is the full plan:
* Remove: postmaster -a -b -m -M
These options have done nothing forever.
* postmaster options added to postgres: -h -i -k -l -n
These options will not have any useful effects, but their behavior is
consistent if you do, say, SHOW listen_addresses.
* postgres options added to postmaster: -e -E -f -O -P -t -W
Using -E with postmaster does nothing, though.
* Renamed options (because of conflicts):
postgres -N is now postgres -j (mostly internal use)
postgres -o is now postgres -r (mostly internal use)
(postmaster -o is obsolete but still works for compatibility; postgres -o will
get you an error.)
postgres -p is now postgres -y (internal use only)
postmaster -S now sets work_mem, like postgres -S does. The (deprecated)
silent mode can be obtained using the long option --silent-mode=on.
postmaster -s is now postmaster -T (expert/hacker use only)
For the options -O, -P, and -W I have added three new GUC variables
allow_system_table_mods (PGC_SIGHUP), ignore_system_indexes (PGC_BACKEND),
connection_startup_delay (PGC_BACKEND); mostly to simplify the
postmaster->postgres communication.
Except for a few odd exceptions, all command line arguments now map to setting
a GUC variable.
Comments?