Обсуждение: 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):
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):
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):
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