Re: Solaris 10 & tsearch2 & locale ru_RU.ANSI1251

From: Teodor Sigaev <teodor(at)sigaev(dot)ru>
To: "Andrey N(dot) Oktyabrski" <ano(at)antora(dot)ru>
Cc: pgsql-ru-general-owner(at)postgresql(dot)org
Subject: Re: Solaris 10 & tsearch2 & locale ru_RU.ANSI1251
Date: 2006-04-18 15:09:36
Message-ID: 44450130.9080906@sigaev.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/

In response to

Browse pgsql-ru-general by date

  From Date Subject
Next Message Serik 2006-04-19 07:41:04 как преобразовать "2006-04-19 10:05:44.98593" -> "2006-04-19 10:05"
Previous Message Andrey N. Oktyabrski 2006-04-18 07:20:13 Solaris 10 & tsearch2 & locale ru_RU.ANSI1251