Postgres14.1 bug with pg_restore and repmgr
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
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
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
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
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
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