2008/8/13 Lucas Mocellin <[EMAIL PROTECTED]>

> Pessoal,
>
> "revivendo" este tópico.
>
> li na lista e procurei em vários lugares do google,
>
> entendi +- o conceito locale/encoding, porém não entendi como resolver o
> problema,
>
> estou migrando um DB do 8.2 para o 8.3, entao fiz um dump, e na hora de
> criar o novo banco para restaurar os dados, ele da o mesmo erro:
>
> 2008-08-13 15:57:44 BRT ERROR:  encoding LATIN1 does not match server's
> locale en_US.UTF-8
> 2008-08-13 15:57:44 BRT DETAIL:  The server's LC_CTYPE setting requires
> encoding UTF8.
> 2008-08-13 15:57:44 BRT STATEMENT:  CREATE DATABASE "db_web" WITH
> ENCODING='LATIN1'
> 2008-08-13 15:57:44 BRT WARNING:  nonstandard use of \\ in a string literal
> at character 137
> 2008-08-13 15:57:44 BRT HINT:  Use the escape string syntax for
> backslashes, e.g., E'\\'.
>
> Como é uma migração de um banco que o pessoal usa windows, não estou
> interessado em converter o banco ou algo do gênero, gostaria de deixar no
> mesmo encoding.
>
> Como posso criar isso?
>
> Preciso manter o UTF-8 como locale do sistema, porém meu "locale -a" não
> tem o LATIN1.
>
> Lucas, eu encontrei duas alternativas para ter um cluster (agrupamento de
bancos) do PostgreSQL 8.3 em Latin1, mas somente no Linux:

- Criando um novo cluster usando os fontes ou mesmo pelos repositórios:
Após compilar os fontes (se pelos fontes)
export LANG=pt_BR.iso-8859-1
bin/initdb --encoding latin1 -D /usr/local/pgsql/data

(Dica do Euler)

A outra alternativa é alterando a codificação do sistema operacional.
Vi uma dica para o Debian e testei no Ubuntu e funcionou. Após a instalação
do PostgreSQL 8.3 ele dava suporte a LATIN1. Não lembro detalhes dessa dica
nem sei se tem efeitos colaterais.

-- 
Ribamar FS - [EMAIL PROTECTED]
http://ribafs.net
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a