[re-posting as I mistakenly sent this only to the OP]

On 09/04/10 16:49, Wolfgang.Koenig wrote:
initdb stores default client_encoding from environment-variable


Postgres Version: 8.4.3 and 8.3.6
Operating System: Sun Solaris 5.10 and SuseEnterprise 9

When a database is initialized with the initdb-command, the default
client_enconding, which will be stored in the DB, depends on the value
of the environment-variable PGCLIENTENCODING at the time of running
initdb. This behaviour is not documented.
Furthermore I didn't find a command to change this
default client_encoding in the database later.
The default client_encoding does not depend on the database encoding!


I cannot reproduce this issue based on the test script you've provided. However, I was testing on Ubuntu 9.10, not a vanilla 8.4, so this can't be taken as definitive.

$ env | grep PG
$ PGPORT=7654 psql -U postgres postgres -c 'show client_encoding;'
 client_encoding
-----------------
 UTF8
(1 row)

$ PGPORT=7654 psql -U postgres postgres
(snip blah blah)
postgres=# show port ;
 port
------
 7654
(1 row)
postgres=# \l
                                  List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_AU.UTF-8 | en_AU.UTF-8 |
 template0 | postgres | UTF8     | en_AU.UTF-8 | en_AU.UTF-8 | =c/postgres
: postgres=CTc/postgres
 template1 | postgres | UTF8     | en_AU.UTF-8 | en_AU.UTF-8 | =c/postgres
: postgres=CTc/postgres
(3 rows)



$ PGCLIENTENCODING="WIN1250" PGPORT=7654 psql -U postgres postgres -c 'show client_encoding;'
 client_encoding
-----------------
 WIN1250
(1 row)


--
Craig Ringer

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to