aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/collationcmds.c
diff options
context:
space:
mode:
authorJeff Davis <jdavis@postgresql.org>2022-10-29 14:13:23 -0700
committerJeff Davis <jdavis@postgresql.org>2022-10-31 15:44:52 -0700
commit0717f2fedb2400e4f5bf89bcd463c8b32916ca26 (patch)
treecf8bfede47ff273fa0b401db0555e4527c7e1013 /src/backend/commands/collationcmds.c
parent10932ed5e57b75e5e9aaa22aa0527ceeee55b6ca (diff)
downloadpostgresql-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.c5
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));