Upgrade check failed from 11.5 to 12.1

Started by Lu, Danover 5 years ago6 messagesgeneral
Jump to latest
#1Lu, Dan
Dan.Lu@sig.com

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.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Lu, Dan (#1)
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

#3Lu, Dan
Dan.Lu@sig.com
In reply to: Tom Lane (#2)
RE: Upgrade check failed from 11.5 to 12.1

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.

#4Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Lu, Dan (#3)
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

#5Lu, Dan
Dan.Lu@sig.com
In reply to: Adrian Klaver (#4)
RE: Upgrade check failed from 11.5 to 12.1

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.

#6Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Lu, Dan (#5)
Re: Upgrade check failed from 11.5 to 12.1

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