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. 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/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 okold and new pg_controldata WAL segment sizes are invalid or do not match
Failure, exitingI 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
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.
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.1On 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