Mudando encoding do Postgres 8.4 para LATIN1

Publicado por Perfil removido em 13/03/2012

[ Hits: 23.105 ]

 


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

Flash player em plataforma 64 bits (instalando com .deb)

Facilitando as permissões no Linux com uso de ACLs

Atualizando as extensões do Firefox sem esforço

Lançadores de aplicativos para o KDE Plasma5/6

Ignorar determinado pacote na listagem de pacotes órfãos do deborphan

Leitura recomendada

Criando um tipo específico para retorno de dados no PostgreSQL

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

Configurar Postgresql para conectar com senha criptografada

Guardando e Recuperando Dados JSON em Tabela PostgreSQL

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts