> On 20 Mar 2023, at 08:05, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> po 20. 3. 2023 v 8:01 odesílatel Xiong He <iihero@qq.com <mailto:iihero@qq.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