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.
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.
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: Postgres
Legal a dica Emerson
ResponderExcluirValew Herman..
ResponderExcluirAgradeço o apoio de sempre nessa jornada como dba.
Abraços..
E ai Emerson !
ResponderExcluirNão entendi essa parte do /usr/sbin/dpkg-reconfigure locales
Isso é para instalar um locale novo ?
Eu usei o locale -a
Encontrei o pt_BR.ISO88591
Então usei...
O dpkg-reconfigure locales é pro caso de não encontrar o locale ?
Sakamoto
MyTraceLog - Registro de um DBA
http://mytracelog.blogspot.com
Valeu Emerson... mas seria bom colocar a necessidade de restartar o server antes de criar o BD, porque enquanto não restartei, continuou a dar erros!
ResponderExcluir