Re: Clarification on View Privileges and Operator Execution in PostgreSQL

From: Ayush Vatsa <ayushvatsa1810(at)gmail(dot)com>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Clarification on View Privileges and Operator Execution in PostgreSQL
Date: 2024-04-07 16:32:21
Message-ID: CACX+KaMxg+WiHuQHA8==BmP0jsVFXm-RKnAd1bhF=yFYopP4Pg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> Functions in the view are executed with the privileges of the user
executing the query or the function owner
So does that imply to the function associated with the operators (both
builtin and user defined) too.
Basically wanted to know about this -
> Now table x will be accessed (SELECT * FROM x) with "postgres" privileges
but who will execute the
> underlying function inside the ( > ) operator ? Is it postgres or alex?

On Sun, 7 Apr 2024 at 21:56, David G. Johnston <david(dot)g(dot)johnston(at)gmail(dot)com>
wrote:

> On Sun, Apr 7, 2024 at 9:10 AM Ayush Vatsa <ayushvatsa1810(at)gmail(dot)com>
> wrote:
>
>>
>> but what about the view which contains inbuilt operators or inbuilt
>> functions with whose privileges those will be executed. Eg.
>>
>
> From the create view documentation:
> Functions called in the view are treated the same as if they had been
> called directly from the query using the view. Therefore, the user of a
> view must have permissions to call all functions used by the view.
> Functions in the view are executed with the privileges of the user
> executing the query or the function owner, depending on whether the
> functions are defined as SECURITY INVOKER or SECURITY DEFINER.
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2024-04-07 16:37:46 Re: Clarification on View Privileges and Operator Execution in PostgreSQL
Previous Message David G. Johnston 2024-04-07 16:25:23 Re: Clarification on View Privileges and Operator Execution in PostgreSQL