Mudando encoding do Postgres 8.4 para LATIN1

Publicado por Perfil removido em 13/03/2012

[ Hits: 23.067 ]

 


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

Ubuntu 6.06 LTS - Problemas com resolução de tela e mouse

Sorria... você está sendo filmado! Versão: ZoneMinder

Como instalar o XFCE4-terminal na sua distribuição Linux e integrá-lo ao sistema

Ativando o NUMLOCK na tty1 quando ligar o PC automaticamente

Removendo a mensagem de erro vboxclient na inicialização LinuxMint-17x e LMDE-2

Leitura recomendada

Autovacuum do PostgreSQL

PostgreSQL - Alterando senha do usuário postgres

Lidando com nulos (NULL) em SQL

Gambas3 conectando ao PostgreSQL 9

SQL: Filtragem com WHERE sem problemas com maiúsculo ou minúsculo

  

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