Re: Linear slow-down while inserting into a table with an ON INSERT trigger ? - Mailing list pgsql-performance

From David Rowley
Subject Re: Linear slow-down while inserting into a table with an ON INSERT trigger ?
Date
Msg-id CAApHDvr-kFAmOihG1FxVZfgdV_e5TR8cU3n+QPkYwJ8XqmA4YQ@mail.gmail.com
Whole thread Raw
In response to Re: Linear slow-down while inserting into a table with an ON INSERT trigger ?  (Justin Pryzby <pryzby@telsasoft.com>)
Responses Re: Linear slow-down while inserting into a table with an ON INSERT trigger ?  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Linear slow-down while inserting into a table with an ON INSERT trigger ?  (Tobias Gierke <tobias.gierke@code-sourcery.de>)
List pgsql-performance
On Sat, 17 Jul 2021 at 16:40, Justin Pryzby <pryzby@telsasoft.com> wrote:
> You could run a single UPDATE rather than 30k triggers.
> Or switch to an INSERT on the table, with an index on it, and call
> max(last_parent_table_change) from whatever needs to ingest it.  And prune the
> old entries and vacuum it outside the transaction.  Maybe someone else will
> have a better suggestion.

Maybe just change the UPDATE statement to:

UPDATE data_sync SET last_parent_table_change=CURRENT_TIMESTAMP WHERE
last_parent_table_change <> CURRENT_TIMESTAMP;

That should reduce the number of actual updates to 1 per transaction.

David



pgsql-performance by date:

Previous
From: Benjamin Scherrey
Date:
Subject: Re: Linear slow-down while inserting into a table with an ON INSERT trigger ?
Next
From: Tom Lane
Date:
Subject: Re: Linear slow-down while inserting into a table with an ON INSERT trigger ?