• Tom Lane's avatar
    Toast all the system-table columns that seem to need it. It turns out · c3e2a951
    Tom Lane authored
    that giving pg_proc a toast table required solving the same problems
    we'd have to solve for pg_class --- pg_proc is one of the relations
    that gets bootstrapped in relcache.c.  Solution is to go back at the
    end of initialization and read in the *real* pg_class row to replace
    the phony entry created by formrdesc().  This should work as long as
    there's no need to touch any toasted values during initialization,
    which seems a reasonable assumption.
    Although I did not add a toast-table for every single system table
    with a varlena attribute, I believe that it would work to just do
    ALTER TABLE pg_class CREATE TOAST TABLE.  So anyone who's really
    intent on having several thousand ACL entries for a rel could do it.
    NOTE: I didn't force initdb, but you must do one to see the effects
    of this patch.
    c3e2a951
analyze.c 18.1 KB