Mudando encoding do Postgres 8.4 para LATIN1

Publicado por Perfil removido em 13/03/2012

[ Hits: 19.936 ]

 


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

Gconjugue: Conjugação de verbos no Linux

Números aleatórios em shell script

Instalando o Discador iBest no Kurumin

MongoDB no Python 3

Como colocar o tema Oxygen no Slackware [vídeo]

Leitura recomendada

Modelagem de bancos de dados

Novo site sobre PostgreSQL

Permitindo conexão ao banco no PostreSQL 8.3

Instalação e configuração do PostgreSQL e phpPgAdmin no Debian

Consultas sem preocupação com maiúsculas ou minúsculas no PostgreSQL

  

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
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts