postgres.git / summary / log / commit / refs

commit    f3ed5364e666f89d4e2856e20628eae9e5eb2f7c
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Tue Aug 07 20:32:50 2018 +0000

    Don't record FDW user mappings as members of extensions.
    
    CreateUserMapping has a recordDependencyOnCurrentExtension call that's
    been there since extensions were introduced (very possibly my fault).
    However, there's no support anywhere else for user mappings as members
    of extensions, nor are they listed as a possible member object type in
    the documentation.  Nor does it really seem like a good idea for user
    mappings to belong to extensions when roles don't.  Hence, remove the
    bogus call.
    
    (As we saw in bug #15310, the lack of any pg_dump support for this case
    ensures that any such membership record would silently disappear during
    pg_upgrade.  So there's probably no need for us to do anything else
    about cleaning up after this mistake.)
    
    Discussion: https://postgr.es/m/27952.1533667213@sss.pgh.pa.us


src/backend/commands/foreigncmds.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/backend/commands/foreigncmds.c b/src/backend/commands/foreigncmds.c index eb531afd491..2d8583edf12 100644 --- a/src/backend/commands/foreigncmds.c +++ b/src/backend/commands/foreigncmds.c @@ -1212,8 +1212,12 @@ CreateUserMapping(CreateUserMappingStmt *stmt) recordDependencyOnOwner(UserMappingRelationId, umId, useId); } - /* dependency on extension */ - recordDependencyOnCurrentExtension(&myself, false); + /* + * Perhaps someday there should be a recordDependencyOnCurrentExtension + * call here; but since roles aren't members of extensions, it seems like + * user mappings shouldn't be either. Note that the grammar and pg_dump + * would need to be extended too if we change this. + */ /* Post creation hook for new user mapping */ InvokeObjectPostCreateHook(UserMappingRelationId, umId, 0); [parent: f73a31370624]