Re: On login trigger: take three

Pavel Stehule <pavel.stehule@gmail.com>

From: Pavel Stehule <pavel.stehule@gmail.com>
To: Daniel Gustafsson <daniel@yesql.se>
Cc: Greg Nancarrow <gregn4422@gmail.com>, Ibrar Ahmed <ibrar.ahmad@gmail.com>, Konstantin Knizhnik <k.knizhnik@postgrespro.ru>, vignesh C <vignesh21@gmail.com>, Ivan Panchenko <wao@mail.ru>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Amit Kapila <amit.kapila16@gmail.com>, Masahiko Sawada <sawada.mshk@gmail.com>
Date: 2021-09-08T18:44:40Z
Lists: pgsql-hackers
st 8. 9. 2021 v 20:23 odesílatel Daniel Gustafsson <daniel@yesql.se> napsal:

> > On 8 Sep 2021, at 16:02, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>
> > In the time when event triggers were introduced, managed services were
> not too widely used like now. When we discussed this feature we thought
> about environments when users have no superuser rights and have no
> possibility to go to single mode.
>
> In situations where you don't have superuser access and cannot restart in
> single user mode, none of the bypasses in this patch would help anyways.
>

If I remember well, it should be possible - you can set GUC in connection
string, and this GUC is limited to the database owner.


> I understand the motivation, but continuing on even in the face of an
> ereport(ERROR..  ) in the hopes of being able to turn off buggy code seems
> pretty unsafe at best.
>

I don't understand what you mean. I can disable the logon trigger by GUC. I
cannot to enable an continue after an exception.

Regards

Pavel


>
> --
> Daniel Gustafsson               https://vmware.com/
>
>

Commits

  1. Fix some typos in event trigger docs

  2. Use heap_inplace_update() to unset pg_database.dathasloginevt

  3. Remove the flaky check in event_trigger_login regression test

  4. Fix instable 006_login_trigger.pl test

  5. Add support event triggers on authenticated login

  6. Add GUC for temporarily disabling event triggers

  7. Fix typo in reference to __FreeBSD__.

  8. Restore robustness of TAP tests that wait for postmaster restart.

  9. Restore the portal-level snapshot after procedure COMMIT/ROLLBACK.