Mudando encoding do Postgres 8.4 para LATIN1

Publicado por Amarildo Sertorio dos Santos em 13/03/2012

[ Hits: 15.902 ]

 


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

Tuning PostgreSQL 9.1 com pgtune - Debian e derivados

NCFTP - Upload recursivo via FTP em apenas uma linha

Leitura recomendada

PostgreSQL no Fedora 18

Tuning PostgreSQL 9.1 com pgtune - Debian e derivados

Documentação do PosgreSQL 8.0 em Português_BR

Instalando PostgreSQL no FreeBSD

Fazendo backup com 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 HostGator.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts