Aarni =?iso-8859-1?q?Ruuhim=E4ki?= <aarni@kymi.com> writes:
> initdb -E LATIN1 ..., so one way to change it is to re-init.
> You can create databases with different encoding (from template1) with same
> switch e.g.
> createdb mydb -E UTF8 ...
Note that in most cases you can't just whack the encoding around without
paying attention to locale. I believe the only locale that really works
with multiple encodings is "C" --- all the other ones assume a
particular encoding. You'll get very odd and unpleasant results from
text sorting and functions like upper/lower if you have the database
locale and encoding set incompatibly.
Unfortunately we don't currently support changing locale on the fly ---
so you can only set it at initdb time. So the -E switch to createdb
is a bit dangerous.
This stuff is covered in the docs at
http://www.postgresql.org/docs/8.0/static/charset.html
regards, tom lane