segunda-feira, 28 de janeiro de 2013

PostgreSQL com encoding LATIN1




Esta dica foi testada em Linux Debian Lenny, Squeeze e Ubuntu 9.10, com as versões 8.3 e 8.4 do PostgreSQL.

Primeiro, vamos mover tudo do diretório /var/lib/postgresql/8.4/main. Para isso faça o login com o usuário root:

$ su

Agora vamos navegar até o diretório:

# cd /var/lib/postgresql/8.4/main

Então vamos mover os arquivos para um diretório acima, ou anterior... como queiram falar:

# mkdir ../bkp
# mv * ../bkp


Faça o login com o usuário postgres:

# su postgres

E digite isso:

$ /usr/lib/postgresql/8.4/bin/initdb --pgdata=/var/lib/postgresql/8.4/main/ --encoding=LATIN1 --locale=C --username=postgres -W


Agora vamos precisar de apenas dois arquivos desses que movemos. Movi tudo, pois não sei o que cada um tem no diretório especificado, então fica mais fácil do que colar apenas o conteúdo do meu diretório. Então vamos voltar um diretório acima e mover dois arquivos:

# cd ../bkp
# mv server.* ../main
# cd ..
# chown postgres.postgres main

Agora você pode criar base de dados com encoding LATIN1.

Complementando... criar um banco em LATIN1 num cluster codificado em UTF-8:
CREATE DATABASE nome_do_banco ENCODING 'ISO8859-1' LC_CTYPE 'pt_BR.ISO8859-1' TEMPLATE template0;

Nenhum comentário: