On Tue, Dec 24, 2024 at 4:28 AM Matthias Leisi <matth...@leisi.net> wrote:
> I installed Postgres 16/17 from apt.postgresql.org (with the intent of > using version 17) on Debian 12/Bookworm. Both have the same version of > repmgr: > > postgres@dev-pgcl01:~$ /usr/lib/postgresql/17/bin/repmgr --version > repmgr 5.5.0 > postgres@dev-pgcl01:~$ /usr/lib/postgresql/16/bin/repmgr --version > repmgr 5.5.0 > > root@dev-pgcl01:~# apt-cache show postgresql-17-repmgr | grep "Filename" > Filename: > pool/main/r/repmgr/postgresql-17-repmgr_5.5.0-2.pgdg120+1_arm64.deb > > In postgresql.conf, I explicitly load the version 17 .so (just to be sure > it’s not loading something potentially different): > > shared_preload_libraries = '/usr/lib/postgresql/17/lib/repmgr.so' > > repmgr.conf is minimalistic: > > node_id=1 > node_name=node1 > conninfo='host=10.20.70.26 user=repmgr dbname=repmgr connect_timeout=2' > data_directory='/var/lib/postgresql/17/' > failover=automatic > use_replication_slots=true > promote_command='/usr/bin/repmgr standby promote -f > /etc/postgresql/17/main/repmgr.conf --log-to-file' > follow_command='/usr/bin/repmgr standby follow -f > /etc/postgresql/17/main/repmgr.conf --log-to-file --upstream-node-id=%n‘ > > (plus a few configs about the logs) > > I created the cluster with > > /usr/lib/postgresql/17/bin/repmgr -f /etc/postgresql/17/main/repmgr.conf > primary register > > And it shows what I would expect: > > postgres@dev-pgcl01:~$ /usr/lib/postgresql/17/bin/repmgr -f > /etc/postgresql/17/main/repmgr.conf cluster show > DEBUG: connecting to: "user=repmgr connect_timeout=2 dbname=repmgr > host=10.20.70.26 fallback_application_name=repmgr options=-csearch_path=" > DEBUG: connecting to: "user=repmgr connect_timeout=2 dbname=repmgr > host=10.20.70.26 fallback_application_name=repmgr options=-csearch_path=" > ID | Name | Role | Status | Upstream | Location | Priority | > Timeline | Connection string > > ----+-------+---------+-----------+----------+----------+----------+----------+---------------------------------------------------------------------------------------- > 1 | node1 | primary | * running | | default | 100 | 1 > | host=10.20.70.26 user=repmgr dbname=repmgr connect_timeout=2 > > > I attempt to start repmgrd with > > postgres@dev-pgcl01:~$ /usr/lib/postgresql/17/bin/repmgrd -v -f > /etc/postgresql/17/main/repmgr.conf --verbose > > Which gives the following log output: > > [2024-12-24 09:21:25] [NOTICE] repmgrd (repmgrd 5.5.0) starting up > [2024-12-24 09:21:25] [INFO] connecting to database "host=10.20.70.26 > user=repmgr dbname=repmgr connect_timeout=2" > [2024-12-24 09:21:25] [DEBUG] connecting to: "user=repmgr > connect_timeout=2 dbname=repmgr host=10.20.70.26 > fallback_application_name=repmgr options=-csearch_path=" > [2024-12-24 09:21:25] [DEBUG] set_config(): > SET synchronous_commit TO 'local' > [2024-12-24 09:21:25] [DEBUG] expected extension version: 50500; extension > version: 50400 > [2024-12-24 09:21:25] [ERROR] this "repmgr" version is newer than the > installed "repmgr" extension version > [2024-12-24 09:21:25] [DETAIL] "repmgr" version 5.5.0 providing extension > version 5.5.0 is installed but extension is version 5.4 > [2024-12-24 09:21:25] [HINT] update the installed extension version by > executing "ALTER EXTENSION repmgr UPDATE" in the repmgr database > > > SELECT * FROM pg_catalog.pg_extension WHERE extname = 'repmgr' > > shows version 5.4 > > The suggested ALTER EXTENSION from the log hint does not do anything I > could see. > > The same effect if I try the same using version 16. > > How to continue from here? What am I missing? > This [HINT] says that YOU are supposed to run the ALTER EXTENSION command: [quote] update the installed extension version by executing "ALTER EXTENSION repmgr UPDATE" [/quote] -- Death to <Redacted>, and butter sauce. Don't boil me, I'm still alive. <Redacted> lobster!