Re: unable to fail over to warm standby server - Mailing list pgsql-bugs

From Robert Haas
Subject Re: unable to fail over to warm standby server
Date
Msg-id 603c8f071001291607u234cad88mcf5a7cab69cf78b7@mail.gmail.com
Whole thread Raw
In response to Re: unable to fail over to warm standby server  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Responses Re: unable to fail over to warm standby server  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
On Fri, Jan 29, 2010 at 3:32 PM, Heikki Linnakangas
<heikki.linnakangas@enterprisedb.com> wrote:
> Actually, I think there's a tiny harmless bug in the server too. When it
> prints the error message:
>
> 2010-01-18 21:08:31 UTC ()FATAL: =A0could not restore file
> "0000000200003C82000000D8" from archive: return code 65280
>
> That return code is not the return code that came from the
> restore_command. Ie if you do exit(200) in the command, you won't see
> "return code 200", but you see the return value from system(). system()
> doesn't return the exit code directly, but an encoded integer that
> includes the exit code. You're supposed to call WEXITSTATUS() on it to
> get the real return code.
>
> That only affects the error message and is harmless otherwise, but I
> thought I'd mention it. I'll fix it, unless someone wants to argue that
> its more useful to print the raw return value of system(), because it
> might contain more information like which signal killed the process,
> that you could extract from the cryptic error code using e.g WTERMSIG()
> macro.

An "if" statement would seem to be in order, so that you can print out
either the exit code or the signal number as appropriate.

...Robert

pgsql-bugs by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: unable to fail over to warm standby server
Next
From: Tom Lane
Date:
Subject: Re: unable to fail over to warm standby server