Thread

  1. Trigger functions and parallelism

    Karl O. Pinc <kop@karlpinc.com> — 2023-10-02T16:49:42Z

    Hi,
    
    It's not entirely clear to me what the conditions
    are for function parallel safety.  While the documentation
    seems pretty clear in most cases, there still some
    verbiage that requires knowledge of internals
    in order to be useful.
    
    What I'm looking for is some general statements about
    parallel safety for trigger functions.  I don't know
    enough about parallelism to even know if it applies
    to data modification statements.
    
    It seems to me that, because raising any sort of exception
    affects transaction state, that triggers which 
    validate data integrity and raise errors must be PARALLEL UNSAFE.
    
    But are any sort of AFTER INSERT trigger on a generated sequential key
    parallel UNSAFE because they access sequence state via NEW?
    
    Can something generic be said, like: "Most trigger functions should
    be declared PARALLEL UNSAFE (the default) with the possible exception
    of BEFORE triggers that raise no exceptions and control system
    behavior by their return value."?  
    
    What can be said to provide some overview which gives
    guidance on parallelism to trigger authors?
    
    Regards,
    
    Karl <kop@karlpinc.com>
    Free Software:  "You don't pay back, you pay forward."
                     -- Robert A. Heinlein
    
    
    
    
  2. Re: Trigger functions and parallelism

    Tom Lane <tgl@sss.pgh.pa.us> — 2023-10-02T17:07:19Z

    "Karl O. Pinc" <kop@karlpinc.com> writes:
    > What I'm looking for is some general statements about
    > parallel safety for trigger functions.  I don't know
    > enough about parallelism to even know if it applies
    > to data modification statements.
    
    It doesn't, which is why the docs are silent on the point.
    
    			regards, tom lane
    
    
    
    
  3. Re: Trigger functions and parallelism

    Karl O. Pinc <kop@karlpinc.com> — 2023-10-02T19:23:00Z

    On Mon, 02 Oct 2023 13:07:19 -0400
    Tom Lane <tgl@sss.pgh.pa.us> wrote:
    
    > "Karl O. Pinc" <kop@karlpinc.com> writes:
    > > What I'm looking for is some general statements about
    > > parallel safety for trigger functions.  I don't know
    > > enough about parallelism to even know if it applies
    > > to data modification statements.  
    > 
    > It doesn't, which is why the docs are silent on the point.
    
    Thanks.
    
    Regards,
    
    Karl <kop@karlpinc.com>
    Free Software:  "You don't pay back, you pay forward."
                     -- Robert A. Heinlein