Обсуждение: Upgrade check failed from 11.5 to 12.1
Hello PostgreSQL experts,
I am trying to upgrade an instance of PostgreSQL in unix from 11.5 to 12.1.
I got the following error on upgrade verification step.
Is this not allowed?
UNIX:> pg_upgrade -d /hostname/pg/dpoc/data -D /hostname/pg/dpoc/data -b /hostname/pg/PostgreSQL-11.5/bin -B /hostname/pg/PostgreSQL-12.1/bin -p 5432 -P 9432 -c –v
Performing Consistency Checks
-----------------------------
Checking cluster versions
New cluster data and binary directories are from different major versions.
Failure, exiting
IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.
"Lu, Dan" <Dan.Lu@sig.com> writes: > I am trying to upgrade an instance of PostgreSQL in unix from 11.5 to 12.1. > UNIX:> pg_upgrade -d /hostname/pg/dpoc/data -D /hostname/pg/dpoc/data -b /hostname/pg/PostgreSQL-11.5/bin -B /hostname/pg/PostgreSQL-12.1/bin-p 5432 -P 9432 -c -v No, you can't use the same directory to hold old and new versions at the same time. After you're done with the upgrade, you could move the new data directory to be where the old one had been. regards, tom lane
Thanks for catching that. Typo on my end. Now I am getting this. Performing Consistency Checks on Old Live Server ------------------------------------------------ Checking cluster versions ok old and new pg_controldata WAL segment sizes are invalid or do not match Failure, exiting I found the setting in the current version of the instance via "show all" as "wal_segment_size | 16MB". I guess my new instance should be "16MB" as well when running this "initdb --wal-segsize=16 -D /hostname/pg/NewInstance/data"? -----Original Message----- From: Tom Lane <tgl@sss.pgh.pa.us> Sent: Friday, December 18, 2020 4:55 PM To: Lu, Dan <Dan.Lu@sig.com> Cc: pgsql-general@postgresql.org Subject: Re: Upgrade check failed from 11.5 to 12.1 "Lu, Dan" <Dan.Lu@sig.com> writes: > I am trying to upgrade an instance of PostgreSQL in unix from 11.5 to 12.1. > UNIX:> pg_upgrade -d /hostname/pg/dpoc/data -D /hostname/pg/dpoc/data > -b /hostname/pg/PostgreSQL-11.5/bin -B > /hostname/pg/PostgreSQL-12.1/bin -p 5432 -P 9432 -c -v No, you can't use the same directory to hold old and new versions at the same time. After you're done with the upgrade,you could move the new data directory to be where the old one had been. regards, tom lane ________________________________ IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient,please notify the sender immediately by reply and immediately delete this message and all its attachments. Anyreview, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient isstrictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitationor recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employernor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the informationcontained herein or that this message or any of its attachments is free of viruses.
On 12/18/20 2:56 PM, Lu, Dan wrote: > Thanks for catching that. Typo on my end. > > Now I am getting this. > > Performing Consistency Checks on Old Live Server > ------------------------------------------------ > Checking cluster versions ok > > old and new pg_controldata WAL segment sizes are invalid or do not match > Failure, exiting > > I found the setting in the current version of the instance via "show all" as "wal_segment_size |16MB". I guess my new instance should be "16MB" as well when running this "initdb --wal-segsize=16 -D /hostname/pg/NewInstance/data"? > Well the default is 16MB so you should not have to set it. What does: pg_controldata -D <11.5 data dir> pg_controldata -D <12.1 data dir> show for the setting Bytes per WAL segment: ? -- Adrian Klaver adrian.klaver@aklaver.com
Thanks Adrian.
This is what I am seeing.
postgresdbad:dpoc:pgdbadevbal800:> pg_controldata -D /hostname/pg/dev12upg/data | grep -i "Bytes per WAL segment"
Bytes per WAL segment: 131072
postgresdbad:dpoc:pgdbadevbal800:> pg_controldata -D /hostname/pg/dpoc/data | grep -i "Bytes per WAL segment"
Bytes per WAL segment: 16777216
-----Original Message-----
From: Adrian Klaver <adrian.klaver@aklaver.com>
Sent: Saturday, December 19, 2020 10:28 AM
To: Lu, Dan <Dan.Lu@sig.com>; Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-general@postgresql.org
Subject: Re: Upgrade check failed from 11.5 to 12.1
On 12/18/20 2:56 PM, Lu, Dan wrote:
> Thanks for catching that. Typo on my end.
>
> Now I am getting this.
>
> Performing Consistency Checks on Old Live Server
> ------------------------------------------------
> Checking cluster versions ok
>
> old and new pg_controldata WAL segment sizes are invalid or do not
> match Failure, exiting
>
> I found the setting in the current version of the instance via "show all" as "wal_segment_size | 16MB". I guess my new instance should be "16MB" as well when running this "initdb --wal-segsize=16 -D /hostname/pg/NewInstance/data"?
>
Well the default is 16MB so you should not have to set it.
What does:
pg_controldata -D <11.5 data dir>
pg_controldata -D <12.1 data dir>
show for the setting Bytes per WAL segment: ?
--
Adrian Klaver
IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.
On 12/19/20 8:13 AM, Lu, Dan wrote: Please do not top post. Convention on this list is bottom/inline posting. > Thanks Adrian. > > This is what I am seeing. > > postgresdbad:dpoc:pgdbadevbal800:> pg_controldata -D > /hostname/pg/dev12upg/data | grep -i "Bytes per WAL segment" > > Bytes per WAL segment: 131072 Well that would be the problem. Did someone manually change --wal-segsize during initdb or pg_ctl init? In any case that is not going to work. I'm assuming the 12 instance is not in use at this time. If so I would do the initdb again after clearing the data directory. Don't use the --wal-segsize, it will default to 16MB. Then check with pg_controldata to make sure the correct size is set. > > postgresdbad:dpoc:pgdbadevbal800:> pg_controldata -D > /hostname/pg/dpoc/data | grep -i "Bytes per WAL segment" > > Bytes per WAL segment: 16777216 > > -----Original Message----- > From: Adrian Klaver <adrian.klaver@aklaver.com> > Sent: Saturday, December 19, 2020 10:28 AM > To: Lu, Dan <Dan.Lu@sig.com>; Tom Lane <tgl@sss.pgh.pa.us> > Cc: pgsql-general@postgresql.org > Subject: Re: Upgrade check failed from 11.5 to 12.1 > > On 12/18/20 2:56 PM, Lu, Dan wrote: > > > Thanks for catching that. Typo on my end. > > > > > > Now I am getting this. > > > > > > Performing Consistency Checks on Old Live Server > > > ------------------------------------------------ > > > Checking cluster versions ok > > > > > > old and new pg_controldata WAL segment sizes are invalid or do not > > > match Failure, exiting > > > > > > I found the setting in the current version of the instance via "show > all" as "wal_segment_size | 16MB". I guess my > new instance should be "16MB" as well when running this "initdb > --wal-segsize=16 -D /hostname/pg/NewInstance/data"? > > > > > Well the default is 16MB so you should not have to set it. > > What does: > > pg_controldata -D <11.5 data dir> > > pg_controldata -D <12.1 data dir> > > show for the setting Bytes per WAL segment: ? > > -- > > Adrian Klaver > > adrian.klaver@aklaver.com <mailto:adrian.klaver@aklaver.com> > > > ------------------------------------------------------------------------ > > IMPORTANT: The information contained in this email and/or its > attachments is confidential. If you are not the intended recipient, > please notify the sender immediately by reply and immediately delete > this message and all its attachments. Any review, use, reproduction, > disclosure or dissemination of this message or any attachment by an > unintended recipient is strictly prohibited. Neither this message nor > any attachment is intended as or should be construed as an offer, > solicitation or recommendation to buy or sell any security or other > financial instrument. Neither the sender, his or her employer nor any of > their respective affiliates makes any warranties as to the completeness > or accuracy of any of the information contained herein or that this > message or any of its attachments is free of viruses. -- Adrian Klaver adrian.klaver@aklaver.com