Criando Banco de Dados no PostgreSQL 9.0 com enconde Latin1.

Posted by Emerson on 10:47 with 4 comments
Olá.

Vamos mostrar agora como criar uma base de dados no postgre 9.0.4 com o encode latin1.Alguns sistemas legados ainda utilizam esse tipo de encode.Então vamos aos passos.

Anteriormente tive erros após a instalação do postgres na criação do banco de dados:

postgres=# CREATE DATABASE teste

WITH ENCODING = 'LATIN1';
ERRO:  codificação LATIN1 não corresponde a configuração regional pt_BR.UTF-8
DETALHE:  A definição de LC_TYPE escolhida requer codificação UTF8.

Essa configuração requer algumas alterações no SO.

Nesse caso não vamos ter que recriar o cluster de dados do postgres então usaremos alguns parâmetros na criação do database;

1 -  Configurar o SO.


root@Debian01:~# /usr/sbin/dpkg-reconfigure locales



Marcar as seguinte opções:
  [*] en_US ISO-8859-1
  [*] pt_BR ISO-8859-1
  [*] pt_BR.UTF-8 UTF-8

2 - Criar o Bancos de Dados:

postgres=# CREATE DATABASE teste
WITH ENCODING = 'LATIN1'
TABLESPACE = pg_default
LC_COLLATE = 'pt_BR.iso88591'
LC_CTYPE = 'pt_BR.iso88591'
TEMPLATE template0;

postgres@Debian01:~$ /usr/local/pgsql/bin/psql -l
   Name    |  Owner   | Encoding |   Collation    |     Ctype      |   Access privileges
-----------+----------+----------+----------------+----------------+-----------------------
 teste     | postgres | LATIN1   | pt_BR.iso88591 | pt_BR.iso88591 |

Pronto!

O SO utilizado foi o Debian, mas pode ser realmente adaptada para outras distros do linux.

Abraços!

Emerson
Database Administrator.
Categories: