From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Add toast tables to most system catalogs |
Date: | 2018-07-19 22:48:51 |
Message-ID: | E1fgHj9-0001nX-Cm@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Add toast tables to most system catalogs
It has been project policy to create toast tables only for those catalogs
that might reasonably need one. Since this judgment call can change over
time, just create one for every catalog, as this can be useful when
creating rather-long entries in catalogs, with recent examples being in
the shape of policy expressions or customly-formatted SCRAM verifiers.
To prevent circular dependencies and to avoid adding complexity to VACUUM
FULL logic, exclude pg_class, pg_attribute, and pg_index. Also, to
prevent pg_upgrade from seeing a non-empty new cluster, exclude
pg_largeobject and pg_largeobject_metadata from the set as large object
data is handled as user data. Those relations have no reason to use a
toast table anyway.
Author: Joe Conway, John Naylor
Reviewed-by: Michael Paquier, Tom Lane
Discussion: https://postgr.es/m/84ddff04-f122-784b-b6c5-3536804495f8@joeconway.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/96cdeae07f93556df73112456b795d6d35998a0e
Modified Files
--------------
src/backend/catalog/catalog.c | 18 +++++--
src/include/catalog/toasting.h | 40 ++++++++++++++--
src/test/regress/expected/misc_sanity.out | 80 +++++++++----------------------
src/test/regress/sql/misc_sanity.sql | 12 +++--
4 files changed, 82 insertions(+), 68 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2018-07-20 00:32:59 | pgsql: Bump catalog version for recent toast table additions |
Previous Message | Alexander Korotkov | 2018-07-19 20:28:44 | pgsql: Fix handling of empty uncompressed posting list pages in GIN |