Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Составить запрос, по виртуальным таблицам 
V
    Опции темы
Ak47black
  Дата 20.2.2010, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Здравствуйте.
Помогите пожалуйста кто работает с базами данных, как составить следующий запрос
Нужно показать
Цитата

Виртуальные таблицы, к которым имеет право писать запросы конкретный пользователь.

и если можно, подскажите что можно почитать по таким рода запросам smile 
PM MAIL   Вверх
Ak47black
Дата 21.2.2010, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



А само условие у меня хоть правильное?  smile 
PM MAIL   Вверх
wapp
Дата 25.2.2010, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.2.2010

Репутация: нет
Всего: нет



Чтобы посмотреть все таблицы 
SELECT * FROM pg_tables
Определить есть ли права к конкретной таблице
has_table_privilege()
Почитать - мануал и закрепленную тему в этом подфоруме
PM MAIL   Вверх
Ak47black
Дата 28.2.2010, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



А как отделить только виртуальные виртуальные таблицы?

Что-то я нетак делаю
Если я набираю 
Код

SELECT * FROM pg_tables;

то в списке виртуальных таблиц (View) не вижу.
PM MAIL   Вверх
LSD
Дата 2.3.2010, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 3
Всего: 538



View как не трудно догадаться, можно посмотреть в pg_views. Но вот являются ли view теми самыми:
Цитата(Ak47black @  20.2.2010,  18:14 Найти цитируемый пост)
Виртуальные таблицы, к которым имеет право писать запросы конкретный пользователь.

это большой вопрос.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Ak47black
Дата 2.3.2010, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Я с pg_views уже пробовал.
Делаю вот так
Код

SELECT * FROM pg_views;

получаю какой непонятный ответ, похожий на дамп.
PM MAIL   Вверх
LSD
Дата 2.3.2010, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 3
Всего: 538



Ну ты хоть покажи, что ты получаешь, хотя бы начало, если вывод большой.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Ak47black
Дата 2.3.2010, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Пожалуйста
user posted image
В конце идёт, чтото на подобии
user posted image

Это сообщение отредактировал(а) Ak47black - 2.3.2010, 18:03
PM MAIL   Вверх
LSD
Дата 2.3.2010, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 3
Всего: 538



Попробуй так:
Код

SELECT schemaname, viewname, viewowner FROM pg_views;


И поставь себе какой нибудь продвинутый SQL клиент.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Ak47black
Дата 2.3.2010, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



А как определить какая из них является виртуальной таблицей, тоесть view. (тип другими словами)
У меня не получается правильно пользоваться хелпом.
Как составить чтото на подобии
Код

SELECT schemaname, viewname.reltype, viewowner FROM pg_views;

?
PM MAIL   Вверх
LSD
Дата 3.3.2010, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 3
Всего: 538



Цитата(Ak47black @  2.3.2010,  22:07 Найти цитируемый пост)
А как определить какая из них является виртуальной таблицей, тоесть view.

Как несложно догадаться из названия, там перечислены только view.



Цитата(Ak47black @  2.3.2010,  22:07 Найти цитируемый пост)
У меня не получается правильно пользоваться хелпом.

И в чем трудности с хелпом?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Ak47black
Дата 3.3.2010, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Вроде-бы у меня получилось составить запрос
Код

SELECT (schemaname, viewname, 'write') viewname, viewowner FROM pg_views;

LSD, могли-бы Вы взглянуть и сказать правильно-ли или чего-то не хватает?

Это сообщение отредактировал(а) Ak47black - 3.3.2010, 15:41
PM MAIL   Вверх
LSD
Дата 3.3.2010, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 3
Всего: 538



Я не знаю, что ты пытаешься отобразить. Зачем ты там вообще скобки поставил?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Ak47black
Дата 3.3.2010, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Короче я тут запутался.
Там то что я получил неправильно.
Как тогда можно применить
Код

has_table_privilege()

к
Код

SELECT schemaname, viewname, viewowner FROM pg_views;

Тоесть показать только те к которым имеет право записи текущий пользователь?
PM MAIL   Вверх
LSD
Дата 4.3.2010, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 3
Всего: 538



Как-то так
Код

SELECT schemaname, viewname, viewowner
  FROM pg_views
 WHERE has_table_privilege('vasya_pupkin', schemaname || '.' || viewname, 'select')



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PostgreSQL | Следующая тема »


 




[ Время генерации скрипта: 0.1052 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.