How to judge from 'DB_SHUTDOWNED' that PITR ends normally? 'DB_SHUTDOWNED' is just a state, it could not give more meaning, so I reuse the recovery.done.
On Sat, Nov 4, 2023 at 9:56 AM Andres Freund <and...@anarazel.de> wrote: > Hi, > > On 2023-11-02 14:50:14 +0800, Crisp Lee wrote: > > I got a basebackup using pg_basebackup -R. After that, I created a > restore > > point named test on primary, and set recovery_target_name to test, > > recovery_target_action to shutdown in standby datadir. I got a failure > > startup message after 'pg_ctl start -D $standby_datadir'. I think it is > > not a failure, and makes users nervous, especially for newbies. > > > > My thought is to generate a recovery.done file if the postmaster receives > > exit code 3 from the startup process. When postmaster exits, pg_ctl will > > give a more friendly message to users. > > I think we can detect this without any additional state - pg_ctl already > accesses pg_control (via get_control_dbstate()). We should be able to > detect > your case by issuing a different warning if > > a) get_control_dbstate() at the start was *not* DB_SHUTDOWNED > b) get_control_dbstate() at the end is DB_SHUTDOWNED > > Greetings, > > Andres Freund >