Re: Optimize update of tables with generated columns
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-02-13T15:16:46Z
Lists: pgsql-hackers
čt 13. 2. 2020 v 14:40 odesílatel Peter Eisentraut < peter.eisentraut@2ndquadrant.com> napsal: > 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. > + 1 I tested check-world without problems, and changes of patch has sense for me. Regards Pavel > -- > 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