From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Tatsuo Ishii <ishii(at)postgresql(dot)org>, simon(at)2ndquadrant(dot)com, fgp(at)phlo(dot)org, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Error code for "terminating connection due to conflict with recovery" |
Date: | 2011-01-31 02:18:38 |
Message-ID: | 25486.1296440318@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Sun, Jan 30, 2011 at 8:42 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> BTW, so far as this goes:
>> http://archives.postgresql.org/pgsql-hackers/2011-01/msg01152.php
>> we should certainly *not* have the same text for two different
>> SQLSTATEs. If it's worth distinguishing two cases then it's worth
>> providing different texts that make it clear what the cases are.
> Well, then we either need to change the error codes to be the same, or
> the texts to be different.
> The only case in which we emit ERRCODE_ADMIN_SHUTDOWN is when the
> database gets dropped out from underneath the HS backend. I don't
> think it's worth having a separate path just to handle that case; if
> the user retries the operation it should quickly become clear that the
> database is gone.
Somone, Tatsuo-san IIRC, was saying that pgpool would really like to
know the difference so that it doesn't have to retry at all. I'm not
sure how useful that really is, but that's the argument for having a
distinct SQLSTATE. If we do believe that that's useful, I think it
should be a unique new SQLSTATE that never means anything other than
"your database got deleted from under you". Piggybacking that meaning
on an existing SQLSTATE definitely seems completely bogus to me.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Fujii Masao | 2011-01-31 02:34:26 | Re: Include WAL in base backup |
Previous Message | Robert Haas | 2011-01-31 01:53:29 | Re: Error code for "terminating connection due to conflict with recovery" |