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/
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 |