summaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/catalog/pg_db_role_setting.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/backend/catalog/pg_db_role_setting.c b/src/backend/catalog/pg_db_role_setting.c
index 090fc07c28a..832e49a34be 100644
--- a/src/backend/catalog/pg_db_role_setting.c
+++ b/src/backend/catalog/pg_db_role_setting.c
@@ -151,6 +151,15 @@ AlterSetting(Oid databaseid, Oid roleid, VariableSetStmt *setstmt)
CatalogTupleInsert(rel, newtuple);
}
+ else
+ {
+ /*
+ * RESET doesn't need to change any state if there's no pre-existing
+ * pg_db_role_setting entry, but for consistency we should still check
+ * that the option is valid and we're allowed to set it.
+ */
+ (void) GUCArrayDelete(NULL, setstmt->name);
+ }
InvokeObjectPostAlterHookArg(DbRoleSettingRelationId,
databaseid, 0, roleid, false);