Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / full-text tsearch / 3 сообщений из 3, страница 1 из 1
08.08.2007, 09:53
    #34712817
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
full-text tsearch
Как можно запросом (из приложения) определить: установлен ли tsearch или нет?
Ну чтобы или продолжить работу или послать юзера устанавливать.
...
Рейтинг: 0 / 0
08.08.2007, 10:43
    #34713029
iz
iz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
full-text tsearch
Вообще говоря, довольно проблематично узнать, установлен ли произвольный контриб в PostgreSQL. Можно сделать запрос вроде

select * from pg_class where relname = 'pg_ts_cfg';

чтобы проверить, существует ли в базе основная таблица tsearch2, но никто не гарантирует, что создана она не руками и что tsearch2 при этом поставлен правильно и работает. Возможно, более правильным будет способ попробовать несколько тестов (см. make check при установке контриба), но ведь tsearch2 может быть установлен правильно, но вам специально недоступен (например, search_path не позволяет) или ваше соединение может не иметь прав на его использование.

Так что, как видите, все сложно. Выбирайте сами, насколько достоверно вы хотите выполнить эту проверку. Я бы ограничился простейшим запросом, указанным выше.
...
Рейтинг: 0 / 0
08.08.2007, 10:54
    #34713072
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
full-text tsearch
izВообще говоря, довольно проблематично узнать, установлен ли произвольный контриб в PostgreSQL. Можно сделать запрос вроде

select * from pg_class where relname = 'pg_ts_cfg';

чтобы проверить, существует ли в базе основная таблица tsearch2, но никто не гарантирует, что создана она не руками и что tsearch2 при этом поставлен правильно и работает. Возможно, более правильным будет способ попробовать несколько тестов (см. make check при установке контриба), но ведь tsearch2 может быть установлен правильно, но вам специально недоступен (например, search_path не позволяет) или ваше соединение может не иметь прав на его использование.

Так что, как видите, все сложно. Выбирайте сами, насколько достоверно вы хотите выполнить эту проверку. Я бы ограничился простейшим запросом, указанным выше.

конечно, некоторые условия д.б. соблюдены, т.е. проверять должен юзер с админ правами и т.д.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / full-text tsearch / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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