Para conseguir isso você tem que fazer o dumpall do seu banco, criar um novo cluster e restaurar os dados.
Para criar um cluster como C voce pode utilizar: ./initdb --no-locale -D /tmp/teste Ele cria um cluster no /tmp/teste com o encoding em C, dependendo da sua distribuição dai voce para o PostgreSQL e move os dados criados para os diretórios corretos. Lembro que quando criar um banco usar o encoding, se não cria como C. :) Att, ChIcO 2009/7/27 Tiago Adami <[email protected]> > Ok, obrigado pela correção. Realmente dei a resposta de bate-pronto sem > consultar os manuais, baseando-se apenas na minha própria experiência (que > neste caso foi insuficiente). > > Eu li e reli as suas referências [1] e [2], e pelo o que entendi é que se o > locale padrão configurador for igual a 'C' ou 'POSIX' é possível criar > bancos com encoding diferente do padrão, e desde que se copie o banco > 'template0'. É só isso, ou existe outra condição para tal (isso somente na > versão 8.4)? > > Sobre a v.8.3, segundo sua documentação [1]: > > *"If you have selected C or POSIX locale, you can create a database with a > different character set"* > > A pergunta é: como mudar o locale do cluster para que isso seja possível na > versão 8.3? > > > [1] > http://www.postgresql.org/docs/8.3/static/multibyte.html#MULTIBYTE-CHARSET-SUPPORTED > > -- > Tiago J. Adami > Dois Vizinhos - Paraná - Brasil > > > 2009/7/27 Euler Taveira de Oliveira <[email protected]> > > Tiago Adami escreveu: >> > 2) Provavelmente você criou o cluster na versão 8.3/8.4 como UTF8 ou >> > outro encoding. A partir da 8.3, todos os bancos dentro de um cluster >> > devem possuir o mesmo encoding, então você não conseguirá criar um banco >> > com outra página de códigos. >> > >> s/A partir da 8.3/Só o 8.3/ >> >> O 8.4 permite que você cria bancos de dados com diferentes configurações >> regionais. Aconselho ler [1] e [2] para entender o que é permitido e o que >> não é. >> >> euler=# create database foo encoding = 'latin1' lc_collate = >> 'pt_BR.ISO-8859-1' lc_ctype = 'pt_BR.ISO-8859-1' template = template0; >> CREATE DATABASE >> euler=# create database bar encoding = 'SQL_ASCII' lc_collate = 'C' >> lc_ctype = >> 'C' template = template0; >> CREATE DATABASE >> euler=# \l >> Lista dos bancos de dados >> Nome | Dono | Codificação | Collation | Ctype | >> Privilégios de acesso >> >> -----------+-------+-------------+------------------+------------------+----------------------- >> bar | euler | SQL_ASCII | C | C | >> euler | euler | UTF8 | pt_BR.UTF-8 | pt_BR.UTF-8 | >> foo | euler | LATIN1 | pt_BR.ISO-8859-1 | pt_BR.ISO-8859-1 | >> foobar | euler | UTF8 | pt_BR.UTF-8 | pt_BR.UTF-8 | >> postgres | euler | UTF8 | pt_BR.UTF-8 | pt_BR.UTF-8 | >> template0 | euler | UTF8 | pt_BR.UTF-8 | pt_BR.UTF-8 | >> =c/euler >> : >> euler=CTc/euler >> template1 | euler | UTF8 | pt_BR.UTF-8 | pt_BR.UTF-8 | >> =c/euler >> : >> euler=CTc/euler >> (7 rows) >> >> >> [1] http://www.postgresql.org/docs/8.4/static/sql-createdatabase.html >> [2] http://www.postgresql.org/docs/8.4/static/multibyte.html >> >> >> -- >> Euler Taveira de Oliveira >> http://www.timbira.com/ >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > > > > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
