Обсуждение: encoding does not match server's locale

Поиск
Список
Период
Сортировка

encoding does not match server's locale

От
mikie
Дата:
Hi,
I just wanted to upgrade from 8.2 to 8.3. So I performed pg_dump_all
and now when I try to feed psql with the dump I have problems with
some databases:
psql:c:/Program Files/PostgreSQL/8.2/bin/dump.sql:32: ERROR:  encoding
LATIN2 does not match server's locale Polish_Poland.1250

OK, I have already found this is not a bug, but it was always required
that encodings and server's locale should match. In the new version it
is enforced that these have to match always.
However, I used different encodings in previous 8.2 within a cluster
and now I don't know how to restore my databases. Questions:
- is there any way I can convert the dump file from previous version
to one that will match entirely?
- or maybe I can prepare the dump with some special switches in the
pg_dump_all (I still have the previous 8.2 version installed and can
be run to complete the dump again) ?
- why is it that in the 8.3 it is OK to create e.g. WIN1250 encoding
and UTF8 encoding for databases within the same db cluster (no errors
about that) and simply LATIN2 is disallowed?
- what is the sense of existing the option to select encodings, if
these (as I understand) should always be the same as servers locale?

Regards,
MK

Re: encoding does not match server's locale

От
Tom Lane
Дата:
mikie <mikie.pl@gmail.com> writes:
> However, I used different encodings in previous 8.2 within a cluster
> and now I don't know how to restore my databases.

initdb in C locale.

            regards, tom lane