Subject: DB Switchover using repmgr--Error

From: jayakumar s <[email-masked]>
Date: Tue, 26 Nov 2024 12:06:52 +0530

Hi Team,

I have tried to configure DB switch over using repmgr. Post updated repmgr
file then tried to register in primary db but getting the below error.

Kindly check and let me know to fix the issue.

*Error:*

[postgres@post1 bin]$ ./repmgr -f /var/lib/pgsql/repmgr.conf primary
register
ERROR: following errors were found in the configuration file:
  syntax error in file "/var/lib/pgsql/repmgr.conf" line 3, near token
"data_directory"
  syntax error in file "/var/lib/pgsql/repmgr.conf" line 6, near token
"log_file"
[postgres@post1 bin]$

*Conf file:*

[postgres@post1 data]$ cat /var/lib/pgsql/repmgr.conf
node_id=1
node_name=primary
conninfo='host=192.168.29.193 user=repmgr dbname=repmgr connect_timeout=2'
data_directory='/application/pgsql/data' failover=automatic
promote_command='/usr/pgsql-16/bin/repmgr standby promote -f
/var/lib/pgsql/repmgr.conf --log-to-file'
follow_command='/usr/pgsql-16/bin/repmgr standby follow -f
/var/lib/pgsql/repmgr.conf --log-to-file --upstream-node-id=%n'
pg_bindir='/usr/pgsql-16/bin' log_file='/usr/pgsql-16/repmgr.log'
[postgres@post1 data]$

---

From: Paul Foerster <[email-masked]>
Date: Tue, 26 Nov 2024 11:10:30 +0100

Hi,

> [postgres@post1 bin]$ ./repmgr -f /var/lib/pgsql/repmgr.conf primary register
>   syntax error in file "/var/lib/pgsql/repmgr.conf" line 3, near token "data_directory"
>   syntax error in file "/var/lib/pgsql/repmgr.conf" line 6, near token "log_file"
> [postgres@post1 bin]$
> 
> Conf file:
> 
> conninfo='host=192.168.29.193 user=repmgr dbname=repmgr connect_timeout=2' data_directory='/application/pgsql/data' failover=automatic
> promote_command='/usr/pgsql-16/bin/repmgr standby promote -f /var/lib/pgsql/repmgr.conf --log-to-file'
> follow_command='/usr/pgsql-16/bin/repmgr standby follow -f /var/lib/pgsql/repmgr.conf --log-to-file --upstream-node-id=%n'

I'm not a repmgr guru but at first glance I would say that your config lacks two line breaks. It should probably look like this:

node_id=1
node_name=primary
conninfo='host=192.168.29.193 user=repmgr dbname=repmgr connect_timeout=2'
data_directory='/application/pgsql/data'
failover=automatic
promote_command='/usr/pgsql-16/bin/repmgr standby promote -f /var/lib/pgsql/repmgr.conf --log-to-file'
follow_command='/usr/pgsql-16/bin/repmgr standby follow -f /var/lib/pgsql/repmgr.conf --log-to-file --upstream-node-id=%n'
pg_bindir='/usr/pgsql-16/bin' log_file='/usr/pgsql-16/repmgr.log'

Cheers
Paul

---

From: jayakumar s <[email-masked]>
Date: Wed, 27 Nov 2024 11:47:16 +0530

Hi Paul,

Thanks for your help. I have fixed that issue. Now I am getting one more
issue. Can you help to fix the below error?

[postgres@post1 bin]$ /usr/pgsql-16/bin/repmgr -f
/var/lib/pgsql/repmgr.conf cluster show
WARNING: node "standby" not found in "pg_stat_replication"
 ID | Name    | Role    | Status    | Upstream  | Location | Priority |
Timeline | Connection string
----+---------+---------+-----------+-----------+----------+----------+----------+-----------------------------------------------------------------
 1  | primary | primary | * running |           | default  | 100      | 8
     | host=192.168.29.193 user=repmgr dbname=repmgr connect_timeout=2
 2  | standby | standby |   running | ! primary | default  | 100      | 8
     | host=192.168.29.9 user=repmgr dbname=repmgr connect_timeout=2

WARNING: following issues were detected
  - node "standby" (ID: 2) is not attached to its upstream node "primary"
(ID: 1)

[postgres@post1 bin]$

On Tue, Nov 26, 2024 at 3:41 PM Paul Foerster <[email-masked]>
wrote:

> > conninfo='host=192.168.29.193 user=repmgr dbname=repmgr
> connect_timeout=2' data_directory='/application/pgsql/data'
> failover=automatic
> I'm not a repmgr guru but at first glance I would say that your config
> lacks two line breaks. It should probably look like this:
>
> node_id=1
> node_name=primary