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*()
|
Список | 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 по дате отправления: