• Tom Lane's avatar
    pg_dump: label PUBLICATION TABLE ArchiveEntries with an owner. · 8e396a77
    Tom Lane authored
    This is the same fix as commit 9eabfe30 applied to INDEX ATTACH
    entries, but for table-to-publication attachments.  As in that
    case, even though the backend doesn't record "ownership" of the
    attachment, we still ought to label it in the dump archive with
    the role name that should run the ALTER PUBLICATION command.
    The existing behavior causes the ALTER to be done by the original
    role that started the restore; that will usually work fine, but
    there may be corner cases where it fails.
    
    The bulk of the patch is concerned with changing struct
    PublicationRelInfo to include a pointer to the associated
    PublicationInfo object, so that we can get the owner's name
    out of that when the time comes.  While at it, I rewrote
    getPublicationTables() to do just one query of pg_publication_rel,
    not one per table.
    
    Back-patch to v10 where this code was introduced.
    
    Discussion: https://postgr.es/m/1165710.1610473242@sss.pgh.pa.us
    8e396a77
pg_dump.h 22.3 KB