Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Интересный баг при работе с INHERITED таблицами / 2 сообщений из 2, страница 1 из 1
04.07.2006, 16:53
    #33830813
Robert Ayrapetyan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересный баг при работе с INHERITED таблицами
К примеру есть таблица (возьмем из того же мануала классику):
Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE measurement (
    city_id         int not null,
    logdate         date not null,
    peaktemp        int,
    unitsales       int
);

Есть наследник:
Код: plaintext
1.
2.
CREATE TABLE measurement_yy04mm02 (
    CHECK ( logdate >= DATE '2004-02-01' AND logdate < DATE '2004-03-01' )
) INHERITS (measurement);

Для наследника есть правило:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
CREATE RULE measurement_insert_yy04mm02 AS
ON INSERT TO measurement WHERE
    ( logdate >= DATE '2004-02-01' AND logdate < DATE '2004-03-01' )
DO INSTEAD
    INSERT INTO measurement_yy04mm02 VALUES ( NEW.city_id,
                                              NEW.logdate,
                                              NEW.peaktemp,
                                              NEW.unitsales );

Есть пользователь inserter с правами только на вставку:
Код: plaintext
1.
REVOKE ALL ON measurement FROM inserter;
GRANT ON INSERT measurement TO inserter;

А также selector с правами только на выборку:
Код: plaintext
1.
REVOKE ALL ON measurement FROM selector;
GRANT ON SELECT measurement TO selector;

Теперь самое интересное.
Такая штука проходит на ура:
Код: plaintext
psql db_name inserter -c "\copy measurement from filename.txt"

Тогда как selector обламывается:
Код: plaintext
1.
2.
select * from measurement LIMIT  10 ;
Permission denied for relation measurement_yy04mm02

Отсюда возникают вопросы:
1. Наследуются ли права доступа?
2. Если да, то почему selector-у не разрешено читать, а если нет - почему inserter может добавлять?
3. Может баг где-то в RULE? Т.е. когда обрабатывается правило, то на права доступа вообще забивается?
...
Рейтинг: 0 / 0
06.07.2006, 11:53
    #33835122
Robert Ayrapetyan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересный баг при работе с INHERITED таблицами
Отвечу сам себе - не баг это, через RULE таким образом переназначаются права досутпа.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Интересный баг при работе с INHERITED таблицами / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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