• Tom Lane's avatar
    Fix pg_dump for better handling of inherited columns. · 00bc96bd
    Tom Lane authored
    Revise pg_dump's handling of inherited columns, which was last looked at
    seriously in 2001, to eliminate several misbehaviors associated with
    inherited default expressions and NOT NULL flags.  In particular make sure
    that a column is printed in a child table's CREATE TABLE command if and
    only if it has attislocal = true; the former behavior would sometimes cause
    a column to become marked attislocal when it was not so marked in the
    source database.  Also, stop relying on textual comparison of default
    expressions to decide if they're inherited; instead, don't use
    default-expression inheritance at all, but just install the default
    explicitly at each level of the hierarchy.  This fixes the
    search-path-related misbehavior recently exhibited by Chester Young, and
    also removes some dubious assumptions about the order in which ALTER TABLE
    SET DEFAULT commands would be executed.
    
    Back-patch to all supported branches.
    00bc96bd
pg_dump.h 16.4 KB