Re: [GENERAL] When updating row that has TOAST column, is the TOAST column also reinserted ? Or just the oid to the value? - Mailing list pgsql-general

From Tom Lane
Subject Re: [GENERAL] When updating row that has TOAST column, is the TOAST column also reinserted ? Or just the oid to the value?
Date
Msg-id 31355.1481642710@sss.pgh.pa.us
Whole thread Raw
In response to Re: [GENERAL] When updating row that has TOAST column, is the TOASTcolumn also reinserted ? Or just the oid to the value?  (Albe Laurenz <laurenz.albe@wien.gv.at>)
List pgsql-general
Albe Laurenz <laurenz.albe@wien.gv.at> writes:
> Dorian Hoxha wrote:
>> When updating row that has TOAST column, is the TOAST column also inserted ? Or just the oid?

> The TOAST table will remain unchanged by the UPDATE; you can see that with the
> "pageinspect" contrib module:

You can also read the documentation ;-).  About halfway down this page:

https://www.postgresql.org/docs/current/static/storage-toast.html

it says:

  During an UPDATE operation, values of unchanged fields are normally
  preserved as-is; so an UPDATE of a row with out-of-line values incurs no
  TOAST costs if none of the out-of-line values change.

I don't remember offhand what corner cases might exist to prompt the
weasel wording "normally".  Maybe that just reflects the possibility
that one of the newly updated values would need toasting.

            regards, tom lane


pgsql-general by date:

Previous
From: Chris Travers
Date:
Subject: Re: [GENERAL] Appending to multidimentional array.
Next
From: Tom Lane
Date:
Subject: Re: [GENERAL] is this a known bug in 9.6?