Las versiones de postgresql más nuevas vienen con encoding por defecto UTF-8, y además obligan a que todas las BBDD del cluster tengan el mismo encoding. Si nos interesa trabajar con LATIN9 (y en KMKey nos interesa), entonces tenemos que inicializar de nuevo el cluster. Como no es algo que se encuentre a la primera en un man, dejo aquí un pequeño recetario de como hacerlo
Con usuario root, añadimos el locale:
En Ubuntu:
localedef -i es_ES -f ISO-8859-15 es_ES@euro
locale-gen es_ES@euro
En Debian:
dpkg-reconfigure locales
/etc/init.d/postgresql stop
Con usuario postgresql:
su postgres
cd /var/lib/postgresql/8.3
mv main main_old
/usr/lib/postgresql/8.3/bin/initdb /var/lib/postgresql/8.3/main/ --locale=es_ES@euro --lc-ctype=es_ES@euro
cp main_old/postmaster.opts main/
/usr/lib/postgresql/8.3/bin/pg_resetxlog main
cp main_old/*crt main
cp main_old/*key main
Después de esto ya podemos iniciar postgresql de nuevo, y crear nuestas BBDD con LATIN9