Re: Proposal to suppress errors thrown by to_reg*()

Поиск
Список
Период
Сортировка
От Tatsuo Ishii
Тема Re: Proposal to suppress errors thrown by to_reg*()
Дата
Msg-id 20190319.175401.646838939186238443.t-ishii@sraoss.co.jp
обсуждение исходный текст
Ответ на Re: Proposal to suppress errors thrown by to_reg*()  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
Ответы Re: Proposal to suppress errors thrown by to_reg*()  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
Список pgsql-hackers
>> You misunderstand the functionality of to_regclass(). Even if a user
>> does not have an access privilege of certain table, to_regclass() does
>> not raise an error.
>>
>> test=> select * from t1;
>> ERROR:  permission denied for table t1
>> 
>> test=> select to_regclass('t1')::oid;
>>  to_regclass 
>> -------------
>>      1647238
>> (1 row)
>> 
>> So why can't we do the same thing for schema? For me, that way seems
>> to be more consistent.
> 
> It seems to be a different thing. The oid 1647239 would be a
> table in public schema or any schema that the user has access
> to. If search_path contained only unprivileged schemas, the
> function silently ignores such schemas.
> 
> => set search_path to s1;       -- the user doesn't have access to this schema.
> => select to_regclass('t1')::oid; -- the table is really exists.
>> to_regclass 
>> -------------
>>  
>> (1 row)

I (and Hoshiai-san) concern about following case:

# revoke usage on schema s1 from foo;
REVOKE
:
[connect as foo]
test=> select to_regclass('s1.t1')::oid;
ERROR:  permission denied for schema s1

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Masahiko Sawada
Дата:
Сообщение: Re: [HACKERS] Block level parallel vacuum
Следующее
От: "Imai, Yoshikazu"
Дата:
Сообщение: RE: Speed up transaction completion faster after many relations areaccessed in a transaction