Resolviendo problemas de codificación en PostgreSQL para OpenERP

Me ha sucedido -más de una vez- que tras instalar Ubuntu Server, el PostgreSQL viene por defecto con una codificación de caracteres Latin1 -y da errores al intentar crear bases de datos con OpenERP.

Por defecto, PostgreSQL ha traído las siguientes bases de datos:

Bases de datos por defecto en Postgres, con codificación "Latin1"

 

Y para que OpenERP funcione sin problemas, tenemos que dejarlas así:

Después de hacer unos pequeños cambios en las bases de datos para que OpenERP funcione

Nota. [Me parece] que no es necesario que la base de datos postgres y template1 también tengan codificación UTF-8 para que OpenERP funcione sin problemas, pero yo le he cambiado en todas.

Ahora, empecemos:

  1. Nos hacemos superusuario:
    ubuntu@localhost:~$ sudo -i
    (Colocamos la contraseña del usuario)
  2. Una vez somos superusuario, nos cambiamos al usuario postgres (Quien es superusuario de la base de datos PostgreSQL):
    root@localhost:~# su postgres
  3. Ahora, para verificar nuestra codificación de bases de datos, le diremos que nos muestre la lista de bases de datos:
    postgres@localhost:~$ psql -l
    (Nos listará las bases de datos)
  4. Entraremos al psql:
    postgres@localhost:~$ psql
  5. Esta es la parte importante; cambiar la codificación:
    postgres=# update pg_database set encoding=6 where datname='template0';
    (Le decimos encoding 6 debido a una tabla que existe por ahí, en PostgreSQL y nos dice que el 6 corresponde a UTF-8)
  6. Ahora, cambiemos la columna Collation:
    postgres=# update pg_database set datcollate='en_US.UTF-8' where datname='template0';
  7. Por último, cambiemos la columna Ctype:
    postgres=# update pg_database set datctype='en_US.UTF-8' where datname='template0';
  8. Salgamos del psql:
    postgres=# q

Ahora, si queremos cambiar en el resto de bases de datos, solamente tenemos que cambiar el último parámetro (donde está datname='template0', cambiamos template0 por el nombre de la base de datos que queramos modificar).

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>