Decouple the values of TOAST_TUPLE_THRESHOLD and TOAST_MAX_CHUNK_SIZE.
Tom Lane <tgl@sss.pgh.pa.us>
Decouple the values of TOAST_TUPLE_THRESHOLD and TOAST_MAX_CHUNK_SIZE. Add the latter to the values checked in pg_control, since it can't be changed without invalidating toast table content. This commit in itself shouldn't change any behavior, but it lays some necessary groundwork for experimentation with these toast-control numbers. Note: while TOAST_TUPLE_THRESHOLD can now be changed without initdb, some thought still needs to be given to needs_toast_table() in toasting.c before unleashing random changes.
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/storage.sgml | modified | +9 −6 |
| src/backend/access/heap/heapam.c | modified | +25 −6 |
| src/backend/access/heap/tuptoaster.c | modified | +22 −9 |
| src/backend/access/transam/xlog.c | modified | +11 −1 |
| src/bin/pg_controldata/pg_controldata.c | modified | +3 −1 |
| src/bin/pg_resetxlog/pg_resetxlog.c | modified | +5 −1 |
| src/include/access/tuptoaster.h | modified | +35 −22 |
| src/include/catalog/pg_control.h | modified | +4 −2 |