Hello,

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")));

-- 
Best regards,
Kirill Reshke


Reply via email to