Solaris 10 & tsearch2 & locale ru_RU.ANSI1251 - Mailing list pgsql-ru-general

From Andrey N. Oktyabrski
Subject Solaris 10 & tsearch2 & locale ru_RU.ANSI1251
Date
Msg-id 4444932D.20807@antora.ru
Whole thread Raw
Responses Re: Solaris 10 & tsearch2 & locale ru_RU.ANSI1251
List 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);

pgsql-ru-general by date:

Previous
From: Nick Kostirya
Date:
Subject: Аналог dbms_lock
Next
From: Teodor Sigaev
Date:
Subject: Re: Solaris 10 & tsearch2 & locale ru_RU.ANSI1251