admin管理员组

文章数量:1657058

检查主备状态:
主库:
-bash-4.2$ /usr/pgsql-14/bin/pg_controldata /data/postgresql/data
pg_control version number: 1300
Catalog version number: 202107181
Database system identifier: 7018076381987475033
Database cluster state: in production
pg_control last modified: Tue 16 Nov 2021 01:51:37 PM CST
Latest checkpoint location: 0/801A090
Latest checkpoint’s REDO location: 0/801A058
Latest checkpoint’s REDO WAL file: 000000010000000000000008
Latest checkpoint’s TimeLineID: 1
Latest checkpoint’s PrevTimeLineID: 1
Latest checkpoint’s full_page_writes: on
Latest checkpoint’s NextXID: 0:744
Latest checkpoint’s NextOID: 24580
Latest checkpoint’s NextMultiXactId: 1
Latest checkpoint’s NextMultiOffset: 0
Latest checkpoint’s oldestXID: 726
Latest checkpoint’s oldestXID’s DB: 1
Latest checkpoint’s oldestActiveXID: 744
Latest checkpoint’s oldestMultiXid: 1
Latest checkpoint’s oldestMulti’s DB: 1
Latest checkpoint’s oldestCommitTsXid:0
Latest checkpoint’s newestCommitTsXid:0
Time of latest checkpoint: Tue 16 Nov 2021 01:51:34 PM CST
Fake LSN counter for unlogged rels: 0/3E8
Minimum recovery ending location: 0/0
Min recovery ending loc’s timeline: 0
Backup start location: 0/0
Backup end location: 0/0
End-of-backup record required: no
wal_level setting: replica
wal_log_hints setting: off
max_connections setting: 100
max_worker_processes setting: 8
max_wal_senders setting: 2
max_prepared_xacts setting: 0
max_locks_per_xact setting: 64
track_commit_timestamp setting: off
Maximum data alignment: 8
Database block size: 8192
Blocks per segment of large relation: 131072
WAL block size: 8192
Bytes per WAL segment: 16777216
Maximum length of identifiers: 64
Maximum columns in an index: 32
Maximum size of a TOAST chunk: 1996
Size of a large-object chunk: 2048
Date/time type storage: 64-bit integers
Float8 argument passing: by value
Data page checksum version: 0
Mock authentication nonce: c3936766b547820e8e005638bc2c347fcd3e50193f959b8e09fa07f873295801

备库:
-bash-4.2$ /usr/pgsql-14/bin/pg_controldata /data/postgresql/data
pg_control version number: 1300
Catalog version number: 202107181
Database system identifier: 7018076381987475033
Database cluster state: in archive recovery
pg_control last modified: Tue 16 Nov 2021 01:51:45 PM CST
Latest checkpoint location: 0/801A090
Latest checkpoint’s REDO location: 0/801A058
Latest checkpoint’s REDO WAL file: 000000010000000000000008
Latest checkpoint’s TimeLineID: 1
Latest checkpoint’s PrevTimeLineID: 1
Latest checkpoint’s full_page_writes: on
Latest checkpoint’s NextXID: 0:744
Latest checkpoint’s NextOID: 24580
Latest checkpoint’s NextMultiXactId: 1
Latest checkpoint’s NextMultiOffset: 0
Latest checkpoint’s oldestXID: 726
Latest checkpoint’s oldestXID’s DB: 1
Latest checkpoint’s oldestActiveXID: 744
Latest checkpoint’s oldestMultiXid: 1
Latest checkpoint’s oldestMulti’s DB: 1
Latest checkpoint’s oldestCommitTsXid:0
Latest checkpoint’s newestCommitTsXid:0
Time of latest checkpoint: Tue 16 Nov 2021 01:51:34 PM CST
Fake LSN counter for unlogged rels: 0/3E8
Minimum recovery ending location: 0/801A140
Min recovery ending loc’s timeline: 1
Backup start location: 0/0
Backup end location: 0/0
End-of-backup record required: no
wal_level setting: replica
wal_log_hints setting: off
max_connections setting: 100
max_worker_processes setting: 8
max_wal_senders setting: 2
max_prepared_xacts setting: 0
max_locks_per_xact setting: 64
track_commit_timestamp setting: off
Maximum data alignment: 8
Database block size: 8192
Blocks per segment of large relation: 131072
WAL block size: 8192
Bytes per WAL segment: 16777216
Maximum length of identifiers: 64
Maximum columns in an index: 32
Maximum size of a TOAST chunk: 1996
Size of a large-object chunk: 2048
Date/time type storage: 64-bit integers
Float8 argument passing: by value
Data page checksum version: 0
Mock authentication nonce: c3936766b547820e8e005638bc2c347fcd3e50193f959b8e09fa07f873295801

可以关注这里的XID事务号和检查点,这里可以看出主从是一致的现在。

正式切换:
1.关闭主库
-bash-4.2$ /usr/pgsql-14/bin/pg_ctl -D /data/postgresql/data/ -l /data/postgresql/data/postgres.log stop
waiting for server to shut down… done
server stopped

2.提升从库为主库
-bash-4.2$ /usr/pgsql-14/bin/pg_ctl promote -D /data/postgresql/data/
waiting for server to promote… done
server promoted

查看是否已经转化为主库角色

