Thread: pg_upgrade v15 not generating analyze_new_cluster.sh
Hi, all. When pg_upgrading from PG 11 to 13, a file analyze_new_cluster.sh was generated in the current directory which ran vacuumdb --all --analyze-in-stages
When upgrading from 13 to 15.3 no such file was generated, which made me believe it was no longer necessary. Alas, it wasn't the case. The database was extremely slow after the upgrade chewing up 100% cpu time, and it wasn't until I manually ran vacuumdb" --all --analyze-in-stages that cpu usage dropped. Was there a knob that I missed, or is this just a bug in pg_upgrade 15? Thanks.
On Tue, Jun 13, 2023 at 10:35 AM rihad <rihad@mail.ru> wrote: > > Hi, all. When pg_upgrading from PG 11 to 13, a file analyze_new_cluster.sh was generated in the current directory whichran vacuumdb --all --analyze-in-stages > > When upgrading from 13 to 15.3 no such file was generated, which made me believe it was no longer necessary. Alas, it wasn'tthe case. The database was extremely slow after the upgrade chewing up 100% cpu time, and it wasn't until I manuallyran vacuumdb" --all --analyze-in-stages that cpu usage dropped. Was there a knob that I missed, or is this just abug in pg_upgrade 15? Thanks. If you look at the output of pg_upgrade, it still tells you to run "vacuumdb --all --analyze-in-stages". Since that was the *only* command that was in the script, the script is no longer generated and you're expected to run the command directly instead. It does not remove the need for the job, just instructs you to do it without the script. This change was made in PostgreSQL 14, not 15, and is listed in the release notes there. When you upgrade "past" a version, it's recommended you read the release notes for the intermediate versions as well when looking for changes, as those will not be included in the notes for the newer version. -- Magnus Hagander Me: https://www.hagander.net/ Work: https://www.redpill-linpro.com/
On Tue, Jun 13, 2023 at 10:35 AM rihad <rihad@mail.ru> wrote:Hi, all. When pg_upgrading from PG 11 to 13, a file analyze_new_cluster.sh was generated in the current directory which ran vacuumdb --all --analyze-in-stages When upgrading from 13 to 15.3 no such file was generated, which made me believe it was no longer necessary. Alas, it wasn't the case. The database was extremely slow after the upgrade chewing up 100% cpu time, and it wasn't until I manually ran vacuumdb" --all --analyze-in-stages that cpu usage dropped. Was there a knob that I missed, or is this just a bug in pg_upgrade 15? Thanks.If you look at the output of pg_upgrade, it still tells you to run "vacuumdb --all --analyze-in-stages". Since that was the *only* command that was in the script, the script is no longer generated and you're expected to run the command directly instead. It does not remove the need for the job, just instructs you to do it without the script. This change was made in PostgreSQL 14, not 15, and is listed in the release notes there. When you upgrade "past" a version, it's recommended you read the release notes for the intermediate versions as well when looking for changes, as those will not be included in the notes for the newer version.
Oh, shoooot... thanks. pg_upgrade was one of several commands my script ran, that also removed PG 13 & installed PG 15 etc right after that, that's why I missed pg_upgrade's output and to be honest wasn't expecting it to say anything important, because, for instance, it did generate update_extensions.sql and delete_old_cluster.sh, which is, btw, also a one-liner)) I'd rather that file wasn't generated but just mentioned in the output as it has nothing to do with how new cluster works, than mentioning vacuumdb as it's crucial to make PG useful in most non-test scenarios at all.