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

Responder a