Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> Moshe Jacobson wrote:
>> Even though I mark the trigger *functions *as owned by my extension, the
>> trigger definitions themselves are still dumped by pg_dump and restored by
>> pg_restore. This is a problem when pg_restore is using parallelism (-j),
>> and one thread starts issuing CREATE TRIGGER commands before the other
>> thread has finished populating the config table.
> ISTM that the usual locution for this is ALTER EXTENSION .. ADD. You
> could test whether this is going to work by manually inserting rows in
> pg_depend.
> It seems strange to me that the created trigger is part of the extension,
> however. Maybe it's the right fix, but hmm.
I'm suspicious that the problem is exactly lack of pg_depend records ---
pg_dump/pg_restore relies on those for correct ordering of parallel
operations. What method are you using to create these triggers (not
the functions, the per-table pg_trigger records)?
regards, tom lane