On 30/10/2026 20:38, Kirill Reshke wrote:
User running ALTER COLLATION receives an internal error:

     ALTER COLLATION "default" REFRESH VERSION;
     ERROR:  cannot refresh version of default collation
     HINT:  Use ALTER DATABASE ... REFRESH COLLATION VERSION instead.

We do monitor our logs for XX00* error codes to check for data
corruptions etc, so sql-reachable XX000 gives us a red alert.

This simple one-liner should do:

diff --git a/src/backend/commands/collationcmds.c
b/src/backend/commands/collationcmds.c
index cfa0e4610d9..1f6156f379b 100644
--- a/src/backend/commands/collationcmds.c
+++ b/src/backend/commands/collationcmds.c
@@ -443,7 +443,8 @@ AlterCollation(AlterCollationStmt *stmt)

   if (collOid == DEFAULT_COLLATION_OID)
   ereport(ERROR,
- (errmsg("cannot refresh version of default collation"),
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("cannot refresh version of default collation"),
   /* translator: %s is an SQL command */
   errhint("Use %s instead.",
   "ALTER DATABASE ... REFRESH COLLATION VERSION")));

Is ERRCODE_FEATURE_NOT_SUPPORTED correct here? Is this something that we just don't currently support, but we potentially could, or is it something that just doesn't make sense?

- Heikki



Reply via email to