Upgrade Posgtresql 8.1 to 8.4 FreeBSD

Доброго времени!

В связи с использованием Postgis возникла необходимость обновления базы с версии 8.1.4 на 8.4.

Вопрос может быть избитый, но хотелось бы услышать мнения гуру, как правильно все сделать, так как в базе содержатся рабочие данные, и ими пользуются люди.

Если есть возможность напишите, или дайте ссылку какие действия и в какой последовательности делать.

Спасибо!

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Попытался сохранить pg_dump в

Попытался сохранить pg_dump в sql - кириллица сохранилась в непонятном формате...

CREATE TABLE accounts (
id integer DEFAULT nextval('accounts_id_seq'::regclass) NOT NULL,
company character varying(30) DEFAULT '????????????????'::character varying NOT NULL,
psw character varying(10) DEFAULT '1'::character varying NOT NULL,
c_login character varying(15) DEFAULT '1'::character varying NOT NULL,
tzone integer DEFAULT 7 NOT NULL,
blocked boolean DEFAULT false NOT NULL,
agent_id integer DEFAULT 0 NOT NULL,
show_warn boolean DEFAULT false NOT NULL
);

COPY accounts (id, company, psw, c_login, tzone, blocked, agent_id, show_warn) FROM stdin;
17 ?????? "??????" 1 1 6 f 1 f
24 TEST 1 1 6 f 1 f
27 ?????? "???????????? ????????????" 1 1 6 f 1 f

и при попытке накатить дамп через psql, ругается:
ERROR: value too long for type character varying(30)
CONTEXT: COPY accounts, line 3, column company: "п?п·п· "п?п?я?я?п?п? п°п?я?п?п?п?""

кто подскажет как в dump-файлах корректно сохранять кириллические символы ?

исходная база создана в кодировке UTF8

Значит у вас консоль в koi8r,

Значит у вас консоль в koi8r, поэтому и учитывается локаль клиента, куда происходит выгрузка.
Про миграцию от релиза к релизу написано здесь:
http://postgresql.ru.net/manual/install-upgrading.html
льзоваться инструкцией по ссылке.

У pg_dump есть ключик указания кодировки кстати.

попытаться изменить локаль клиента на UTF8 ?

>У pg_dump есть ключик указания кодировки кстати.

пробовал выставлять разные кодировки
--encoding=UTF8
--encoding=UNICODE
--encoding=KOI8R, --encoding=KOI8-R выдает ошибку: Error message from server: ERROR: character 0xe28496 of encoding "UTF8" has no equivalent in "KOI8"

Остальные, без изменений. Скачал скрипт с дампом на видовую машину, при просмотре выставил кодировку ANSI, и появились нормальные кириллические символы...

как быть ? попытаться изменить локаль клиента на UTF8 ??

Видимо да. Вообще-то есть

Видимо да.
Вообще-то есть команда SET CLIENT_ENCODING TO 'кодировка', которую можно дать серверу для приведение в соответствие кодировки сервера и кодировки клиента, но вот как исхитрится поставить её перед выподнением pg_dump?

Можно ещё попробовать непосредственно в конфиге сервера покрутить. Есть такой параметр client_encoding(кодировка), возможно это поможет.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023