-bash-4.2$ /usr/pgsql-14/bin/pg_controldata /data/postgresql/data
pg_control version number: 1300
Catalog version number: 202107181
Database system identifier: 7018076381987475033
Database cluster state: in production
pg_control last modified: Fri 19 Nov 2021 02:26:43 PM CST
Latest checkpoint location: 0/801A220
Latest checkpoint’s REDO location: 0/801A1E8
Latest checkpoint’s REDO WAL file: 000000020000000000000008
Latest checkpoint’s TimeLineID: 2
Latest checkpoint’s PrevTimeLineID: 2
Latest checkpoint’s full_page_writes: on
Latest checkpoint’s NextXID: 0:744
Latest checkpoint’s NextOID: 16393
Latest checkpoint’s NextMultiXactId: 1
Latest checkpoint’s NextMultiOffset: 0
Latest checkpoint’s oldestXID: 726
Latest checkpoint’s oldestXID’s DB: 1
Latest checkpoint’s oldestActiveXID: 744
Latest checkpoint’s oldestMultiXid: 1
Latest checkpoint’s oldestMulti’s DB: 1
Latest checkpoint’s oldestCommitTsXid:0
Latest checkpoint’s newestCommitTsXid:0
Time of latest checkpoint: Fri 19 Nov 2021 02:26:43 PM CST
Fake LSN counter for unlogged rels: 0/3E8
Minimum recovery ending location: 0/0
Min recovery ending loc’s timeline: 0
Backup start location: 0/0
Backup end location: 0/0
End-of-backup record required: no
wal_level setting: replica
wal_log_hints setting: off
max_connections setting: 100
max_worker_processes setting: 8
max_wal_senders setting: 2
max_prepared_xacts setting: 0
max_locks_per_xact setting: 64
track_commit_timestamp setting: off
Maximum data alignment: 8
Database block size: 8192
Blocks per segment of large relation: 131072
WAL block size: 8192
Bytes per WAL segment: 16777216
Maximum length of identifiers: 64
Maximum columns in an index: 32
Maximum size of a TOAST chunk: 1996
Size of a large-object chunk: 2048
Date/time type storage: 64-bit integers
Float8 argument passing: by value
Data page checksum version: 0
Mock authentication nonce: c3936766b547820e8e005638bc2c347fcd3e50193f959b8e09fa07f873295801

3.修改主库参数,创建standby signal文件反向同步

在postgresql.conf加入以下两行
recovery_target_timeline = ‘latest’
primary_conninfo = ‘host=192.168.9.100 port=5432 user=u_standby password=standby123’

-bash-4.2$ touch standby.signal
-bash-4.2$ /usr/pgsql-14/bin/pg_ctl -D /data/postgresql/data/ -l /data/postgresql/data/postgres.log start
waiting for server to start… done
server started

查看状态是否为备库恢复状态

-bash-4.2$ /usr/pgsql-14/bin/pg_controldata /data/postgresql/data
pg_control version number: 1300
Catalog version number: 202107181
Database system identifier: 7018076381987475033
Database cluster state: in archive recovery
pg_control last modified: Fri 19 Nov 2021 02:33:10 PM CST
Latest checkpoint location: 0/801A140
Latest checkpoint’s REDO location: 0/801A140
Latest checkpoint’s REDO WAL file: 000000010000000000000008
Latest checkpoint’s TimeLineID: 1
Latest checkpoint’s PrevTimeLineID: 1
Latest checkpoint’s full_page_writes: on
Latest checkpoint’s NextXID: 0:744
Latest checkpoint’s NextOID: 16393
Latest checkpoint’s NextMultiXactId: 1
Latest checkpoint’s NextMultiOffset: 0
Latest checkpoint’s oldestXID: 726
Latest checkpoint’s oldestXID’s DB: 1
Latest checkpoint’s oldestActiveXID: 0
Latest checkpoint’s oldestMultiXid: 1
Latest checkpoint’s oldestMulti’s DB: 1
Latest checkpoint’s oldestCommitTsXid:0
Latest checkpoint’s newestCommitTsXid:0
Time of latest checkpoint: Fri 19 Nov 2021 02:25:16 PM CST
Fake LSN counter for unlogged rels: 0/3E8
Minimum recovery ending location: 0/801A140
Min recovery ending loc’s timeline: 1
Backup start location: 0/0
Backup end location: 0/0
End-of-backup record required: no
wal_level setting: replica
wal_log_hints setting: off
max_connections setting: 100
max_worker_processes setting: 8
max_wal_senders setting: 2
max_prepared_xacts setting: 0
max_locks_per_xact setting: 64
track_commit_timestamp setting: off
Maximum data alignment: 8
Database block size: 8192
Blocks per segment of large relation: 131072
WAL block size: 8192
Bytes per WAL segment: 16777216
Maximum length of identifiers: 64
Maximum columns in an index: 32
Maximum size of a TOAST chunk: 1996
Size of a large-object chunk: 2048
Date/time type storage: 64-bit integers
Float8 argument passing: by value
Data page checksum version: 0
Mock authentication nonce: c3936766b547820e8e005638bc2c347fcd3e50193f959b8e09fa07f873295801

4.主库插入数据,验证可用性和反向同步数据

可以看到新建的switch2021119数据库已经成功同步过来了

本文标签: PgSQLPromote