SQLSTATE for replication connection failures - Mailing list pgsql-hackers

From Tom Lane
Subject SQLSTATE for replication connection failures
Date
Msg-id 2189704.1623512522@sss.pgh.pa.us
Whole thread Raw
Responses Re: SQLSTATE for replication connection failures
List pgsql-hackers
So far as I can find, just about everyplace that deals with replication
connections has slipshod error reporting.  An example from worker.c is

        LogRepWorkerWalRcvConn = walrcv_connect(MySubscription->conninfo, true,
                                                MySubscription->name, &err);
        if (LogRepWorkerWalRcvConn == NULL)
            ereport(ERROR,
                    (errmsg("could not connect to the publisher: %s", err)));

Because of the lack of any errcode() call, this failure will be reported
as XX000 ERRCODE_INTERNAL_ERROR, which is surely not appropriate.
worker.c is in good company though, because EVERY caller of walrcv_connect
is equally slipshod.

Shall we just use ERRCODE_CONNECTION_FAILURE for these failures, or
would it be better to invent another SQLSTATE code?  Arguably,
ERRCODE_CONNECTION_FAILURE is meant for failures of client connections;
but on the other hand, a replication connection is a sort of client.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Justin Pryzby
Date:
Subject: Re: pg_filenode_relation(0,0) elog
Next
From: Andrew Dunstan
Date:
Subject: Re: Race condition in recovery?