Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Супер-юзер и создание типов данных... / 12 сообщений из 12, страница 1 из 1
15.03.2004, 16:14
    #32442172
Эридан
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер-юзер и создание типов данных...
Пытался установить пакет tsearch2 на postgres7.3. Необходимый sql-файл содержит строки вида 'create function ...language C' Отсюда мораль, выполнять можно только из-под суперпользователя БД. Все таблицы, функции и типы создались, но мои приложения работают из-под обычного пользователя и не видят эти ресурсы. Пробовал сделать grant all ... to ... - эффект тот же.
Что делать???
И еще один ламерский вопрос: как разрешить другому юзеру пользоваться типом, созданным из-под суперпользователя?
...
Рейтинг: 0 / 0
07.05.2004, 13:30
    #32510636
nevermind
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер-юзер и создание типов данных...
Та же проблема:
$ psql ftstest < tsearch2.sql
SET
BEGIN
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'pg_ts_dict_pkey' for table 'pg_ts_dict'
CREATE TABLE
ERROR: stat failed on file '$libdir/tsearch2': No such file or directory

Где определяется $libdir? Подскажите ламеру!!!
...
Рейтинг: 0 / 0
07.05.2004, 14:06
    #32510710
nevermind
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер-юзер и создание типов данных...
Или вот так:
SET
BEGIN
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'pg_ts_dict_pkey' for table 'pg_ts_dict'
CREATE TABLE
ERROR: c: permission denied

Permission denied у него на libdir что ли? иил куда?! ПОМОГИТЕ ПЛЗ!!!!
...
Рейтинг: 0 / 0
07.05.2004, 14:57
    #32510821
nevermind
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер-юзер и создание типов данных...
ТОВАРИЩИ!!!! Под суперпользователем все создалось.. так скажите же мне.... почему для него все нормально, а для обычных - борода!! Какие права им выставить нужно?!??!
...
Рейтинг: 0 / 0
07.05.2004, 15:07
    #32510847
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер-юзер и создание типов данных...
Какие права им выставить нужно?

В доке sql-createfunction.html написано: To be able to define a function, the user must have the USAGE privilege on the language.
...
Рейтинг: 0 / 0
07.05.2004, 15:09
    #32510853
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер-юзер и создание типов данных...
Может быть tsearch надо устанавливать из-под юзера postgres, а использовать - из-под любого юзера?
...
Рейтинг: 0 / 0
07.05.2004, 15:28
    #32510882
nevermind
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер-юзер и создание типов данных...
Разобрался.... действительно ставить нужно из под суперюзера - иначе он файлы .so не видит.... ну а потом GRANT-ы дать всем кому надо... Спасибо!
...
Рейтинг: 0 / 0
08.05.2004, 03:51
    #32511346
nevermind
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер-юзер и создание типов данных...
Эпопея продолжается... после успешной установки возникла необходимость добавить поддержку локали ru_RU.CP1251, которой-таки не оказалось в дефолтной поставке. Действуем по шаблону, получаем:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
# select * from pg_ts_cfg;
     ts_name     | prs_name |    locale
 -----------------+----------+--------------
 
 default         | default  | C
 default_russian | default  | ru_RU.KOI8-R
 simple          | default  |
 win_russian     | default  | ru_RU.CP1251 <=== добавленная конфигурация

Далее, добавляем свои словари:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
# select * from pg_ts_dict where dict_name='ru_win_ispell' or dict_name='ispell_template' ;
dict_name | dict_init | dict_initoption | dict_lexize | dict_comment
 -----------------+-----------+--------------------------------
 
 ispell_template |   10895858  |  10895859  | ISpell interface. Must have .dict and .aff files
 ru_win_ispell   |   10895858  | 
DictFile="/usr/local/pgsql/share/contrib/russian.dict",
AffFile="/usr/local/pgsql/share/contrib/russian.aff",
StopFile="/usr/local/pgsql/share/contrib/rus-win.stop" | 10895859  |
(записей:  2 )

Как видно OID-ы совпадают (как и требуется в доках)... Словари помещены в /usr/local/pgsql/... с владельцем - суперпользователем базы (или какие там права должны быть?!)

