diff options
author | Jeff Davis <jdavis@postgresql.org> | 2022-10-29 14:13:23 -0700 |
---|---|---|
committer | Jeff Davis <jdavis@postgresql.org> | 2022-10-31 15:44:52 -0700 |
commit | 0717f2fedb2400e4f5bf89bcd463c8b32916ca26 (patch) | |
tree | cf8bfede47ff273fa0b401db0555e4527c7e1013 /src/backend/commands/collationcmds.c | |
parent | 10932ed5e57b75e5e9aaa22aa0527ceeee55b6ca (diff) | |
download | postgresql-0717f2fedb2400e4f5bf89bcd463c8b32916ca26.tar.gz postgresql-0717f2fedb2400e4f5bf89bcd463c8b32916ca26.zip |
Fix ALTER COLLATION "default" REFRESH VERSION.
Issue a helpful error message rather than an internal error.
Discussion: https://postgr.es/m/51fb77507cafd43fc1a2e733c23045873d93ae60.camel%40j-davis.com
Reviewed-by: Thomas Munro
Diffstat (limited to 'src/backend/commands/collationcmds.c')
-rw-r--r-- | src/backend/commands/collationcmds.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/backend/commands/collationcmds.c b/src/backend/commands/collationcmds.c index 23468cf79da..86fbc7fa019 100644 --- a/src/backend/commands/collationcmds.c +++ b/src/backend/commands/collationcmds.c @@ -366,6 +366,11 @@ AlterCollation(AlterCollationStmt *stmt) rel = table_open(CollationRelationId, RowExclusiveLock); collOid = get_collation_oid(stmt->collname, false); + if (collOid == DEFAULT_COLLATION_OID) + ereport(ERROR, + (errmsg("cannot refresh version of default collation"), + errhint("Use ALTER DATABASE ... REFRESH COLLATION VERSION instead."))); + if (!pg_collation_ownercheck(collOid, GetUserId())) aclcheck_error(ACLCHECK_NOT_OWNER, OBJECT_COLLATION, NameListToString(stmt->collname)); |