Search Postgresql Archives

Re: Trigger function always logs postgres as user name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



HI,

The answer to the question is that you need to use session_user instead of user or current_user.

Cheers,
Alex


> On 9 Feb 2019, at 10:08, Alexander Reichstadt <lxr@xxxxxx> wrote:
> 
> Hi,
> 
> I setup trigger functions for logging, and while they do work and get triggered, the current_user always insert “postgres” even when updates/deletes/inserts are caused by users of another name.
> 
> How do I get it to use the name that caused the update? It seems current_user is the trigger’s user, so the server itself in some way. This is on PG10
> 
> Here the function:
>        BEGIN
> 
>                IF      TG_OP = 'INSERT'
> 
>                THEN
> 
>                        INSERT INTO logging (tabname, schemaname, who, operation, new_val)
> 
>                                VALUES (TG_RELNAME, TG_TABLE_SCHEMA, current_user, TG_OP, row_to_json(NEW));
> 
>                        RETURN NEW;
> 
>                ELSIF   TG_OP = 'UPDATE'
> 
>                THEN
> 
>                        INSERT INTO logging (tabname, schemaname, who, operation, new_val, old_val)
> 
>                                VALUES (TG_RELNAME, TG_TABLE_SCHEMA, current_user, TG_OP,
> 
>                                        row_to_json(NEW), row_to_json(OLD));
> 
>                        RETURN NEW;
> 
>                ELSIF   TG_OP = 'DELETE'
> 
>                THEN
> 
>                        INSERT INTO logging (tabname, schemaname, operation, who, old_val)
> 
>                                VALUES (TG_RELNAME, TG_TABLE_SCHEMA, TG_OP, current_user, row_to_json(OLD));
> 
>                        RETURN OLD;
> 
>                END IF;
> 
>        END;
> 
> 
> 
> Cheers,
> Alex






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux