Re: basic_archive lost archive_directory
Olleg Samoylov <splarv@ya.ru>
From: Олег Самойлов <splarv@ya.ru>
To: Sergei Kornilov <sk@zsrv.org>
Cc: pgsql-bugs@lists.postgresql.org, Álvaro Herrera <alvherre@kurilemu.de>
Date: 2026-02-07T07:57:05Z
Lists: pgsql-bugs
06.02.2026 17:25, Sergei Kornilov пишет > Hello > > How to reproduce: > > 1) configure > > archive_mode = on > archive_library = 'basic_archive' > basic_archive.archive_directory = '/some/path/' > > 2) start postgres and verify archive works > 3) make this directory temporary inaccessible. NFS will give you many ways to achieve this, here just mv /some/ /some_moved/ is enough. > 4) basic_archive will complain ERROR: could not create file ... No such file or directory for new WAL archive attempts > 5) restart archiver process with any reason: kill it or restart postgres > 6) make archive_directory accessible again: archiver process will not check the directory's existence again and continue to complain about unconfigured archive_directory > > Maybe it makes sense to move the directory existence check from check_archive_directory (guc check callback) to basic_archive_configured? (attached) > > regards, Sergei You described, may be, different bug or depended. I'll try again to explain. First error was: "invalid value for parameter ""basic_archive.archive_directory"": ""/mnt/ocean/postgres/stars/ WAL""","Specified archive directory does not exist." And this is, may be, correct. But second, just after the first: """archive_mode"" enabled, yet archiving is not configured","basic_archive.archive_directory is not set." The value of basic_archive.archive_directory was erased after the first error. But it was erased only inside archive_library 'basic_archive', postgresql itself it was still basic_archive.archive_directory=/mnt/ocean/postgres/stars/
Commits
-
basic_archive: Allow archive directory to be missing at startup.
- f510577de4f5 17.10 landed
- cc774c543b23 19 (unreleased) landed
- bde9ad31515a 18.4 landed
- 8fc45ac5d91a 15.18 landed
- 28c2b789652a 16.14 landed