Postgres14.1 bug with pg_restore and repmgr

Started by Stanisław Kodzisover 4 years ago6 messagesbugs
Jump to latest
#1Stanisław Kodzis
stanislawk@ntropy.pl

Hi,

There was 14.1 couple days ago and it affected my upgrade from 9.6 to 14.
On 14.0 there was smooth upgrade - now after apt upgrade to 14.1 I have the
error(with pg_upgrade cmd on ubuntu 20.4):

pg_restore: error: could not execute query: ERROR: could not find
function "get_local_node_id" in file
"/usr/lib/postgresql/14/lib/repmgr.so"

Command was: CREATE FUNCTION "repmgr"."get_local_node_id"() RETURNS integer

LANGUAGE "c" STRICT

AS '$libdir/repmgr', 'get_local_node_id';

-- For binary upgrade, handle extension membership the hard way

ALTER EXTENSION "repmgr" ADD FUNCTION "repmgr"."get_local_node_id"();

I dunno how to implement this (on 9.6 is already registered)
ALTER EXTENSION "repmgr"
If I register it on 14.1 pg_upgrade won't allow me to continue upgrade.

Did the bug appear because of not upgraded package :

postgresql-14-repmgr-dbgsym is already the newest version
(5.3.0-1.pgdg20.04+1) \

shouldn't it be 5.3.1-1 ?

Looking forward to reading from you.

Kind regards,

Stanisław Kodzis

#2Michael Paquier
michael@paquier.xyz
In reply to: Stanisław Kodzis (#1)
Re: Postgres14.1 bug with pg_restore and repmgr

On Tue, Nov 16, 2021 at 09:34:33AM +0100, Stanisław Kodzis wrote:

There was 14.1 couple days ago and it affected my upgrade from 9.6 to 14.
On 14.0 there was smooth upgrade - now after apt upgrade to 14.1 I have the
error(with pg_upgrade cmd on ubuntu 20.4):

There has been no changes related to extensions between 14.0 and 14.1
AFAIK, so that looks like an issue with the extension shipped in
repmgr and its packaging.

I dunno how to implement this (on 9.6 is already registered)
ALTER EXTENSION "repmgr"
If I register it on 14.1 pg_upgrade won't allow me to continue upgrade.

If you want to speed up things, one thing you could do is perhaps drop
the extension before the upgrade and re-create it on the new cluster
once you are done with pg_upgrade? It is not uncommon to have
post-upgrade reconfigurations depending on what you are doing. This
one is a bit extreme, and it may not work if that's a packaging
issue..
--
Michael

#3Stanisław Kodzis
stanislawk@ntropy.pl
In reply to: Michael Paquier (#2)
Re: Postgres14.1 bug with pg_restore and repmgr

Hi Michael,

Thank you for your feedback and suggestion :)

What do you actually mean by "dropping repmgr extension"? Do you mean 9.6
or 14.1 DB? Do you mean DROP EXTENSION "repmgr" on 9.6?
I commented out in 14.1 postgres.conf:
#shared_preload_libraries = 'repmgr'
But got same error.

FYI, I've created issue with repmgr support for this -
https://github.com/EnterpriseDB/repmgr/issues/727

Looking forward to reading from you.

Stanisław

śr., 17 lis 2021 o 03:39 Michael Paquier <michael@paquier.xyz> napisał(a):

Show quoted text

On Tue, Nov 16, 2021 at 09:34:33AM +0100, Stanisław Kodzis wrote:

There was 14.1 couple days ago and it affected my upgrade from 9.6 to

14.

On 14.0 there was smooth upgrade - now after apt upgrade to 14.1 I have

the

error(with pg_upgrade cmd on ubuntu 20.4):

There has been no changes related to extensions between 14.0 and 14.1
AFAIK, so that looks like an issue with the extension shipped in
repmgr and its packaging.

I dunno how to implement this (on 9.6 is already registered)
ALTER EXTENSION "repmgr"
If I register it on 14.1 pg_upgrade won't allow me to continue upgrade.

If you want to speed up things, one thing you could do is perhaps drop
the extension before the upgrade and re-create it on the new cluster
once you are done with pg_upgrade? It is not uncommon to have
post-upgrade reconfigurations depending on what you are doing. This
one is a bit extreme, and it may not work if that's a packaging
issue..
--
Michael

#4Michael Paquier
michael@paquier.xyz
In reply to: Stanisław Kodzis (#3)
Re: Postgres14.1 bug with pg_restore and repmgr

On Wed, Nov 17, 2021 at 08:19:52AM +0100, Stanisław Kodzis wrote:

What do you actually mean by "dropping repmgr extension"? Do you mean 9.6
or 14.1 DB? Do you mean DROP EXTENSION "repmgr" on 9.6?

My suggestion was to run "DROP EXTENSION repmgr;" on your cluster that
would be upgraded.
--
Michael

#5Stanisław Kodzis
stanislawk@ntropy.pl
In reply to: Michael Paquier (#4)
Re: Postgres14.1 bug with pg_restore and repmgr

Yes!

Running "DROP EXTENSION repmgr;" on 9.6 did the trick!

Thank you Michael! You saved my day... or even 3 to be correct ;)

Warm greetings from Poland,
Stanisław

śr., 17 lis 2021 o 08:33 Michael Paquier <michael@paquier.xyz> napisał(a):

Show quoted text

On Wed, Nov 17, 2021 at 08:19:52AM +0100, Stanisław Kodzis wrote:

What do you actually mean by "dropping repmgr extension"? Do you mean 9.6
or 14.1 DB? Do you mean DROP EXTENSION "repmgr" on 9.6?

My suggestion was to run "DROP EXTENSION repmgr;" on your cluster that
would be upgraded.
--
Michael

#6Stanisław Kodzis
stanislawk@ntropy.pl
In reply to: Stanisław Kodzis (#5)
Re: Postgres14.1 bug with pg_restore and repmgr

BTW, shouldn't the pg 14.1 packages be named with proper 14.1 suffix ? eg.
: postgresql-client-14.1/focal-pgdg,now 14.1-1.pgdg20.04+1 amd64 [installed]
Currently we still have "postgresql-client-14/focal-pgdg,now
14.1-1.pgdg20.04+1 amd64 [installed]" which is confusing.

Just suggestion. Thank you again.

Stan

śr., 17 lis 2021 o 09:13 Stanisław Kodzis <stanislawk@ntropy.pl> napisał(a):

Show quoted text

Yes!

Running "DROP EXTENSION repmgr;" on 9.6 did the trick!

Thank you Michael! You saved my day... or even 3 to be correct ;)

Warm greetings from Poland,
Stanisław

śr., 17 lis 2021 o 08:33 Michael Paquier <michael@paquier.xyz> napisał(a):

On Wed, Nov 17, 2021 at 08:19:52AM +0100, Stanisław Kodzis wrote:

What do you actually mean by "dropping repmgr extension"? Do you mean

9.6

or 14.1 DB? Do you mean DROP EXTENSION "repmgr" on 9.6?

My suggestion was to run "DROP EXTENSION repmgr;" on your cluster that
would be upgraded.
--
Michael