Re: Optimize update of tables with generated columns
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-02-13T13:39:41Z
Lists: pgsql-hackers
Attachments
- v2-0001-Fill-in-extraUpdatedCols-in-logical-replication.patch (text/plain) patch v2-0001
- v2-0002-Optimize-update-of-tables-with-generated-columns.patch (text/plain) patch v2-0002
On 2019-12-21 07:47, Peter Eisentraut wrote: > When updating a table row with generated columns, we only need to > recompute those generated columns whose base columns have changed in > this update and keep the rest unchanged. This can result in a > significant performance benefit (easy to reproduce for example with a > tsvector column). The required information was already kept in > RangeTblEntry.extraUpdatedCols; we just have to make use of it. > > A small problem is that right now ExecSimpleRelationUpdate() does not > populate extraUpdatedCols. That needs fixing first. Here is an updated patch set that contains a fix for the issue above (should be backpatched IMO) and the actual performance patch as before. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Fill in extraUpdatedCols in logical replication
- 4a97f647ddbc 12.3 landed
- ad3ae64770e5 13.0 landed
-
Optimize update of tables with generated columns
- c6679e4fca21 13.0 landed