On Sat, 31 Oct 2026 at 13:56, Heikki Linnakangas <[email protected]> wrote:
>
> 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

I think this is something  that simply doesn't make sense. But reading
errcodes.h using myself (not AI), I don't see any better option. maybe
ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE ?


-- 
Best regards,
Kirill Reshke


Reply via email to