[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Миграция mysql->postgersql && unicode



Добрый день!

Есть софтина (prelude), которая умеет работать как с mysql, так и с postgresql. С mysql работает корректно, но очень медленно. После перехода на postgresql заработало значительно быстрее и стабильнее, но перестала сохраняться кириллица.
В mysql всё хранилось в utf8.
В postgresql - хз (никогда раньше с ним не работал).

Через phppgadmin видно , что вместо кириллицы в таблицах строки вида \002\377\377\205\004\000\000\002\004\005\264\001\001\004\002

В mysql таблица описывается так:

CREATE TABLE Prelude_AdditionalData (
_message_ident BIGINT UNSIGNED NOT NULL,
_parent_type ENUM('A', 'H') NOT NULL,
_index TINYINT NOT NULL,
type ENUM("boolean","byte","character","date-time","integer","ntpstamp","portlist","real","string","byte-string","xml") NOT NULL,
meaning VARCHAR(255) NULL,
data BLOB NOT NULL,
PRIMARY KEY (_parent_type, _message_ident, _index)
) TYPE=InnoDB;

В postgresql так:

CREATE TABLE Prelude_AdditionalData (
_message_ident INT8 NOT NULL,
_parent_type VARCHAR(1) CHECK (_parent_type IN ('A', 'H')) NOT NULL,
_index INT2 NOT NULL,
type VARCHAR(32) CHECK ( type IN ('boolean','byte','character','date-time','integer','ntpstamp','portlist','real','string','byte-string','xml')) NOT NULL,
meaning VARCHAR(255) NULL,
data BYTEA NOT NULL,
PRIMARY KEY (_parent_type, _message_ident, _index)
) ;

Портится информация в поле data

Как бы это подправить?


Reply to: