Mudando encoding do Postgres 8.4 para LATIN1

Publicado por Perfil removido em 13/03/2012

[ Hits: 22.779 ]

 


Mudando encoding do Postgres 8.4 para LATIN1



Necessitei alterar o encoding do Postgres 8.4, que por padrão é UTF-8. Esta dica serve para o Postgres 9 também.

Testado em CentOS 6 e Rad Hat Enterprise 6.

1º - Fazer backup das bases.

2º - Fazer backup dos arquivos “.conf”:

# cd /var/lib/pgsql/data
# cp -a pg_hba.conf postgresql.conf ../backups


3º - Parar o banco:

# /etc/init.d/postgresql stop

4º - Remover o conteúdo da pasta data:

# cd /var/lib/pgsql/
# rm -rf data/*


* Obs.: Muito cuidado com este comando!

5º - Recriar o data:

su postgres
# env LANG=LATIN1 /usr/bin/initdb --locale=pt_BR.iso88591 --encoding=LATIN1 -D /var/lib/pgsql/data/


6º - Retornar com os “.conf”:

# cd /var/lib/pgsql/backups
# cp -a pg_hba.conf postgresql.conf ../data


7º - Restartar o Postgres:

# /etc/init.d/postgresql restart

8º - Recriar senha do usuário postgres:

# sudo -u postgres psql
postgres=# alter user postgres with encrypted password 'senha';

9º - Testando:

# psql -h localhost -U postgres
Senha para usuário postgres:
psql (8.4.9)

Digite "help" para ajuda.

postgres=# \l
                                    Lista dos bancos de dados
   Nome      |   Dono   | Codificação |   Collation    |     Ctype      | Privilégios de acesso 
-----------+----------+---------------+----------------+----------------+------------------------
 postgres    | postgres | LATIN1        | pt_BR.iso88591 | pt_BR.iso88591 | 
 template0 | postgres | LATIN1        | pt_BR.iso88591 | pt_BR.iso88591 | =c/postgres
                                                                        : postgres=CTc/postgres
 template1 | postgres | LATIN1        | pt_BR.iso88591 | pt_BR.iso88591 | =c/postgres
                                                                        : postgres=CTc/postgres
(3 registros)

postgres=#


* Obs.: Em Debian e derivados, são caminhos diferentes.

Pronto!!! Agora é só correr para o abraço!

Um abraço a todos!

Outras dicas deste autor

Como criar um cadastro de clientes no pgadmin3

Criação de pacotes .deb

Pasta Trash no KDE 4.4.5

Habilitanto o repositório EPEL no CentOS

Howto: Postfix integrado ao Active Directory - Debian Lenny

Leitura recomendada

Modelagem de bancos de dados

Select com extração de dia, mês ou ano no PostgreSQL

Criando domínio com função de validação no PostgreSQL

Fazendo backup com PostgreSQL

Acesso externo no PostgreSQL 8.4

  

Comentários
[1] Comentário enviado por clistion em 18/10/2013 - 16:03h

Se vc nao quer mais o CLUSTER atual então:

apague ele:
pg_dropcluster --stop 8.4 main
e crie outro na codificação q quiser:
pg_createcluster --start -e UTF-8 8.4 main

legenda:
8.4 - é a versão do postgres
main - é o nome padrão do cluster criado na instalação do postgres



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts