From: | Daniel Gustafsson <daniel(at)yesql(dot)se> |
---|---|
To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
Cc: | Xiong He <iihero(at)qq(dot)com>, pgsql-bugs <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
Subject: | Re: About the function current_user |
Date: | 2023-03-20 08:16:52 |
Message-ID: | 89A42BDF-D1C2-4D28-9970-54EA3EF60815@yesql.se |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
> On 20 Mar 2023, at 08:05, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> wrote:
> po 20. 3. 2023 v 8:01 odesílatel Xiong He <iihero(at)qq(dot)com <mailto:iihero(at)qq(dot)com>> napsal:
> why current_user() is not recognized?
>
> this is not real function - it is pseudo constant
>
> The real function in postgres has a record in the pg_proc table.
The syntax of current_user and current_role are mandated by the SQL
specification, we have this note in the documentation:
"current_catalog, current_role, current_schema, current_user,
session_user, and user have special syntactic status in SQL: they must
be called without trailing parentheses. In PostgreSQL, parentheses can
optionally be used with current_schema, but not with the others."
Given that current_schema and other current_xx functions accept parenthesis
it's easy to understand the confusion though.
--
Daniel Gustafsson
From | Date | Subject | |
---|---|---|---|
Next Message | John Naylor | 2023-03-20 08:49:55 | Re: About the function current_user |
Previous Message | Pavel Stehule | 2023-03-20 07:05:45 | Re: About the function current_user |