Ну и наконец устанавливаем соответствие:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
# select * from pg_ts_cfgmap where ts_name='win_russian';
   ts_name   |  tok_alias   |    dict_name
 -------------+--------------+-----------------
 
 win_russian | lhword       | {simple}
 win_russian | lpart_hword  | {simple}
 win_russian | lword        | {simple}
 win_russian | url          | {simple}
 win_russian | email        | {simple}
 win_russian | file         | {simple}
 win_russian | float        | {simple}
 win_russian | host         | {simple}
 win_russian | hword        | {simple}
 win_russian | int          | {simple}
 win_russian | part_hword   | {simple}
 win_russian | sfloat       | {simple}
 win_russian | uint         | {simple}
 win_russian | uri          | {simple}
 win_russian | version      | {simple}
 win_russian | word         | {simple}
 win_russian | nlhword      | {ru_win_ispell}
 win_russian | nlword       | {ru_win_ispell}
 win_russian | nlpart_hword | {ru_win_ispell}

Тестируем:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
=> select set_curcfg('win_russian');
set_curcfg
 ------------
 

( 1  запись)

=> select * from pg_ts_cfg where oid=show_curcfg();
   ts_name   | prs_name |    locale
 -------------+----------+--------------
 
 win_russian | default  | ru_RU.CP1251
( 1  запись)

=> select reset_tsearch();
NOTICE:  TSearch cache cleaned
 reset_tsearch
 ---------------
 

( 1  запись)

=> select * from ts_debug('Учебное пособие излагает основные сведения о порядке разработки и оформления управленческой документации');
ts_name   | tok_type |  description   |     token      |    dict_name    | tsvector
 -------------+----------+----------------+----------------+--------
 
win_russian | nlword   | Non-latin word | Учебное        | {ru_win_ispell} |
 win_russian | nlword   | Non-latin word | пособие        | {ru_win_ispell} | 'пособие'
 win_russian | nlword   | Non-latin word | излагает       | {ru_win_ispell} |
 win_russian | nlword   | Non-latin word | основные       | {ru_win_ispell} |
 win_russian | nlword   | Non-latin word | сведения       | {ru_win_ispell} |
 win_russian | nlword   | Non-latin word | о              | {ru_win_ispell} |
 win_russian | nlword   | Non-latin word | порядке        | {ru_win_ispell} |
 win_russian | nlword   | Non-latin word | разработки     | {ru_win_ispell} |
 win_russian | nlword   | Non-latin word | и              | {ru_win_ispell} |
 win_russian | nlword   | Non-latin word | оформления     | {ru_win_ispell} |
 win_russian | nlword   | Non-latin word | управленческой | {ru_win_ispell} |
 win_russian | nlword   | Non-latin word | документации   | {ru_win_ispell} |
(записей:  12 )

причем опытным путем проверено, что .stop файл работает (то есть если убрать оттуда например "и", то в результатах оно появится), а вот .dict и .aff судя по всему нет :(

ЕСТЬ ИДЕИ?!?!?

Спасибо!!!
...
Рейтинг: 0 / 0
09.02.2005, 22:12
    #32909114
Deimos(lt)
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер-юзер и создание типов данных...
смотреть файл russian.aff материться, плеваться, плакать.
...
Рейтинг: 0 / 0
10.02.2005, 18:34
    #32910863
vavcgvavcg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер-юзер и создание типов данных...
Захотелось высказаться...
У меня tsearch2 используется только для индексации тех текстов,
которые уже обработаны - удалены "стопы", знаки препинания,
слова преведены к нижнему регистру и обработаны морфо-модулем,
т.е. находятся в нормальной форме.
Вообще, классная штука !
...
Рейтинг: 0 / 0
28.05.2005, 22:27
    #33089202
msk
msk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер-юзер и создание типов данных...
2 nevermind:
Таже самая проблема. Сейчас прикручивают CP1251 к tsearch2 из PG 8.0.3
Кстати, ты, наверное, перекодировал файлы russian.dict russian.aff из koi8 в cp1251?
Судя по документации, нужны stem.c stem.h локали.
В tsearch2 используются такие файлы для koi8-r: http://snowball.tartarus.org/algorithms/russian/stemmer.html
Как переделать их в cp1251 - без понятия.
...
Рейтинг: 0 / 0
05.01.2006, 13:53
    #33469137
msk
msk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер-юзер и создание типов данных...
По поводу tsearch2 и cp1251:
http://www.sql.ru/forum/actualthread.aspx?tid=91841
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Супер-юзер и создание типов данных... / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]