Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1voMm4-002AWO-3A for pgsql-bugs@arkaria.postgresql.org; Fri, 06 Feb 2026 14:25:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1voMm3-0047oC-2t for pgsql-bugs@arkaria.postgresql.org; Fri, 06 Feb 2026 14:25:31 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1voMm3-0047o4-1u for pgsql-bugs@lists.postgresql.org; Fri, 06 Feb 2026 14:25:31 +0000 Received: from forward102b.mail.yandex.net ([178.154.239.149]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1voMm0-00000001NGt-3Vaw for pgsql-bugs@lists.postgresql.org; Fri, 06 Feb 2026 14:25:31 +0000 Received: from mail-nwsmtp-mxback-production-main-942.sas.yp-c.yandex.net (mail-nwsmtp-mxback-production-main-942.sas.yp-c.yandex.net [IPv6:2a02:6b8:c11:b8b:0:640:32ac:0]) by forward102b.mail.yandex.net (Yandex) with ESMTPS id 6AFA4C029C; Fri, 06 Feb 2026 17:25:26 +0300 (MSK) Received: from mail.yandex.ru (2a02:6b8:c16:1d09:0:640:101a:0 [2a02:6b8:c16:1d09:0:640:101a:0]) by mail-nwsmtp-mxback-production-main-942.sas.yp-c.yandex.net (mxback/Yandex) with HTTPS id MPP6Di2sqGk0-lkidxzfI; Fri, 06 Feb 2026 17:25:26 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zsrv.org; s=mail; t=1770387926; bh=0We0VyVFY9VHmjZWtqh9FAYbIBsgDJy3BuXvyhEdseY=; h=Message-Id:References:Date:Cc:Subject:In-Reply-To:To:From; b=WOwogwvhmvu9zumZEJyXGRDUHo/G0MnlkV1A221rORgUMltyEMWIVx1gKwsDAZqRo w51u1gXICtdn9xGxFm/nnZdB5+Gyxp8rEqq9lgS+2RGH3sebEGRhec3d0madDGa5u4 D8YhUm3Aucq365M4RN5tRYmgQmN0v/4uXOi3ay9k= Authentication-Results: mail-nwsmtp-mxback-production-main-942.sas.yp-c.yandex.net; dkim=pass header.i=@zsrv.org Received: by uxaevus5beodspug.sas.yp-c.yandex.net (sendbernar/Yandex) with HTTPS id 3a604a35a80730e8ff3ee1158354b6ff; Fri, 06 Feb 2026 17:25:25 +0300 From: Sergei Kornilov To: =?utf-8?B?0J7Qu9C10LMg0KHQsNC80L7QudC70L7Qsg==?= Cc: pgsql-bugs@lists.postgresql.org, =?utf-8?B?w4FsdmFybyBIZXJyZXJh?= In-Reply-To: <9b9341b0-942e-4d34-b94f-92bd918fad04@ya.ru> References: <202601301728.sfkizrto3t5i@alvherre.pgsql> <9b9341b0-942e-4d34-b94f-92bd918fad04@ya.ru> Subject: Re: basic_archive lost archive_directory MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Fri, 06 Feb 2026 17:25:25 +0300 Message-Id: <1317421770387925@cea5cfd9-50d3-4d85-a924-a7cc75f8f215> Content-Type: multipart/mixed; boundary="----==--bound.131743.a4b1fd0a-5640-4a25-ba72-55c0f5389dae" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk ------==--bound.131743.a4b1fd0a-5640-4a25-ba72-55c0f5389dae Content-Transfer-Encoding: 7bit Content-Type: text/plain 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 ------==--bound.131743.a4b1fd0a-5640-4a25-ba72-55c0f5389dae Content-Disposition: attachment; filename="basic_archive_move_is_dir.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name="basic_archive_move_is_dir.patch" ZGlmZiAtLWdpdCBhL2NvbnRyaWIvYmFzaWNfYXJjaGl2ZS9iYXNpY19hcmNoaXZlLmMgYi9jb250 cmliL2Jhc2ljX2FyY2hpdmUvYmFzaWNfYXJjaGl2ZS5jCmluZGV4IDZjN2Y5ODVkNDhiLi5kNDZh YWIzOTgwNiAxMDA2NDQKLS0tIGEvY29udHJpYi9iYXNpY19hcmNoaXZlL2Jhc2ljX2FyY2hpdmUu YworKysgYi9jb250cmliL2Jhc2ljX2FyY2hpdmUvYmFzaWNfYXJjaGl2ZS5jCkBAIC05NSw4ICs5 NSw2IEBAIF9QR19hcmNoaXZlX21vZHVsZV9pbml0KHZvaWQpCiBzdGF0aWMgYm9vbAogY2hlY2tf YXJjaGl2ZV9kaXJlY3RvcnkoY2hhciAqKm5ld3ZhbCwgdm9pZCAqKmV4dHJhLCBHdWNTb3VyY2Ug c291cmNlKQogewotCXN0cnVjdCBzdGF0IHN0OwotCiAJLyoKIAkgKiBUaGUgZGVmYXVsdCB2YWx1 ZSBpcyBhbiBlbXB0eSBzdHJpbmcsIHNvIHdlIGhhdmUgdG8gYWNjZXB0IHRoYXQgdmFsdWUuCiAJ ICogT3VyIGNoZWNrX2NvbmZpZ3VyZWQgY2FsbGJhY2sgYWxzbyBjaGVja3MgZm9yIHRoaXMgYW5k IHByZXZlbnRzCkBAIC0xMTUsMTcgKzExMyw2IEBAIGNoZWNrX2FyY2hpdmVfZGlyZWN0b3J5KGNo YXIgKipuZXd2YWwsIHZvaWQgKipleHRyYSwgR3VjU291cmNlIHNvdXJjZSkKIAkJcmV0dXJuIGZh bHNlOwogCX0KIAotCS8qCi0JICogRG8gYSBiYXNpYyBzYW5pdHkgY2hlY2sgdGhhdCB0aGUgc3Bl Y2lmaWVkIGFyY2hpdmUgZGlyZWN0b3J5IGV4aXN0cy4gSXQKLQkgKiBjb3VsZCBiZSByZW1vdmVk IGF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZSwgc28gd2Ugc3RpbGwgbmVlZCB0byBiZQotCSAq IHByZXBhcmVkIGZvciBpdCBub3QgdG8gZXhpc3QgaW4gdGhlIGFjdHVhbCBhcmNoaXZpbmcgbG9n aWMuCi0JICovCi0JaWYgKHN0YXQoKm5ld3ZhbCwgJnN0KSAhPSAwIHx8ICFTX0lTRElSKHN0LnN0 X21vZGUpKQotCXsKLQkJR1VDX2NoZWNrX2VycmRldGFpbCgiU3BlY2lmaWVkIGFyY2hpdmUgZGly ZWN0b3J5IGRvZXMgbm90IGV4aXN0LiIpOwotCQlyZXR1cm4gZmFsc2U7Ci0JfQotCiAJcmV0dXJu IHRydWU7CiB9CiAKQEAgLTEzNywxMiArMTI0LDIzIEBAIGNoZWNrX2FyY2hpdmVfZGlyZWN0b3J5 KGNoYXIgKipuZXd2YWwsIHZvaWQgKipleHRyYSwgR3VjU291cmNlIHNvdXJjZSkKIHN0YXRpYyBi b29sCiBiYXNpY19hcmNoaXZlX2NvbmZpZ3VyZWQoQXJjaGl2ZU1vZHVsZVN0YXRlICpzdGF0ZSkK IHsKLQlpZiAoYXJjaGl2ZV9kaXJlY3RvcnkgIT0gTlVMTCAmJiBhcmNoaXZlX2RpcmVjdG9yeVsw XSAhPSAnXDAnKQotCQlyZXR1cm4gdHJ1ZTsKKwlzdHJ1Y3Qgc3RhdCBzdDsKIAotCWFyY2hfbW9k dWxlX2NoZWNrX2VycmRldGFpbCgiJXMgaXMgbm90IHNldC4iLAorCWlmIChhcmNoaXZlX2RpcmVj dG9yeSA9PSBOVUxMIHx8IGFyY2hpdmVfZGlyZWN0b3J5WzBdID09ICdcMCcpCisJeworCQlhcmNo X21vZHVsZV9jaGVja19lcnJkZXRhaWwoIiVzIGlzIG5vdCBzZXQuIiwKIAkJCQkJCQkJImJhc2lj X2FyY2hpdmUuYXJjaGl2ZV9kaXJlY3RvcnkiKTsKLQlyZXR1cm4gZmFsc2U7CisKKwkJcmV0dXJu IGZhbHNlOworCX0KKworCWlmIChzdGF0KGFyY2hpdmVfZGlyZWN0b3J5LCAmc3QpICE9IDAgfHwg IVNfSVNESVIoc3Quc3RfbW9kZSkpCisJeworCQlhcmNoX21vZHVsZV9jaGVja19lcnJkZXRhaWwo IlNwZWNpZmllZCBhcmNoaXZlIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4iKTsKKwkJcmV0dXJu IGZhbHNlOworCX0KKworCXJldHVybiB0cnVlOwogfQogCiAvKgo= ------==--bound.131743.a4b1fd0a-5640-4a25-ba72-55c0f5389dae--