Не создается БД. Ошибка:
postgres@host:~$ createdb -e -E UTF8 -O friday friday_db
CREATE DATABASE friday_db OWNER friday ENCODING 'UTF8';
createdb: database creation failed: ERROR: encoding UTF8 does not match server's locale en_US
DETAIL: The server's LC_CTYPE setting requires encoding LATIN1.
en_US.utf8 сгенрирована. Пробовал и dpkg-reconfigure locales, и вручную перегенерить - не помогает.
Посмотрел окружение демона - LC_CTYPE=en_US. Прописал в :
LANG = 'en_US.utf8'
LANGUAGE = 'en_US.utf8'
LC_CTYPE = 'en_US.utf8'
Перезапустил - LANG и LANGUAGE изменились, а LC_CTYPE все равно en_US!
Debian etch; postgresql-8.3 из backports
пересоздай кластер с нужной локалью, предварительно забекапив его конфигурацию из /etc и данные
если нужно (запускать от root'а):
$ pg_dropcluster --stop 8.3 main
$ LANG=en_US.utf8 pg_createcluster --start-conf auto --start 8.3 main
$ pg_lsclusters
после последней команды должно напечатать что-то типа:
Version Cluster Port Status Owner Data directory Log file
8.3 main 5432 online postgres /var/lib/postgresql/8.3/main /var/log/postgresql/postgresql-8.3-main.log
ps: имхо lc_ctype прописывается намертво в базу, что логично
так как от него зависят индексы, видимо данные в логе транзакций и т.д.
pps: вместо установки переменной окружения в LANG=en_US.utf8 pg_createcluster ...
можно указать непосредственно параметрами pg_createcluster