postgresql.conf and postgres options
I've just been looking through the options which can and cannot be set in
postgresql.conf and have a few points to raise.
1. There are some undocumented options which appear to relate to WAL:
Name Variable Default Set by
checkpoint_timeout CheckPointTimeout 300 Startup
wal_buffers XLOGbuffers 8 Startup
wal_files XLOGfiles 0 Startup
wal_debug &XLOG_DEBU 0 Superuser
commit_delay &CommitDelay 5 User
Is there any text anywhere to explain what these do? (Point me to that or
some commented code, and I'll write a documentation patch.)
2. The following command line options to postgres don't have an equivalent in
postgresql.conf. Is that intentional? (I suppose it is in several cases,
and I have left out some where it is obviously intentional.) I can't see
why these items can't be put in the configuration file:
Option Action
-C Noversion = true [not documented in postgres man page]
-D potential_Datadir = arg [set PGDATA]
-E EchoQuery = true [echo queries to log]
-e EuroDates = true [use European format for dates]
-N UseNewLine = 0 [newline is not a query separator]
-o [set stdout, stderr to file arg]
3. I see the -E is documented as being for stand-alone mode only; in fact it
is useful for getting the query into the backend log in normal operation.
4. The documentation for -o is confusing:
-o file-name
Sends all debugging and error output to OutputFile. If the backend
is running under the postmaster, error messages are still sent to
the frontend process as well as to OutputFile, but debugging output
is sent to the controlling tty of the postmaster (since only one
file descriptor can be sent to an actual file).
I think this is saying that, under the postmaster, debugging output does
not get sent to OutputFile, and error messages are sent both to OutputFile
and to the frontend. Is that correct?
--
Oliver Elphick Oliver.Elphick@lfix.co.uk
Isle of Wight http://www.lfix.co.uk/oliver
PGP: 1024R/32B8FAA1: 97 EA 1D 47 72 3F 28 47 6B 7E 39 CC 56 E4 C1 47
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C
========================================
"Enter into his gates with thanksgiving, and into his
courts with praise. Be thankful unto him, and bless
his name." Psalms 100:4
1. There are some undocumented options which appear to relate to WAL:
...
Is there any text anywhere to explain what these do?
(Point me to that or some commented code, and I'll write
a documentation patch.)
I'll send description to you soon, thanks.
Vadim
Import Notes
Resolved by subject fallback
Oliver Elphick writes:
2. The following command line options to postgres don't have an equivalent in
postgresql.conf. Is that intentional? (I suppose it is in several cases,
and I have left out some where it is obviously intentional.) I can't see
why these items can't be put in the configuration file:
-C Noversion = true [not documented in postgres man page]
This option doesn't do anything.
-D potential_Datadir = arg [set PGDATA]
This option can't be in the config file because it is used to *find* the
config file.
-E EchoQuery = true [echo queries to log]
Hmm, there's debug_print_query. This will probably be consolidated in the
future.
-e EuroDates = true [use European format for dates]
This should be a config file option, but Thomas Lockhart couldn't make up
his mind what to call it. ;-)
-N UseNewLine = 0 [newline is not a query separator]
I don't think this is useful.
-o [set stdout, stderr to file arg]
I think this is broken or not well maintained. Will be cleaned up in some
later release.
--
Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
I think all valid options should appear in the options file. Right now,
only a few are in there, I think.
I've just been looking through the options which can and cannot be set in
postgresql.conf and have a few points to raise.1. There are some undocumented options which appear to relate to WAL:
Name Variable Default Set by
checkpoint_timeout CheckPointTimeout 300 Startup
wal_buffers XLOGbuffers 8 Startup
wal_files XLOGfiles 0 Startup
wal_debug &XLOG_DEBU 0 Superuser
commit_delay &CommitDelay 5 UserIs there any text anywhere to explain what these do? (Point me to that or
some commented code, and I'll write a documentation patch.)2. The following command line options to postgres don't have an equivalent in
postgresql.conf. Is that intentional? (I suppose it is in several cases,
and I have left out some where it is obviously intentional.) I can't see
why these items can't be put in the configuration file:Option Action
-C Noversion = true [not documented in postgres man page]
-D potential_Datadir = arg [set PGDATA]
-E EchoQuery = true [echo queries to log]
-e EuroDates = true [use European format for dates]
-N UseNewLine = 0 [newline is not a query separator]
-o [set stdout, stderr to file arg]3. I see the -E is documented as being for stand-alone mode only; in fact it
is useful for getting the query into the backend log in normal operation.4. The documentation for -o is confusing:
-o file-name
Sends all debugging and error output to OutputFile. If the backend
is running under the postmaster, error messages are still sent to
the frontend process as well as to OutputFile, but debugging output
is sent to the controlling tty of the postmaster (since only one
file descriptor can be sent to an actual file).I think this is saying that, under the postmaster, debugging output does
not get sent to OutputFile, and error messages are sent both to OutputFile
and to the frontend. Is that correct?--
Oliver Elphick Oliver.Elphick@lfix.co.uk
Isle of Wight http://www.lfix.co.uk/oliver
PGP: 1024R/32B8FAA1: 97 EA 1D 47 72 3F 28 47 6B 7E 39 CC 56 E4 C1 47
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C
========================================
"Enter into his gates with thanksgiving, and into his
courts with praise. Be thankful unto him, and bless
his name." Psalms 100:4
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
I have added all possible config options to postgresql.conf.sample.
I have attached the new version of the file. I think you will be amazed
at how GUC gives us such powerful control over PostgreSQL.
Thanks, Peter.
Oliver Elphick writes:
2. The following command line options to postgres don't have an equivalent in
postgresql.conf. Is that intentional? (I suppose it is in several cases,
and I have left out some where it is obviously intentional.) I can't see
why these items can't be put in the configuration file:-C Noversion = true [not documented in postgres man page]
This option doesn't do anything.
-D potential_Datadir = arg [set PGDATA]
This option can't be in the config file because it is used to *find* the
config file.-E EchoQuery = true [echo queries to log]
Hmm, there's debug_print_query. This will probably be consolidated in the
future.-e EuroDates = true [use European format for dates]
This should be a config file option, but Thomas Lockhart couldn't make up
his mind what to call it. ;-)-N UseNewLine = 0 [newline is not a query separator]
I don't think this is useful.
-o [set stdout, stderr to file arg]
I think this is broken or not well maintained. Will be cleaned up in some
later release.--
Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Attachments:
Bruce Momjian writes:
I have added all possible config options to postgresql.conf.sample.
It was actually fully intentional that there was *no* list of all possible
config options in the sample file, because
1) Who's going to maintain this?
2) People should read the documentation before messing with options.
(" is not the correct string delimiter either.)
I have bad experiences with sample config files. The first thing I
usually do is delete them and dig up the documentation.
Do other people have comments on this issue?
--
Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
Bruce Momjian writes:
I have added all possible config options to postgresql.conf.sample.
It was actually fully intentional that there was *no* list of all possible
config options in the sample file, because1) Who's going to maintain this?
2) People should read the documentation before messing with options.
(" is not the correct string delimiter either.)
Changed to ''. Thanks.
I have bad experiences with sample config files. The first thing I
usually do is delete them and dig up the documentation.Do other people have comments on this issue?
I have marked all places where these defaults are set in the C code,
pointing them to update postgresql.conf.sample.
I found it is nice to see a nice list of all options for quick review.
It makes the file much more useful, I think.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Bruce Momjian wrote:
I have added all possible config options to postgresql.conf.sample.
I have attached the new version of the file. I think you will be amazed
at how GUC gives us such powerful control over PostgreSQL.
Good. As a sysadmin I _like_ sample configs (which I usually rename to
something else, and write my own, of course), as it gives a single
concise quick-reference to the syntax.
Lots of packages do this -- squid is the biggest one I can think of
right now (biggest in terms of config file size and power). Samba is
another example. There are a plethora of others, of course.
But, Peter's point does hold -- someone will have to maintain this.
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11
I think the list is great, show what can be configured rather than
guessing/digging to find it, where it belongs, in what order (if any), etc.
etc. etc.
The only addition I could think would be to label (default value).
Needless, I like it.. :)
At 1/24/2001 01:03 PM, Bruce Momjian wrote:
Show quoted text
Bruce Momjian writes:
I have added all possible config options to postgresql.conf.sample.
It was actually fully intentional that there was *no* list of all possible
config options in the sample file, because1) Who's going to maintain this?
2) People should read the documentation before messing with options.
(" is not the correct string delimiter either.)
Changed to ''. Thanks.
I have bad experiences with sample config files. The first thing I
usually do is delete them and dig up the documentation.Do other people have comments on this issue?
I have marked all places where these defaults are set in the C code,
pointing them to update postgresql.conf.sample.I found it is nice to see a nice list of all options for quick review.
It makes the file much more useful, I think.
Defaults are listed as the assignment value, and of course, the are all
commented out.
I think the list is great, show what can be configured rather than
guessing/digging to find it, where it belongs, in what order (if any), etc.
etc. etc.
The only addition I could think would be to label (default value).Needless, I like it.. :)
At 1/24/2001 01:03 PM, Bruce Momjian wrote:
Bruce Momjian writes:
I have added all possible config options to postgresql.conf.sample.
It was actually fully intentional that there was *no* list of all possible
config options in the sample file, because1) Who's going to maintain this?
2) People should read the documentation before messing with options.
(" is not the correct string delimiter either.)
Changed to ''. Thanks.
I have bad experiences with sample config files. The first thing I
usually do is delete them and dig up the documentation.Do other people have comments on this issue?
I have marked all places where these defaults are set in the C code,
pointing them to update postgresql.conf.sample.I found it is nice to see a nice list of all options for quick review.
It makes the file much more useful, I think.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026