Pra quem está enfrentado problemas em relação ao encoding do e-cidade em clusters UTF-8, aqui vai a solução pra contornar isso.
1 - Faça backups dos seus bancos;
2 - Remova o cluster atual com o comando:
# pg_dropcluster --stop VERSÃO.POSTGRESQL main
3 - Crie um novo cluster com o seguinte comando:
# pg_createcluster --locale=POSIX VERSÃO.POSTGRESQL main
4 - Reinicie o daemon do Postgresql
5 - Acesse o terminal interativo do psql e crie a estrutura para seus bancos da seguinte forma:
# Para criar bancos em UTF8
psql> CREATE DATABASE nome_do_banco ENCODING 'UTF-8' LC_CTYPE 'pt_BR.UTF-8' TEMPLATE template0;
# Para criar bancos em LATIN1
psql> CREATE DATABASE nome_do_banco ENCODING 'ISO8859-1' LC_CTYPE 'pt_BR.ISO8859-1' TEMPLATE template0;
Pronto agora é só restaurar seus backups numa boa, já que seu servidor Postgresql agora aceita vários encodings sem que se precise realizar alterações mirabolantes em seu S.O.
PS. Testado somente em Linux. ;)
Autor: Sandro Marcell