Em 11 de agosto de 2011 13:13, Cristiano Alves <
cristi...@santacasaalegrete.org.br> escreveu:

> Quais detalhes faltam?
>
>
Pelo que entendi vc tem uma base LATIN1 e quer migrar para o PostgreSQL 9
certo? Agora é saber se vc quer manter o mesmo encoding LATIN1 mesmo sabendo
que está obsoleto (já mencionado) ou quer migrar para UTF-8, por exemplo:


1) Se quiser manter o LATIN1

1.1) Criar a base com encoding LATIN1 no PostgreSQL 9
postgres=# create database minha_base_latin1 encoding 'LATIN1' lc_collate
'pt_BR.ISO-8859-1' lc_ctype = 'pt_BR.ISO-8859-1' template template0;
CREATE DATABASE

postgres=# \l
                                               List of databases
       Name        |       Owner       | Encoding |    Collation     |
 Ctype       |   Access privileges
-------------------+-------------------+----------+------------------+------------------+-----------------------
 minha_base_latin1 | postgres          | LATIN1   | pt_BR.ISO-8859-1 |
pt_BR.ISO-8859-1 |

1.2) Deves efetuar um pg_dump (usando o cliente do 8.2) plain-text da sua
base de origem e restaurar ela no PostgreSQL 9. Ex:

/usr/lib/postgresql/8.2/bin/pg_dump ... | bzip2 -c >
/tmp/dump_migracao.sql.bz2

Obs: estou presumindo que vc está usando Linux com uma distro Debian (ou
baseada no mesmo), caso contrario deves ajustar os caminhos para os binários
nos seus locais.



2) Se quiser mudar para UTF-8

2.1) Criar sua base como UTF-8 no PostgreSQL 9

postgres=# create database minha_base_utf8;
CREATE DATABASE
postgres=# \l
                                               List of databases
       Name        |       Owner       | Encoding |    Collation     |
 Ctype       |   Access privileges
-------------------+-------------------+----------+------------------+------------------+-----------------------
 minha_base_latin1 | postgres          | LATIN1   | pt_BR.ISO-8859-1 |
pt_BR.ISO-8859-1 |
 minha_base_utf8   | postgres          | UTF8     | pt_BR.UTF-8      |
pt_BR.UTF-8      |

Obs: isso estou presumindo que seu cluster já está como UTF-8


2.2) Deves efetuar um pg_dump (usando o cliente do 8.2) plain-text da sua
base de origem especificando o encoding a ser gerado e restaurar ela no
PostgreSQL 9. Ex:

/usr/lib/postgresql/8.2/bin/pg_dump -E UTF-8 ... | bzip2 -c >
/tmp/dump_migracao.sql.bz2


Creio que com essas pequenas dicas consegues evoluir no seu trabalho.

-- 
Fabrízio de Royes Mello
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a