could not stat file "pg_wal/RECOVERYHISTORY": No such file or director

From: Dmitry Litvintsev <litvinse(at)fnal(dot)gov>
To: pgsql-generallists(dot)postgresql(dot)org <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: could not stat file "pg_wal/RECOVERYHISTORY": No such file or director
Date: 2025-10-23 21:54:38
Message-ID: SA1PR09MB7311F515AD3175FFF615523EB9F0A@SA1PR09MB7311.namprd09.prod.outlook.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello,

I have been setting PITR backup off of base backup. Wal files are shipped to the host running pg_basebackup pulling backup from
master host.

Once base backup finished I wanted to try recovery.

I added

restore_command = 'gunzip /data/xlogs/%f.gz > %p'

(that command is wrapped in a script that checks existence of input and exits w/ 0 if it does not as per instructions)

I did move pg_wal out of the way and re-created it:

mv pg_wal pg_wal.bak
mkdir pg_wal

I did touch recovery signal:

touch recovery.signal

I see in the log:

< 2025-10-23 16:05:30.750 CDT 2876871 > LOG: database system was interrupted; last known up at 2025-10-23 02:00:41 CDT
< 2025-10-23 16:05:31.582 CDT 2876871 > LOG: could not stat file "pg_wal/RECOVERYHISTORY": No such file or directory
< 2025-10-23 16:05:31.582 CDT 2876871 > DETAIL: restore_command returned a zero exit status, but stat() failed.
< 2025-10-23 16:05:31.582 CDT 2876871 > LOG: starting archive recovery
< 2025-10-23 16:05:31.583 CDT 2876871 > LOG: starting backup recovery with redo LSN 20975/FE0AC690, checkpoint LSN 20975/FE21CA88, on timeline ID 4
< 2025-10-23 16:05:31.586 CDT 2876871 > LOG: could not stat file "pg_wal/RECOVERYHISTORY": No such file or directory
< 2025-10-23 16:05:31.586 CDT 2876871 > DETAIL: restore_command returned a zero exit status, but stat() failed.
< 2025-10-23 16:05:31.798 CDT 2876871 > LOG: restored log file "0000000400020975000000FE" from archive
< 2025-10-23 16:05:31.819 CDT 2876871 > LOG: redo starts at 20975/FE0AC690
< 2025-10-23 16:05:33.927 CDT 2876871 > LOG: restored log file "0000000400020975000000FF" from archive

it seems to be churning on, but I am a bit worried about :

could not stat file "pg_wal/RECOVERYHISTORY": No such file or directory

I do not recall having to deal with this in the past? Should I have manually created

pg_wal/archive_status

my old scripts seem to indicate the need for this - I am trying to resurrect
PITR after multiple upgrades and not running it for some time (relying in replica instead)

So, is it harmless? Postgresql does not fail, the recovery is still ongoing.

This is postgresql 15.

Additional question.... as the wall file are continuously getting shipped to the backup host,
will this recovery ever end? (I neglected to set recovery_target_time)

Thank you very much in advance

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rob Sargent 2025-10-23 23:23:50 Re: Convert date and time colums to datetime
Previous Message Scot Kreienkamp 2025-10-23 20:24:08 RE: Index corruption issue after migration from RHEL 7 to RHEL 9 (PostgreSQL 11 streaming replication)