DB Switchover using repmgr--Error

Started by jayakumar sover 1 year ago3 messagesgeneral
Jump to latest
#1jayakumar s
kumardba27.postgresql@gmail.com

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]$

#2Paul Förster
paul.foerster@gmail.com
In reply to: jayakumar s (#1)
Re: DB Switchover using repmgr--Error

Hi,

[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]$

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

#3jayakumar s
kumardba27.postgresql@gmail.com
In reply to: Paul Förster (#2)
Re: DB Switchover using repmgr--Error

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 <paul.foerster@gmail.com>
wrote:

Show quoted text

Hi,

[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]$

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