Robert Haas <robertmhaas@gmail.com> writes:
> Or maybe we should just silently ignore failures to look up the event
> trigger. That might be better, because the DBA could always do:
>
> DROP FUNCTION myeventtrgfn() CASCADE;
>
> ...and it would be undesirable for other sessions to error out in that
> case due to SnapshotNow effects.
What about taking a lock on the functions we decide we will need to be
running, maybe a ShareUpdateExclusiveLock, so that the function can not
disappear under us from concurrent activity?
Note to self, most probably using:LockRelationOid(fnoid, ShareUpdateExclusiveLock);
After all, we might be right not to optimize for DDL concurrency…
Regards,
--
Dimitri Fontaine
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support