• Michael Paquier's avatar
    Add toast tables to most system catalogs · 96cdeae0
    Michael Paquier authored
    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
    96cdeae0
catalog.c 15 KB