powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Супер-юзер и создание типов данных...
12 сообщений из 12, страница 1 из 1
Супер-юзер и создание типов данных...
    #32442172
Эридан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытался установить пакет tsearch2 на postgres7.3. Необходимый sql-файл содержит строки вида 'create function ...language C' Отсюда мораль, выполнять можно только из-под суперпользователя БД. Все таблицы, функции и типы создались, но мои приложения работают из-под обычного пользователя и не видят эти ресурсы. Пробовал сделать grant all ... to ... - эффект тот же.
Что делать???
И еще один ламерский вопрос: как разрешить другому юзеру пользоваться типом, созданным из-под суперпользователя?
...
Рейтинг: 0 / 0
Супер-юзер и создание типов данных...
    #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
Супер-юзер и создание типов данных...
    #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
Супер-юзер и создание типов данных...
    #32510821
nevermind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТОВАРИЩИ!!!! Под суперпользователем все создалось.. так скажите же мне.... почему для него все нормально, а для обычных - борода!! Какие права им выставить нужно?!??!
...
Рейтинг: 0 / 0
Супер-юзер и создание типов данных...
    #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
Супер-юзер и создание типов данных...
    #32510853
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть tsearch надо устанавливать из-под юзера postgres, а использовать - из-под любого юзера?
...
Рейтинг: 0 / 0
Супер-юзер и создание типов данных...
    #32510882
nevermind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался.... действительно ставить нужно из под суперюзера - иначе он файлы .so не видит.... ну а потом GRANT-ы дать всем кому надо... Спасибо!
...
Рейтинг: 0 / 0
Супер-юзер и создание типов данных...
    #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
Супер-юзер и создание типов данных...
    #32909114
Deimos(lt)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
смотреть файл russian.aff материться, плеваться, плакать.
...
Рейтинг: 0 / 0
Супер-юзер и создание типов данных...
    #32910863
vavcgvavcg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Захотелось высказаться...
У меня tsearch2 используется только для индексации тех текстов,
которые уже обработаны - удалены "стопы", знаки препинания,
слова преведены к нижнему регистру и обработаны морфо-модулем,
т.е. находятся в нормальной форме.
Вообще, классная штука !
...
Рейтинг: 0 / 0
Супер-юзер и создание типов данных...
    #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
Супер-юзер и создание типов данных...
    #33469137
msk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
msk
Гость
По поводу tsearch2 и cp1251:
http://www.sql.ru/forum/actualthread.aspx?tid=91841
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Супер-юзер и создание типов данных...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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