"Adam Rich" <adam.r@xxxxxxxxxxxxx> writes: >>> I have two options for storing this data: As BYTEA or as large objects. > Is it true that if you update a row containing a large BYTEA value, (even if > you're not updating the BYTEA field itself, just another field), it requires > the entire BYTEA value to be copied to a new row (because of MVCC) ? Or is > this not true because of TOAST? It is not true. As long as you don't change the toasted value, it contributes nothing much to the cost of updating the row. All that has to be copied is a 20-byte pointer structure. However, if you *do* change the toasted value, it is always updated as a unit. So if you have use for writing into portions of a large value, large objects are what you want. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend