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
continueto 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
wasstill
basic_archive.archive_directory=/mnt/ocean/postgres/stars/