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.94.2) (envelope-from ) id 1sP0fM-002RbE-I5 for pgsql-hackers@arkaria.postgresql.org; Wed, 03 Jul 2024 14:09:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sP0fK-009UCD-JU for pgsql-hackers@arkaria.postgresql.org; Wed, 03 Jul 2024 14:08:59 +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.94.2) (envelope-from ) id 1sP0fK-009UC3-9q for pgsql-hackers@lists.postgresql.org; Wed, 03 Jul 2024 14:08:58 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sP0fH-000EJs-Rs for pgsql-hackers@lists.postgresql.org; Wed, 03 Jul 2024 14:08:58 +0000 Received: from [192.168.11.8] (p4447245-ipxg14001funabasi.chiba.ocn.ne.jp [153.195.220.245]) by oss.nttdata.com (Postfix) with ESMTPSA id 330036187B for ; Wed, 3 Jul 2024 23:08:49 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at oss.nttdata.com Content-Type: multipart/mixed; boundary="------------gGGBsZSWz0wQ4NsOv7t8dWte" Message-ID: <6e30082e-041b-4e31-9633-95a66de76f5d@oss.nttdata.com> Date: Wed, 3 Jul 2024 23:08:48 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: pgsql-hackers@lists.postgresql.org Content-Language: en-US From: Fujii Masao Subject: Add a GUC check hook to ensure summarize_wal cannot be enabled when wal_level is minimal List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------gGGBsZSWz0wQ4NsOv7t8dWte Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, The documentation states that "WAL summarization cannot be enabled when wal_level is set to minimal." Therefore, at startup, the postmaster checks these settings and exits with an error if they are not configured properly. However, I found that summarize_wal can still be enabled while the server is running with wal_level=minimal. Please see the following example to cause this situation. I think this is a bug. =# SHOW wal_level; wal_level ----------- minimal (1 row) =# SELECT * FROM pg_get_wal_summarizer_state(); summarized_tli | summarized_lsn | pending_lsn | summarizer_pid ----------------+----------------+-------------+---------------- 0 | 0/0 | 0/0 | (null) (1 row) =# ALTER SYSTEM SET summarize_wal TO on; ALTER SYSTEM =# SELECT pg_reload_conf(); pg_reload_conf ---------------- t (1 row) =# SELECT * FROM pg_get_wal_summarizer_state(); summarized_tli | summarized_lsn | pending_lsn | summarizer_pid ----------------+----------------+-------------+---------------- 1 | 0/1492D80 | 0/1492DF8 | 12228 (1 row) The attached patch adds a GUC check hook to ensure summarize_wal cannot be enabled when wal_level is minimal, fixing the issue. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION --------------gGGBsZSWz0wQ4NsOv7t8dWte Content-Type: text/plain; charset=UTF-8; name="v1-0001-Prevent-summarize_wal-from-enabling-when-wal_leve.patch" Content-Disposition: attachment; filename*0="v1-0001-Prevent-summarize_wal-from-enabling-when-wal_leve.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBkYjRkODc5ODE5NDE3Y2FkZTMyMzI0OWQ2ZjY4YTFiZWY2MzU4NTdlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGdWppaSBNYXNhbyA8ZnVqaWlAcG9zdGdyZXNxbC5v cmc+CkRhdGU6IFdlZCwgMyBKdWwgMjAyNCAyMDoxNzo0MiArMDkwMApTdWJqZWN0OiBbUEFU Q0ggdjFdIFByZXZlbnQgc3VtbWFyaXplX3dhbCBmcm9tIGVuYWJsaW5nIHdoZW4gd2FsX2xl dmVsIGlzCiBtaW5pbWFsLgoKV0FMIHN1bW1hcml6YXRpb24gc2hvdWxkIG5vdCBiZSBlbmFi bGVkIGlmIHdhbF9sZXZlbCBpcyBzZXQgdG8gbWluaW1hbC4KQXQgc3RhcnR1cCwgdGhlIHBv c3RtYXN0ZXIgY2hlY2tzIHRoZXNlIHNldHRpbmdzIGFuZCBleGl0cyB3aXRoIGFuIGVycm9y CmlmIHRoZXkgYXJlIG5vdCBjb25maWd1cmVkIHByb3Blcmx5LiBIb3dldmVyLCBwcmV2aW91 c2x5LApzdW1tYXJpemVfd2FsIGNvdWxkIGJlIHNldCB0byB0cnVlIGFmdGVyIHRoZSBzZXJ2 ZXIgc3RhcnRlZCB3aXRoCndhbF9sZXZlbCA9IG1pbmltYWwsIGNhdXNpbmcgaXNzdWVzLgoK VGhpcyBjb21taXQgYWRkcyBhIEdVQyBjaGVjayBob29rIHRvIGVuc3VyZSBzdW1tYXJpemVf d2FsIGNhbm5vdApiZSBlbmFibGVkIHdoZW4gd2FsX2xldmVsIGlzIG1pbmltYWwuCi0tLQog c3JjL2JhY2tlbmQvcG9zdG1hc3Rlci93YWxzdW1tYXJpemVyLmMgfCAxNiArKysrKysrKysr KysrKystCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYyAgICB8ICAyICst CiBzcmMvaW5jbHVkZS91dGlscy9ndWNfaG9va3MuaCAgICAgICAgICB8ICAxICsKIDMgZmls ZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3dhbHN1bW1hcml6ZXIuYyBiL3NyYy9iYWNr ZW5kL3Bvc3RtYXN0ZXIvd2Fsc3VtbWFyaXplci5jCmluZGV4IDU1ZGMyZWE4ZjUuLjgwNmRh YmE1ZWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvd2Fsc3VtbWFyaXpl ci5jCisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvd2Fsc3VtbWFyaXplci5jCkBAIC00 NCw3ICs0NCw3IEBACiAjaW5jbHVkZSAic3RvcmFnZS9wcm9jLmgiCiAjaW5jbHVkZSAic3Rv cmFnZS9wcm9jc2lnbmFsLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9zaG1lbS5oIgotI2luY2x1 ZGUgInV0aWxzL2d1Yy5oIgorI2luY2x1ZGUgInV0aWxzL2d1Y19ob29rcy5oIgogI2luY2x1 ZGUgInV0aWxzL21lbXV0aWxzLmgiCiAjaW5jbHVkZSAidXRpbHMvd2FpdF9ldmVudC5oIgog CkBAIC0xNTM2LDMgKzE1MzYsMTcgQEAgTWF5YmVSZW1vdmVPbGRXYWxTdW1tYXJpZXModm9p ZCkKIAkJfQogCX0KIH0KKworLyoKKyAqIEdVQyBjaGVja19ob29rIGZvciBzdW1tYXJpemVf d2FsCisgKi8KK2Jvb2wKK2NoZWNrX3N1bW1hcml6ZV93YWwoYm9vbCAqbmV3dmFsLCB2b2lk ICoqZXh0cmEsIEd1Y1NvdXJjZSBzb3VyY2UpCit7CisJaWYgKCpuZXd2YWwgJiYgd2FsX2xl dmVsID09IFdBTF9MRVZFTF9NSU5JTUFMKQorCXsKKwkJR1VDX2NoZWNrX2Vycm1zZygiV0FM IGNhbm5vdCBiZSBzdW1tYXJpemVkIHdoZW4gXCJ3YWxfbGV2ZWxcIiBpcyBcIm1pbmltYWxc IiIpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCXJldHVybiB0cnVlOworfQpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgYi9zcmMvYmFja2VuZC91 dGlscy9taXNjL2d1Y190YWJsZXMuYwppbmRleCBkMjhiMGJjYjQwLi42MDdlOTg1NmRlIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYworKysgYi9z cmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwpAQCAtMTc4MSw3ICsxNzgxLDcg QEAgc3RydWN0IGNvbmZpZ19ib29sIENvbmZpZ3VyZU5hbWVzQm9vbFtdID0KIAkJfSwKIAkJ JnN1bW1hcml6ZV93YWwsCiAJCWZhbHNlLAotCQlOVUxMLCBOVUxMLCBOVUxMCisJCWNoZWNr X3N1bW1hcml6ZV93YWwsIE5VTEwsIE5VTEwKIAl9LAogCiAJewpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvdXRpbHMvZ3VjX2hvb2tzLmggYi9zcmMvaW5jbHVkZS91dGlscy9ndWNfaG9v a3MuaAppbmRleCAwNzBkM2YyYTFhLi44M2JmMDQwZGRmIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS91dGlscy9ndWNfaG9va3MuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9ndWNfaG9v a3MuaApAQCAtMTM4LDYgKzEzOCw3IEBAIGV4dGVybiBib29sIGNoZWNrX3NzbChib29sICpu ZXd2YWwsIHZvaWQgKipleHRyYSwgR3VjU291cmNlIHNvdXJjZSk7CiBleHRlcm4gYm9vbCBj aGVja19zdGFnZV9sb2dfc3RhdHMoYm9vbCAqbmV3dmFsLCB2b2lkICoqZXh0cmEsIEd1Y1Nv dXJjZSBzb3VyY2UpOwogZXh0ZXJuIGJvb2wgY2hlY2tfc3VidHJhbnNfYnVmZmVycyhpbnQg Km5ld3ZhbCwgdm9pZCAqKmV4dHJhLAogCQkJCQkJCQkgICBHdWNTb3VyY2Ugc291cmNlKTsK K2V4dGVybiBib29sIGNoZWNrX3N1bW1hcml6ZV93YWwoYm9vbCAqbmV3dmFsLCB2b2lkICoq ZXh0cmEsIEd1Y1NvdXJjZSBzb3VyY2UpOwogZXh0ZXJuIGJvb2wgY2hlY2tfc3luY2hyb25v dXNfc3RhbmRieV9uYW1lcyhjaGFyICoqbmV3dmFsLCB2b2lkICoqZXh0cmEsCiAJCQkJCQkJ CQkJCUd1Y1NvdXJjZSBzb3VyY2UpOwogZXh0ZXJuIHZvaWQgYXNzaWduX3N5bmNocm9ub3Vz X3N0YW5kYnlfbmFtZXMoY29uc3QgY2hhciAqbmV3dmFsLCB2b2lkICpleHRyYSk7Ci0tIAoy LjQ1LjEKCg== --------------gGGBsZSWz0wQ4NsOv7t8dWte--