Postgresql: bancos com diferentes encodings

Pra quem está enfrentado problemas em relação ao encoding dos bancos no SGBD Postgresql, aqui vai a solução pra resolver 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 nas configurações de sua distro.

:yes:

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s