Vladimir Ryabtsev <greatvovan@gmail.com> writes:
> Supposing I have a foreign table F and a view V that selects rows from F.
> The owner of F is USER1.
> The owner of V is USER2.
> The currently logged user is "me".
> When I query the foreign table F, the DBMS engine looks for USER MAPPING
> for "me", regardless of who is the owner of the table.
> When I query the view V, the engine searches the USER MAPPING for USER2 who
> is the owner of the view.
> This looks inconsistent and misleading.
AFAICS, it's exactly parallel to the handling of SQL permissions for
the foreign table. If you query F directly, you must have SELECT
permissions on F (or whatever is appropriate for your query type).
If you query F via V, you must have SELECT on V and the owner of V
must have SELECT on F.
regards, tom lane