Cambiar de enconding postgresql >= 8.3

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

Etiquetas: