Thread: old and new pg_controldata WAL segment sizes are invalid or do not match

old and new pg_controldata WAL segment sizes are invalid or do not match

From
ram pratap maurya
Date:
Hello taem,

i am faction issue during upgrade postgres11 to 12. can you please suggest how to resolve this issue.

..........................................................................................................................
bash-4.1$ /usr/pgsql-12/bin/pg_upgrade --old-datadir /var/lib/pgsql/11/data/ --new-datadir /var/lib/pgsql/12/data/ --old-bindir /usr/pgsql-11/bin/ --new-bindir /usr/pgsql-12/bin/ --check
Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok

old and new pg_controldata WAL segment sizes are invalid or do not match
Failure, exiting


regards,
ram Pratap

Re: old and new pg_controldata WAL segment sizes are invalid or do not match

From
Jerry Sievers
Date:
ram pratap maurya <rampratap0000@gmail.com> writes:

> Hello taem,
>
> i am faction issue during upgrade postgres11 to 12. can you please
> suggest how to resolve this issue.
>
>
..........................................................................................................................
> bash-4.1$ /usr/pgsql-12/bin/pg_upgrade --old-datadir /var/lib/pgsql/
> 11/data/ --new-datadir /var/lib/pgsql/12/data/ --old-bindir /usr/
> pgsql-11/bin/ --new-bindir /usr/pgsql-12/bin/ --check
> Performing Consistency Checks
> -----------------------------
> Checking cluster versions                                   ok
>
> old and new pg_controldata WAL segment sizes are invalid or do not
> match
> Failure, exiting

Did you initdb the v12 cluster with a non-default WAL size?

Suggest you run pg_controldata for both old/new clusters and see what it
says, which the pg_upgrade error message is telling you to do.

HTH

>
>
> regards,
> ram Pratap
>
>

--
Jerry Sievers
Postgres DBA/Development Consulting
e: postgres.consulting@comcast.net



Re: old and new pg_controldata WAL segment sizes are invalid or donot match

From
Paul Förster
Date:
Hi ram,

> On 17. Jun, 2020, at 23:05, ram pratap maurya <rampratap0000@gmail.com> wrote:
> old and new pg_controldata WAL segment sizes are invalid or do not match
> Failure, exiting

delete the *new* PostgreSQL cluster (it should be empty anyway) and reinitialize it setting the wal-segsize to the same
asthe old cluster: 

$ initdb --wal-segsize=<size> ...

(see https://www.postgresql.org/docs/current/app-initdb.html)

Then perform the upgrade as you tried before.

After that, you can, if you want, reset the size to a new one using pg_resetwal. But make sure you first do a really
cleanbackup! 

$ pg_resetwal --wal-segsize=<new_size> ...
(see https://www.postgresql.org/docs/current/app-pgresetwal.html)

But know what you're doing! Try on a test database first to see how it works.

Cheers,
Paul