default client encoding in postgresql.conf
looking in my freshly installed 8.3.3, I see this in the postgresql.conf
#client_encoding = sql_ascii # actually, defaults to database
# encoding
Now, certainly initdb can't know for sure what encoding a future database will
be in, but since it does know what encoding template0 & friends will be in,
and most databases are copied from those (including encoding), wouldn't a
better default be to set it the encoding of template0?
--
Robert Treat
Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL
Robert Treat <xzilla@users.sourceforge.net> writes:
looking in my freshly installed 8.3.3, I see this in the postgresql.conf
#client_encoding = sql_ascii # actually, defaults to database
# encoding
Now, certainly initdb can't know for sure what encoding a future database will
be in, but since it does know what encoding template0 & friends will be in,
and most databases are copied from those (including encoding), wouldn't a
better default be to set it the encoding of template0?
No. Setting it at all in postgresql.conf is generally the wrong thing;
the right thing is to let the default behavior (ie, make it equal to the
database encoding) happen.
regards, tom lane
On Thursday 12 June 2008 17:38:26 Tom Lane wrote:
Robert Treat <xzilla@users.sourceforge.net> writes:
looking in my freshly installed 8.3.3, I see this in the postgresql.conf
#client_encoding = sql_ascii # actually, defaults to database
# encodingNow, certainly initdb can't know for sure what encoding a future database
will be in, but since it does know what encoding template0 & friends will
be in, and most databases are copied from those (including encoding),
wouldn't a better default be to set it the encoding of template0?No. Setting it at all in postgresql.conf is generally the wrong thing;
the right thing is to let the default behavior (ie, make it equal to the
database encoding) happen.
But isn't putting a default that is likely to be wrong just encouraging people
to set it to something more permanent as an attempt to "correct" this?
--
Robert Treat
Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL
Robert Treat <xzilla@users.sourceforge.net> writes:
looking in my freshly installed 8.3.3, I see this in the postgresql.conf
#client_encoding = sql_ascii # actually, defaults to database
# encoding
But isn't putting a default that is likely to be wrong just encouraging people
to set it to something more permanent as an attempt to "correct" this?
Huh? We *aren't* putting in a default.
This conversation is beginning to suggest to me that client_encoding
shouldn't be listed in postgresql.conf at all.
regards, tom lane
On Thursday 12 June 2008 21:11:57 Tom Lane wrote:
Robert Treat <xzilla@users.sourceforge.net> writes:
looking in my freshly installed 8.3.3, I see this in the
postgresql.conf #client_encoding = sql_ascii # actually,
defaults to database # encodingBut isn't putting a default that is likely to be wrong just encouraging
people to set it to something more permanent as an attempt to "correct"
this?Huh? We *aren't* putting in a default.
Right, but when you look in the postgresql.conf, it looks like we are setting
the default to sql_ascii (since all other default values follow this
commented setting formula).
This conversation is beginning to suggest to me that client_encoding
shouldn't be listed in postgresql.conf at all.
Yeah, that sure seems better than what we currently have.
--
Robert Treat
Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL
Robert Treat wrote:
This conversation is beginning to suggest to me that client_encoding
shouldn't be listed in postgresql.conf at all.Yeah, that sure seems better than what we currently have.
I should have thought there was a good argument for preventing its being
set in postgresql.conf.
cheers
andrew
Andrew Dunstan <andrew@dunslane.net> writes:
Robert Treat wrote:
This conversation is beginning to suggest to me that client_encoding
shouldn't be listed in postgresql.conf at all.Yeah, that sure seems better than what we currently have.
I should have thought there was a good argument for preventing its being
set in postgresql.conf.
No, I can think of cases where someone might legitimately want to do
that, they're just pretty far out of mainstream usage.
We already have some variables that are GUC_NOT_IN_SAMPLE but not
GUC_DISALLOW_IN_FILE, so I don't see anything wrong with considering
client_encoding the same way.
(BTW, sometime we ought to get around to enforcing GUC_DISALLOW_IN_FILE...)
regards, tom lane