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 1uVO4I-0005OA-FF for pgsql-general@arkaria.postgresql.org; Sat, 28 Jun 2025 05:25:38 +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 1uVO4G-006Xuu-98 for pgsql-general@arkaria.postgresql.org; Sat, 28 Jun 2025 05:25:36 +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 1uVO4F-006XtU-Pd for pgsql-general@lists.postgresql.org; Sat, 28 Jun 2025 05:25:36 +0000 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uVO4E-004OEB-1S for pgsql-general@lists.postgresql.org; Sat, 28 Jun 2025 05:25:35 +0000 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-450ce3a2dd5so3763225e9.3 for ; Fri, 27 Jun 2025 22:25:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1751088332; x=1751693132; 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=6nQm1/mLV4mxEpv4nidE9g0bweiNFShPca94+pfrnNI=; b=jdwD6cv78QFjHKLdg1z6o1i8JYhqx2TVexui5DbZ9qPr/EkvsqPleo2+Cw5hFS3gWF Z6F4bipE1jCDrg3+vVVvyPKAJ2fEsMp1J52LYN5Noexr9j8s5m8v3al4Vtb/tdtttX2i TlM+FzLAceHwI6z0n8EII/T9M9Qofl4D6gOBC8qgJTeMHgKuhp/GzJLE1Jh3uZ1ROTnN vMNl41kIvozCavfE0kKYSQEuDbOx4n7KwFLpaIPOG0f4GnnPddBYoq1iYLmiO3T3hdOf 4Nzq9w1e7mZGooJX0hsQUVghnuNGy8VmGSeMXryLtkvZooMv3q9U3pRLNZ9CvnPnxHBK PCgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751088332; x=1751693132; 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=6nQm1/mLV4mxEpv4nidE9g0bweiNFShPca94+pfrnNI=; b=pq1m3axXjITcLgWMZuXnGVQFexYQH1aF2A3pJ25ZXJBcH0dAi6SfnVoTb3WrMFk38p 7Xn/CnJrgRJqFLTqKj/ToeOyJEIpu3/xYGWvDEBANlnddlFmSV5kl8uQM+h0eBT6qYjk aE8ud7/6Cd57+jjIJ6jLjjOmqTrbLV9I6du1HOrz6fNrJgjN8pkepsCf0WDsCwjOHFih ydSIfc3UCL1ucI6WhQPnlTWtYHC/Y+LP1NpnzGI5LgbHVDjnTAHqripfOEv01exPBUg4 K9wMcRVfuBqJM8paHMDswbghlQjmFkTN7zsfCsUsknhH4YzxkvaSIxFyAw8SkReI8vKZ 8psw== X-Forwarded-Encrypted: i=1; AJvYcCVGfoce7nh9FUw55hofS9Sml0gZUulk2hogsLBPN4cphY+vob+A1EMQROfJs0wsUh8vidQ96R0pKY1dnJCW@lists.postgresql.org X-Gm-Message-State: AOJu0Yy+vOLeCWlsbyVhRp5dSYfv502A2WDB9jxdh2LBfuf7sibLe9Zq 7hOExTi45G4GdLCEbrnZZYuP2D6vxvFw6A4wcTlUS5sH8Ksf3LlvXT6gT5NXC4QZrOVhs79rtQi LCHoQ7J8= X-Gm-Gg: ASbGncuvrkxGMXOKS/wJJWOGcFwl3OzfkQDNlSBSRNjINoBSGic1Bc1lYuG3jSfnRBB reKu81wOf953jm2BlNtFb9AoKVkWB4iCifpmwntYzjDOGDCf0Z5OSAy5KLpqg3wKPvPz3ODf5mx Jfu14O5mp1+z0sFzuHL9RVzljZZdxXMlKcB5/Ozh3NKTZfinieWyl6lFtmA2blgisgvUOT0b231 F2Bv95m9KQJTBCJ53XiFS3v0Y4/GJJljqiie8rPJ5pGkdzBUcENMeKYR6722As95eIye3uNicTH +7OmPQmsfh+NYSv2s2bNLHk8f/gDAeqrVZZqLPUCiekwzPREkZv9hWXTSTvX9SBcXrsE0uT3Vxg Zui6H3KUbU3cTHq49tbTsIWUdWe7gcvqOGokdQUiZDfAq3Q== X-Google-Smtp-Source: AGHT+IG14pgKr8HjSTEmjEIIH4mRLRkeDkBBHYs8CFy1c3DjwnySyxn0SvFudzL2i1qOtzcBpdR1ZA== X-Received: by 2002:a05:600c:c0d7:b0:453:59c2:e4f8 with SMTP id 5b1f17b1804b1-4538f284df8mr38262355e9.1.1751088331930; Fri, 27 Jun 2025 22:25:31 -0700 (PDT) Received: from laurenz.albe-K4N0CV00F97414D (31-10-149-38.cgn.dynamic.upc.ch. [31.10.149.38]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-453823ad247sm103063315e9.26.2025.06.27.22.25.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 22:25:31 -0700 (PDT) Message-ID: Subject: Re: analyze-in-stages post upgrade questions From: Laurenz Albe To: "Zechman, Derek S" , Adrian Klaver , "pgsql-general@lists.postgresql.org" Date: Sat, 28 Jun 2025 07:25:30 +0200 In-Reply-To: References: <6add2a9a-7cf2-4d1b-8f3e-2e26a7ebe883@aklaver.com> <4d8122febd3007143504e4b6034b4253f7000761.camel@cybertec.at> Content-Type: multipart/mixed; boundary="=-8AaAbFHnBpyzL9ZYv56l" 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 --=-8AaAbFHnBpyzL9ZYv56l Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 2025-06-28 at 01:23 +0000, Zechman, Derek S wrote: > > Well, that wouldn't explain why it doesn't work on partitioned tables. > > I am under the impression that it should. > > > > Derek, can cou share the pg_stats entries for the partitioned table? >=20 > There are no entries in pg_stats for the parent table until after I manua= lly run an analyze on it =E2=80=93 Example below You are right. I looked at the code, and "vacuumdb" does not process partitiond tables, even if --analyze-only is specified. I find that surprising, aince the SQL command ANALYZE (without a table name) will also collect statistics for partitioned tables. I think that it would be a good idea to change that behavior. In particular, it makes a lot of sense to collect statistics for partitioned tables after a "pg_upgrade". Attached is a patch to make "vacuumdb --analyze-only" consider partitioned tables as well. Yours, Laurenz Albe --=-8AaAbFHnBpyzL9ZYv56l Content-Disposition: attachment; filename="v1-0001-Make-vacuumdb-Z-process-partitioned-tables.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="v1-0001-Make-vacuumdb-Z-process-partitioned-tables.patch"; charset="UTF-8" RnJvbSAwN2NiZDQ5MTAxMWZmNWRhMTI0M2IxMTdjMTExZDUxNTMxMjkzNzgyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMYXVyZW56IEFsYmUgPGxhdXJlbnouYWxiZUBjeWJlcnRlYy5h dD4KRGF0ZTogU2F0LCAyOCBKdW4gMjAyNSAwNzoyMDowMiArMDIwMApTdWJqZWN0OiBbUEFUQ0gg djFdIE1ha2UgdmFjdXVtZGIgLVogcHJvY2VzcyBwYXJ0aXRpb25lZCB0YWJsZXMKCkF1dG9hbmFs eXplIHdvbid0IHByb2Nlc3MgcGFydGl0aW9uZWQgdGFibGVzLCBidXQgYSBtYW51YWwgQU5BTFla RQpvZiB0aGUgd2hvbGUgZGF0YWJhc2UgZG9lcy4gIFNvIGl0IHdhcyBzdXJwcmlzaW5nIHRoYXQg cGFydGl0aW9uZWQKdGFibGVzIHdlcmUgbm90IHByb2Nlc3NlZCBieSAidmFjdXVtZGIgLS1hbmFs eXplLW9ubHkiLgoKSW4gYWRkaXRpb24sICJ2YWN1dW1kYiAtLWFuYWx5emUtb25seSIgaXMgd2hh dCB5b3UgcnVuIHRvIGNvbGxlY3QKbWlzc2luZyBzdGF0aXN0aWNzIGFmdGVyIGEgInBnX3VwZ3Jh ZGUiLCBhbmQgaXQgbWFrZXMgYSBsb3Qgb2Ygc2Vuc2UKdG8gY29sbGVjdCBzdGF0aXN0aWNzIGZv ciBwYXJ0aXRpb25lZCB0YWJsZXMgYXQgdGhhdCBwb2ludC4KCkhvd2V2ZXIsIHJ1bm5pbmcgVkFD VVVNIG9uIHBhcnRpdGlvbmVkIHRhYmxlcyBhZGRzIG5vIGJlbmVmaXQgb3Zlcgp2YWN1dW1pbmcg dGhlIHBhcnRpdGlvbnMsIGFuZCBWQUNVVU0gaXMgbW9yZSBleHBlbnNpdmUgdGhhbiBBTkFMWVpF LApzbyB3ZSB3b24ndCB0cmVhdCBwYXJ0aXRpb25lZCB0YWJsZXMgdW5sZXNzIC0tYW5hbHl6ZS1v bmx5IGlzIGdpdmVuLgpPdGhlcndpc2UsIHdlJ2QgZW5kIHVwIHZhY3V1bWluZyB0aGUgcGFydGl0 aW9ucyB0d2ljZSwgd2hpY2ggd291bGQKYmUgYSB3YXN0ZSBvZiByZXNvdXJjZXMuCi0tLQogZG9j L3NyYy9zZ21sL3JlZi92YWN1dW1kYi5zZ21sIHwgIDQgKysrKwogc3JjL2Jpbi9zY3JpcHRzL3Zh Y3V1bWRiLmMgICAgIHwgMjMgKysrKysrKysrKysrKysrKysrKy0tLS0KIDIgZmlsZXMgY2hhbmdl ZCwgMjMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3Jj L3NnbWwvcmVmL3ZhY3V1bWRiLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL3ZhY3V1bWRiLnNnbWwK aW5kZXggYjA2ODBhNjE4MTQuLjZhNGM4ZDUxYjdmIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwv cmVmL3ZhY3V1bWRiLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi92YWN1dW1kYi5zZ21sCkBA IC00NDAsNiArNDQwLDEwIEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogICAgICAgPGxpc3Rp dGVtPgogICAgICAgIDxwYXJhPgogICAgICAgICBPbmx5IGNhbGN1bGF0ZSBzdGF0aXN0aWNzIGZv ciB1c2UgYnkgdGhlIG9wdGltaXplciAobm8gdmFjdXVtKS4KKyAgICAgICAgSWYgdGhhdCBvcHRp b24gaXMgc3BlY2lmaWVkLCA8Y29tbWFuZD52YWN1dW1kYjwvY29tbWFuZD4gd2lsbCBhbHNvCisg ICAgICAgIHByb2Nlc3MgcGFydGl0aW9uZWQgdGFibGVzLiAgV2l0aG91dCB0aGF0IG9wdGlvbiwg b25seSB0aGUgcGFydGl0aW9ucworICAgICAgICB3aWxsIGJlIGNvbnNpZGVyZWQsIHVubGVzcyBh IHBhcnRpdGlvbmVkIHRhYmxlIGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkCisgICAgICAgIHdpdGgg dGhlIDxvcHRpb24+LS10YWJsZTwvb3B0aW9uPiBvcHRpb24uCiAgICAgICAgPC9wYXJhPgogICAg ICAgPC9saXN0aXRlbT4KICAgICAgPC92YXJsaXN0ZW50cnk+CmRpZmYgLS1naXQgYS9zcmMvYmlu L3NjcmlwdHMvdmFjdXVtZGIuYyBiL3NyYy9iaW4vc2NyaXB0cy92YWN1dW1kYi5jCmluZGV4IDc5 YjEwOTZlYjA4Li5kN2NhODMwMGY0MyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9zY3JpcHRzL3ZhY3V1 bWRiLmMKKysrIGIvc3JjL2Jpbi9zY3JpcHRzL3ZhY3V1bWRiLmMKQEAgLTkxMSwxMCArOTExLDI1 IEBAIHJldHJpZXZlX29iamVjdHMoUEdjb25uICpjb25uLCB2YWN1dW1pbmdPcHRpb25zICp2YWNv cHRzLAogCSAqLwogCWlmICgob2JqZmlsdGVyICYgT0JKRklMVEVSX1RBQkxFKSA9PSAwKQogCXsK LQkJYXBwZW5kUFFFeHBCdWZmZXJTdHIoJmNhdGFsb2dfcXVlcnksCi0JCQkJCQkJICIgQU5EIGMu cmVsa2luZCBPUEVSQVRPUihwZ19jYXRhbG9nLj0pIEFOWSAoYXJyYXlbIgotCQkJCQkJCSBDcHBB c1N0cmluZzIoUkVMS0lORF9SRUxBVElPTikgIiwgIgotCQkJCQkJCSBDcHBBc1N0cmluZzIoUkVM S0lORF9NQVRWSUVXKSAiXSlcbiIpOworCQkvKgorCQkgKiBWQUNVVU1pbmcgcGFydGl0aW9uZWQg dGFibGVzIHdvdWxkIGJlIHVucmVhc29uYWJseSBleHBlbnNpdmUsIHNpbmNlCisJCSAqIHRoYXQg ZW50YWlscyBwcm9jZXNzaW5nIHRoZSBwYXJ0aXRpb25zIHR3aWNlIChvbmNlIGFzIHBhcnQgb2Yg dGhlCisJCSAqIHBhcnRpdGlvbmVkIHRhYmxlLCBvbmNlIGFzIHRhYmxlcyBpbiB0aGVpciBvd24g cmlnaHQpIGZvciBubworCQkgKiBiZW5lZml0LiBCdXQgaWYgd2Ugb25seSBBTkFMWVpFLCBjb2xs ZWN0aW5nIHN0YXRpc3RpY3MgZm9yCisJCSAqIHBhcnRpdGlvbmVkIHRhYmxlcyBpcyB3b3J0aCB0 aGUgZWZmb3J0LgorCQkgKi8KKwkJaWYgKHZhY29wdHMtPmFuYWx5emVfb25seSkKKwkJCWFwcGVu ZFBRRXhwQnVmZmVyU3RyKCZjYXRhbG9nX3F1ZXJ5LAorCQkJCQkJCQkgIiBBTkQgYy5yZWxraW5k IE9QRVJBVE9SKHBnX2NhdGFsb2cuPSkgQU5ZIChhcnJheVsiCisJCQkJCQkJCSBDcHBBc1N0cmlu ZzIoUkVMS0lORF9SRUxBVElPTikgIiwgIgorCQkJCQkJCQkgQ3BwQXNTdHJpbmcyKFJFTEtJTkRf TUFUVklFVykgIiwgIgorCQkJCQkJCQkgQ3BwQXNTdHJpbmcyKFJFTEtJTkRfUEFSVElUSU9ORURf VEFCTEUpICJdKVxuIik7CisJCWVsc2UKKwkJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKCZjYXRhbG9n X3F1ZXJ5LAorCQkJCQkJCQkgIiBBTkQgYy5yZWxraW5kIE9QRVJBVE9SKHBnX2NhdGFsb2cuPSkg QU5ZIChhcnJheVsiCisJCQkJCQkJCSBDcHBBc1N0cmluZzIoUkVMS0lORF9SRUxBVElPTikgIiwg IgorCQkJCQkJCQkgQ3BwQXNTdHJpbmcyKFJFTEtJTkRfTUFUVklFVykgIl0pXG4iKTsKKwogCX0K IAogCS8qCi0tIAoyLjUwLjAKCg== --=-8AaAbFHnBpyzL9ZYv56l--