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?
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