From: | "Wolfgang(dot)Koenig" <Wolfgang(dot)Koenig(at)versatel(dot)de> |
---|---|
To: | <pgsql-bugs(at)postgresql(dot)org> |
Cc: | "Olaf(dot)Waldheim" <Olaf(dot)Waldheim(at)versatel(dot)de> |
Subject: | initdb stores default client_encoding from environment-variable |
Date: | 2010-04-09 08:49:32 |
Message-ID: | 227142482560EF458FF1F7E784E26AB8022B4D0E@FLBVEXCH01.versatel.local |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
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!
This is a small shell-script to show this behaviour.
#!/bin/bash -x
#
PGHOST="localhost"
PGPORT=7654
PGDATABASE=postgres
PGUSER=postgres
export PGHOST PGPORT PGDATABASE PGUSER
export LD_LIBRARY_PATH=/usr/local/pgsql/lib
binpath=/usr/local/pgsql/bin
dir=/data/DB-2
$binpath/pg_ctl stop -D $dir/pg-base -m fast -o '-p 7654'
#
# remove Database
#
rm -r $dir/pg-base 2> /dev/null
sleep 1
mkdir $dir/pg-base 2> /dev/null
PGCLIENTENCODING="WIN1250"
export PGCLIENTENCODING
$binpath/initdb --encoding=UTF8 -D $dir/pg-base
$binpath/pg_ctl start -D $dir/pg-base -l $dir/pg-server.log -o '-p 7654'
sleep 5
unset PGCLIENTENCODING # IMPORTANT !!
$binpath/psql -c "select version();"
$binpath/psql -c "show client_encoding;"
From | Date | Subject | |
---|---|---|---|
Next Message | Vitalii Tymchyshyn | 2010-04-09 09:20:30 | BUG #5411: \copy do not work with dot "." in query |
Previous Message | Dave Page | 2010-04-09 08:43:20 | Re: bugs that have not been replied-to on list |