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 1uaAQG-00HR7l-4L for pgsql-hackers@arkaria.postgresql.org; Fri, 11 Jul 2025 09:52:04 +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 1uaAQD-003YQn-Df for pgsql-hackers@arkaria.postgresql.org; Fri, 11 Jul 2025 09:52:02 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uaAQC-003YMU-UZ for pgsql-hackers@lists.postgresql.org; Fri, 11 Jul 2025 09:52:01 +0000 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uaAQB-006js8-08 for pgsql-hackers@lists.postgresql.org; Fri, 11 Jul 2025 09:52:00 +0000 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-608acb0a27fso2709335a12.0 for ; Fri, 11 Jul 2025 02:51:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1752227517; x=1752832317; darn=lists.postgresql.org; h=mime-version:user-agent:references:in-reply-to:date:to:from:subject :message-id:from:to:cc:subject:date:message-id:reply-to; bh=ZC42MKCloFjqieC89bzsLQd/RWn2YXmH2vLzySiNVpg=; b=bOaIIgPpLfIaWJnWe88lUIZ2uotpL6GfoH1M8yEQ0i/0Cvk7dERyu1305VOy0P94Kl /vyLEs52sJC2mWYeB6OWnmYDE8ZMPXtw3C9wnxdD4SUAegAGtHjnXWkwAfwp6UO0mbTZ l3G+l0QcmV/tfuza7oBO1s35iqcXLRMZe/Zi3rnMeO3qgllYKh9UDuR5DkfqqFwo9P/O BGPo6VISPg5++hl8GR+JGr2O9lncKhhg9ygdmWmSSx59FLqltmY+IWoUHXubiv2K1gFT XEaAtvnKhEXyDwfUq+FDJB4AZxGeop6CZwqVn2SyI43ZS0u3a/P1iJOXmKM5dVIANq4/ lV2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752227517; x=1752832317; h=mime-version:user-agent:references:in-reply-to:date:to:from:subject :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ZC42MKCloFjqieC89bzsLQd/RWn2YXmH2vLzySiNVpg=; b=ezy2Z3tysuonNvOpgtqT6kn7P+ZOt/JThSZCxsMawiwyZaEdYy5yPDkeNn84HstoSy nZl4VJgxWsKpFcSmO8rTa5FK/K9WAARlsn5lifUI/GQyBsGfUYi2IQ6Lg8tIx2scfhVO J5QLTk5Jq2EQHtapP19JrMeMySz+092TVH2L9339Yg39xH8QUoscDsBM2V/NsRO/XAdu 3UF6rpIbciSjnTU2KYGN1xk+XS7kii6KC78f4gmOkF8qC2+6tt2u7jDxI3ePPABxYdrG F53lqq4RfdwcAEXzG07Xj0LybmLAdOhURQzyGMNYfYepniPyjr20IsG2FlC3EHByvRCk d1GA== X-Forwarded-Encrypted: i=1; AJvYcCWzRXweEef5A4ZgS6yhV23PUNrMQITTiyKaOvNaaSFnsEctcG41vUfrUjmeZhWdJLRu7+nyL9l5HV0lHqJa@lists.postgresql.org X-Gm-Message-State: AOJu0Yxl7KQoEPvgmrL2Z4XKbkGOej4JHqFzb5Uny6IVLhZ7/mauV3Tu NJiLkeYatkFV/CdEwRLPd9ZMw9Am0lLS0/pp2uY44ucrgfxitSrJZnZ/MA+wubMGB/w= X-Gm-Gg: ASbGncsp7QXrHChW44xtz7zgEEZhkdwPRGwKFJ4OF8KhdeI7xDoVrjuClPHwUb8W8+m BVD+58WQTvOOCvYYfXLHwTVk2RkZJaiCSWUAfIf1NXWQCV93NAaLk97QMNd5fY1s6/obA1Za0zp IlSemAGlbUjfQ57N489nmTjtj0/j0EqkPhWo2xBUW67eqDIgcdZLmS6gWpOzNP2yNaZJQ2t1W4m ZzIrTpZwhfbVciMxBIhuPccqZgzNNGGeW1pVMW8MpX5/H+iOTTblRVmaHXhFYcYDQM5Ufudb5mK YzzPeZFXj1BFTWcBUh7zp3z092CThGLtAHxuWEwTFecDKppy785YmeLjA/XuT9PYQb7VHF7fMd5 vder9904OkmlN5pzfo/gwpp1P4F7FVI9XDWr7cZEHH2rcfp9k5sXaKMSXnWNRHcr3JyouK4c9+e OoOzM35ARfZg== X-Google-Smtp-Source: AGHT+IHRn/0BvZpZHlZ/7Olar9pczqq4f0Gx9T9J1dpE4xtWU5nMXSzmcwQTT1lwap/E0+c5gT94Hg== X-Received: by 2002:a05:6402:35d3:b0:607:6619:1092 with SMTP id 4fb4d7f45d1cf-611e764f2femr2177800a12.13.1752227517036; Fri, 11 Jul 2025 02:51:57 -0700 (PDT) Received: from laurenz.albe-K4N0CV00F97414D (ip-185-104-138-50.ptr.icomera.net. [185.104.138.50]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-611c9523a75sm1992958a12.25.2025.07.11.02.51.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Jul 2025 02:51:56 -0700 (PDT) Message-ID: <2c1f1834107045dfa8b32417771b56bab0cffc56.camel@cybertec.at> Subject: Re: analyze-in-stages post upgrade questions From: Laurenz Albe To: Mircea Cadariu , "Zechman, Derek S" , Adrian Klaver , pgsql-hackers@lists.postgresql.org Date: Fri, 11 Jul 2025 11:51:30 +0200 In-Reply-To: References: <6add2a9a-7cf2-4d1b-8f3e-2e26a7ebe883@aklaver.com> <4d8122febd3007143504e4b6034b4253f7000761.camel@cybertec.at> <08d943a83590308cbb9be594d80b4e19ca80e08e.camel@cybertec.at> <2505eef1-b6aa-4518-baff-861a2e6a507b@gmail.com> Content-Type: multipart/mixed; boundary="=-BMEdiC0G2jMlcYOUtAc8" User-Agent: Evolution 3.56.2 (3.56.2-1.fc42) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-BMEdiC0G2jMlcYOUtAc8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable [moving to pgsql-hackers] On Thu, 2025-07-10 at 17:20 +0100, Mircea Cadariu wrote: > I have only one suggestion for the patch. Consider adding a=20 > corresponding test in src/bin/scripts/t/100_vacuumdb.pl. >=20 > Proposal (I used this to check the patch): >=20 > $node->safe_psql('postgres', > =C2=A0 =C2=A0 "CREATE TABLE parent_table (a INT) PARTITION BY LIST (a);\= n" > =C2=A0 =C2=A0 =C2=A0 . "CREATE TABLE child_table PARTITION OF parent_tab= le FOR VALUES=20 > IN (1);\n" > =C2=A0 =C2=A0 =C2=A0 . "INSERT INTO parent_table VALUES (1);\n"); > $node->issues_sql_like( > =C2=A0 =C2=A0 [ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 'vacuumdb', '--analyze-only', 'postgres' > =C2=A0 =C2=A0 ], > =C2=A0 =C2=A0 qr/statement:\s+ANALYZE\s+public\.parent_table/s, > =C2=A0 =C2=A0 '--analyze_only updates statistics for partitioned tables'= ); Good idea; done in the attached version 2 of the patch. Yours, Laurenz Albe --=-BMEdiC0G2jMlcYOUtAc8 Content-Disposition: attachment; filename="v2-0001-Make-vacuumdb-Z-process-partitioned-tables.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="v2-0001-Make-vacuumdb-Z-process-partitioned-tables.patch"; charset="UTF-8" RnJvbSA0YmY1MDQ4ZGE2ZmZkMjUwZWUyMDRmZmY0MTljZjk3NWFhN2E2NTQ4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMYXVyZW56IEFsYmUgPGxhdXJlbnouYWxiZUBjeWJlcnRlYy5h dD4KRGF0ZTogRnJpLCAxMSBKdWwgMjAyNSAxMTo0Njo1NSArMDIwMApTdWJqZWN0OiBbUEFUQ0gg djJdIE1ha2UgdmFjdXVtZGIgLVogcHJvY2VzcyBwYXJ0aXRpb25lZCB0YWJsZXMKCkF1dG9hbmFs eXplIHdvbid0IHByb2Nlc3MgcGFydGl0aW9uZWQgdGFibGVzLCBidXQgYSBtYW51YWwgQU5BTFla RQpvZiB0aGUgd2hvbGUgZGF0YWJhc2UgZG9lcy4gIFNvIGl0IHdhcyBzdXJwcmlzaW5nIHRoYXQg cGFydGl0aW9uZWQKdGFibGVzIHdlcmUgbm90IHByb2Nlc3NlZCBieSAidmFjdXVtZGIgLS1hbmFs eXplLW9ubHkiLgoKSW4gYWRkaXRpb24sICJ2YWN1dW1kYiAtLWFuYWx5emUtb25seSIgaXMgd2hh dCB5b3UgcnVuIHRvIGNvbGxlY3QKbWlzc2luZyBzdGF0aXN0aWNzIGFmdGVyIGEgInBnX3VwZ3Jh ZGUiLCBhbmQgaXQgbWFrZXMgYSBsb3Qgb2Ygc2Vuc2UKdG8gY29sbGVjdCBzdGF0aXN0aWNzIGZv ciBwYXJ0aXRpb25lZCB0YWJsZXMgYXQgdGhhdCBwb2ludC4KCkhvd2V2ZXIsIHJ1bm5pbmcgVkFD VVVNIG9uIHBhcnRpdGlvbmVkIHRhYmxlcyBhZGRzIG5vIGJlbmVmaXQgb3Zlcgp2YWN1dW1pbmcg dGhlIHBhcnRpdGlvbnMsIGFuZCBWQUNVVU0gaXMgbW9yZSBleHBlbnNpdmUgdGhhbiBBTkFMWVpF LApzbyB3ZSB3b24ndCB0cmVhdCBwYXJ0aXRpb25lZCB0YWJsZXMgdW5sZXNzIC0tYW5hbHl6ZS1v bmx5IGlzIGdpdmVuLgpPdGhlcndpc2UsIHdlJ2QgZW5kIHVwIHZhY3V1bWluZyB0aGUgcGFydGl0 aW9ucyB0d2ljZSwgd2hpY2ggd291bGQKYmUgYSB3YXN0ZSBvZiByZXNvdXJjZXMuCgpBdXRob3I6 IExhdXJlbnogQWxiZSA8bGF1cmVuei5hbGJlQGN5YmVydGVjLmF0PgpBdXRob3I6IE1pcmNlYSBD YWRhcml1IDxjYWRhcml1Lm1pcmNlYUBnbWFpbC5jb20+CkRpc2N1c3Npb246IGh0dHBzOi8vcG9z dGdyLmVzL20vQ08xUFIwNE1CODI4MTM4N0I5QUQ5REUzMDk3Njk2NkJCQzA0NUElNDBDTzFQUjA0 TUI4MjgxLm5hbXByZDA0LnByb2Qub3V0bG9vay5jb20KLS0tCiBkb2Mvc3JjL3NnbWwvcmVmL3Zh Y3V1bWRiLnNnbWwgICAgfCAgNCArKysrCiBzcmMvYmluL3NjcmlwdHMvdC8xMDBfdmFjdXVtZGIu cGwgfCAxMiArKysrKysrKysrKysKIHNyYy9iaW4vc2NyaXB0cy92YWN1dW1kYi5jICAgICAgICB8 IDIzICsrKysrKysrKysrKysrKysrKystLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi92YWN1 dW1kYi5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi92YWN1dW1kYi5zZ21sCmluZGV4IGIwNjgwYTYx ODE0Li42YTRjOGQ1MWI3ZiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi92YWN1dW1kYi5z Z21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvdmFjdXVtZGIuc2dtbApAQCAtNDQwLDYgKzQ0MCwx MCBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICAgICAgIDxsaXN0aXRlbT4KICAgICAgICA8 cGFyYT4KICAgICAgICAgT25seSBjYWxjdWxhdGUgc3RhdGlzdGljcyBmb3IgdXNlIGJ5IHRoZSBv cHRpbWl6ZXIgKG5vIHZhY3V1bSkuCisgICAgICAgIElmIHRoYXQgb3B0aW9uIGlzIHNwZWNpZmll ZCwgPGNvbW1hbmQ+dmFjdXVtZGI8L2NvbW1hbmQ+IHdpbGwgYWxzbworICAgICAgICBwcm9jZXNz IHBhcnRpdGlvbmVkIHRhYmxlcy4gIFdpdGhvdXQgdGhhdCBvcHRpb24sIG9ubHkgdGhlIHBhcnRp dGlvbnMKKyAgICAgICAgd2lsbCBiZSBjb25zaWRlcmVkLCB1bmxlc3MgYSBwYXJ0aXRpb25lZCB0 YWJsZSBpcyBleHBsaWNpdGx5IHNwZWNpZmllZAorICAgICAgICB3aXRoIHRoZSA8b3B0aW9uPi0t dGFibGU8L29wdGlvbj4gb3B0aW9uLgogICAgICAgIDwvcGFyYT4KICAgICAgIDwvbGlzdGl0ZW0+ CiAgICAgIDwvdmFybGlzdGVudHJ5PgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9zY3JpcHRzL3QvMTAw X3ZhY3V1bWRiLnBsIGIvc3JjL2Jpbi9zY3JpcHRzL3QvMTAwX3ZhY3V1bWRiLnBsCmluZGV4IGZm NTZhMTNiNDZiLi45YWI0MmMzOWE5NCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9zY3JpcHRzL3QvMTAw X3ZhY3V1bWRiLnBsCisrKyBiL3NyYy9iaW4vc2NyaXB0cy90LzEwMF92YWN1dW1kYi5wbApAQCAt MzQwLDQgKzM0MCwxNiBAQCAkbm9kZS0+aXNzdWVzX3NxbF91bmxpa2UoCiAJcXIvc3RhdGVtZW50 OlwgQU5BTFlaRS9zeCwKIAknLS1taXNzaW5nLXN0YXRzLW9ubHkgd2l0aCBubyBtaXNzaW5nIHBh cnRpdGlvbiBzdGF0cycpOwogCiskbm9kZS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkNSRUFU RSBUQUJMRSBwYXJlbnRfdGFibGUgKGEgSU5UKSBQQVJUSVRJT04gQlkgTElTVCAoYSk7XG4iCisJ ICAuICJDUkVBVEUgVEFCTEUgY2hpbGRfdGFibGUgUEFSVElUSU9OIE9GIHBhcmVudF90YWJsZSBG T1IgVkFMVUVTCitJTiAoMSk7XG4iCisJICAuICJJTlNFUlQgSU5UTyBwYXJlbnRfdGFibGUgVkFM VUVTICgxKTtcbiIpOworJG5vZGUtPmlzc3Vlc19zcWxfbGlrZSgKKwlbCisJCSd2YWN1dW1kYics ICctLWFuYWx5emUtb25seScsICdwb3N0Z3JlcycKKwldLAorCXFyL3N0YXRlbWVudDpccytBTkFM WVpFXHMrcHVibGljXC5wYXJlbnRfdGFibGUvcywKKwknLS1hbmFseXplX29ubHkgdXBkYXRlcyBz dGF0aXN0aWNzIGZvciBwYXJ0aXRpb25lZCB0YWJsZXMnKTsKKwogZG9uZV90ZXN0aW5nKCk7CmRp ZmYgLS1naXQgYS9zcmMvYmluL3NjcmlwdHMvdmFjdXVtZGIuYyBiL3NyYy9iaW4vc2NyaXB0cy92 YWN1dW1kYi5jCmluZGV4IDc5YjEwOTZlYjA4Li5kN2NhODMwMGY0MyAxMDA2NDQKLS0tIGEvc3Jj L2Jpbi9zY3JpcHRzL3ZhY3V1bWRiLmMKKysrIGIvc3JjL2Jpbi9zY3JpcHRzL3ZhY3V1bWRiLmMK QEAgLTkxMSwxMCArOTExLDI1IEBAIHJldHJpZXZlX29iamVjdHMoUEdjb25uICpjb25uLCB2YWN1 dW1pbmdPcHRpb25zICp2YWNvcHRzLAogCSAqLwogCWlmICgob2JqZmlsdGVyICYgT0JKRklMVEVS X1RBQkxFKSA9PSAwKQogCXsKLQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmNhdGFsb2dfcXVlcnks Ci0JCQkJCQkJICIgQU5EIGMucmVsa2luZCBPUEVSQVRPUihwZ19jYXRhbG9nLj0pIEFOWSAoYXJy YXlbIgotCQkJCQkJCSBDcHBBc1N0cmluZzIoUkVMS0lORF9SRUxBVElPTikgIiwgIgotCQkJCQkJ CSBDcHBBc1N0cmluZzIoUkVMS0lORF9NQVRWSUVXKSAiXSlcbiIpOworCQkvKgorCQkgKiBWQUNV VU1pbmcgcGFydGl0aW9uZWQgdGFibGVzIHdvdWxkIGJlIHVucmVhc29uYWJseSBleHBlbnNpdmUs IHNpbmNlCisJCSAqIHRoYXQgZW50YWlscyBwcm9jZXNzaW5nIHRoZSBwYXJ0aXRpb25zIHR3aWNl IChvbmNlIGFzIHBhcnQgb2YgdGhlCisJCSAqIHBhcnRpdGlvbmVkIHRhYmxlLCBvbmNlIGFzIHRh YmxlcyBpbiB0aGVpciBvd24gcmlnaHQpIGZvciBubworCQkgKiBiZW5lZml0LiBCdXQgaWYgd2Ug b25seSBBTkFMWVpFLCBjb2xsZWN0aW5nIHN0YXRpc3RpY3MgZm9yCisJCSAqIHBhcnRpdGlvbmVk IHRhYmxlcyBpcyB3b3J0aCB0aGUgZWZmb3J0LgorCQkgKi8KKwkJaWYgKHZhY29wdHMtPmFuYWx5 emVfb25seSkKKwkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKCZjYXRhbG9nX3F1ZXJ5LAorCQkJCQkJ CQkgIiBBTkQgYy5yZWxraW5kIE9QRVJBVE9SKHBnX2NhdGFsb2cuPSkgQU5ZIChhcnJheVsiCisJ CQkJCQkJCSBDcHBBc1N0cmluZzIoUkVMS0lORF9SRUxBVElPTikgIiwgIgorCQkJCQkJCQkgQ3Bw QXNTdHJpbmcyKFJFTEtJTkRfTUFUVklFVykgIiwgIgorCQkJCQkJCQkgQ3BwQXNTdHJpbmcyKFJF TEtJTkRfUEFSVElUSU9ORURfVEFCTEUpICJdKVxuIik7CisJCWVsc2UKKwkJCWFwcGVuZFBRRXhw QnVmZmVyU3RyKCZjYXRhbG9nX3F1ZXJ5LAorCQkJCQkJCQkgIiBBTkQgYy5yZWxraW5kIE9QRVJB VE9SKHBnX2NhdGFsb2cuPSkgQU5ZIChhcnJheVsiCisJCQkJCQkJCSBDcHBBc1N0cmluZzIoUkVM S0lORF9SRUxBVElPTikgIiwgIgorCQkJCQkJCQkgQ3BwQXNTdHJpbmcyKFJFTEtJTkRfTUFUVklF VykgIl0pXG4iKTsKKwogCX0KIAogCS8qCi0tIAoyLjUwLjAKCg== --=-BMEdiC0G2jMlcYOUtAc8--