Solaris 10 & tsearch2 & locale ru_RU.ANSI1251

From: "Andrey N(dot) Oktyabrski" <ano(at)antora(dot)ru>
To: pgsql-ru-general-owner(at)postgresql(dot)org
Subject: Solaris 10 & tsearch2 & locale ru_RU.ANSI1251
Date: 2006-04-18 07:20:13
Message-ID: 4444932D.20807@antora.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

Здравствуйте.

Пытаюсь на солярке сделать базу в 1251 и к ней прикрутить tsearch2. Всё
бы хорошо, но локаль там почему-то называется ru_RU.ANSI1251 вместо
ru_RU.CP1251 и постгрес заявляет буквально следующее:
psql:table.sql:238: ERROR: could not find tsearch config by locale

Можно ли где-то прописать и что, чтобы такой ошибки не возникало? Или
проблема не в этом и локаль для tsearch всегда должна быть koi8-r? В
общем, хотелось бы узнать хоть где искать причину - в tsearch, в
постгресе, ещё где-то...

Вот что в базе:
INSERT INTO pg_ts_dict
(SELECT 'ru_ispell',
dict_init,
'DictFile="/usr/local/cms1/sql/russian.dict",'
'AffFile="/usr/local/cms1/sql/russian.aff",'
'StopFile="/usr/local/cms1/sql/russian.stop"',
dict_lexize
FROM pg_ts_dict
WHERE dict_name = 'ispell_template');

UPDATE pg_ts_cfg SET locale = 'ru_RU.ANSI1251' WHERE ts_name =
'default_russian';

DELETE FROM pg_ts_cfgmap WHERE ts_name = 'default_russian';
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'lhword',
'{ru_ispell,ru_stem}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'lpart_hword',
'{ru_ispell,ru_stem}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'lword',
'{ru_ispell,ru_stem}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'url', '{simple}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'host', '{simple}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'sfloat', '{simple}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'uri', '{simple}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'int', '{simple}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'float', '{simple}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'email', '{simple}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'word', '{simple}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'hword',
'{ru_ispell,ru_stem}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'nlword',
'{ru_ispell,ru_stem}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'nlpart_hword',
'{ru_ispell,ru_stem}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'part_hword',
'{simple}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'nlhword',
'{ru_ispell,ru_stem}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'file', '{simple}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'uint', '{simple}');
INSERT INTO pg_ts_cfgmap VALUES ('default_russian', 'version', '{simple}');

CREATE TABLE article (
...
vector tsvector
);

CREATE INDEX article_vector_key ON article USING gist(vector);
CREATE TRIGGER article_vector_update BEFORE UPDATE OR INSERT ON article
FOR EACH ROW EXECUTE PROCEDURE tsearch2(vector, name, title, content,
author);

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Teodor Sigaev 2006-04-18 15:09:36 Re: Solaris 10 & tsearch2 & locale ru_RU.ANSI1251
Previous Message Nick Kostirya 2006-04-04 11:24:53 Аналог dbms_lock