Re: Solaris 10 & tsearch2 & locale ru_RU.ANSI1251

Поиск
Список
Период
Сортировка
От Teodor Sigaev
Тема Re: Solaris 10 & tsearch2 & locale ru_RU.ANSI1251
Дата
Msg-id 44450130.9080906@sigaev.ru
обсуждение исходный текст
Ответ на Solaris 10 & tsearch2 & locale ru_RU.ANSI1251  ("Andrey N. Oktyabrski" <ano@antora.ru>)
Список pgsql-ru-general
А что говорит
postgres=# show lc_ctype;
postgres=# show lc_collate;
?


BTW, все файлы словарей должныбыть в 1251...

Andrey N. Oktyabrski wrote:
> Здравствуйте.
>
> Пытаюсь на солярке сделать базу в 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);
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings

--
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
                                                    WWW: http://www.sigaev.ru/

В списке pgsql-ru-general по дате отправления:

Предыдущее
От: "Andrey N. Oktyabrski"
Дата:
Сообщение: Solaris 10 & tsearch2 & locale ru_RU.ANSI1251
Следующее
От: Serik
Дата:
Сообщение: как преобразовать "2006-04-19 10:05:44.98593" -> "2006-04-19 10:05"