成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PostgreSQL數據庫單機擴展為流復制

數據庫 PostgreSQL
以下是PostgreSQL數據庫單機擴展為流復制,希望對小伙伴們有所幫助。

[[194921]]

1. 在standby服務器安裝postgres數據庫,不需要初始化.

安裝過程詳見:http://www.cnblogs.com/ilifeilong/p/6979288.html

2. 在primary服務器創建具有REPLICATION權限的復制用戶

  1. postgres=# CREATE ROLE repl WITH REPLICATION PASSWORD ‘repl‘ LOGIN; 

3. 允許復制用戶遠程連接到primary服務器

  1. $ grep "^host" pg_hba.conf 
  2. host    all             all             127.0.0.1/32            trust 
  3. host    replication             repl             0.0.0.0/0               md5  
  4. host    all             all             ::1/128                 trust 

4. 在primary服務器設置流復制相關的參數

  1. $ mkdir /usr/local/pgsql/arch  
  2. $ egrep "archive_mode|max_wal_senders|wal_keep_segments|archive_command|wal_level|hot_standby" postgresql.conf 
  3. al_level = hot_standby            # minimal, archive, hot_standby, or logical 
  4. archive_mode = on        # enables archiving; offonor always 
  5. archive_command = ‘test ! -f /usr/local/pgsql/arch/%f && cp %p /usr/local/pgsql/arch/%f‘         
  6. max_wal_senders = 5        # max number of walsender processes 
  7. wal_keep_segments = 30        # in logfile segments, 16MB each; 0 disables 
  8. hot_standby = on            # "on" allows queries during recovery 
  9. #hot_standby_feedback = off        # send info from standby to prevent 

5. 重新啟動primary服務器進程

  1. $ pg_ctl stop -m fast 
  2. $ pg_ctl start 

6. 對primary服務器做一個全備并傳輸到standby服務器

  • 在primary服務器通過pg_(start|stop)_backup函數進行備份
  1. postgres=# SELECT pg_start_backup(‘label‘, true); 
  2.  pg_start_backup  
  3. ----------------- 
  4.  7/E6000060 
  5. (1 row) 
  6. $ rsync -az --progress ${PGDATA} postgres@10.189.100.195:/usr/local/pgsql/ --exclude postmaster.pid 
  7. postgres=# SELECT pg_stop_backup(); 
  8. NOTICE:  pg_stop_backup complete, all required WAL segments have been archived 
  9.  pg_stop_backup  
  10. ---------------- 
  11.  7/E60005C8 
  12. (1 row) 

在standby服務器通過pg_basebackup命令進行備份,要求standby的PGDATA目錄為空

  1. $ pg_basebackup --host=10.189.102.118 --username=repl --port=5432 --label=backup --verbose --progress --pgdata=/usr/local/pgsql/data --checkpoint=fast --format=p --xlog-method=stream 
  2. Password:  
  3. transaction log start point: 7/EA000028 on timeline 1 
  4. pg_basebackup: starting background WAL receiver 
  5. 65933562/65933562 kB (100%), 1/1 tablespace                                          
  6. transaction log end point: 7/EA000830 
  7. pg_basebackup: waiting for background process to finish streaming ... 
  8. pg_basebackup: base backup completed 

7. 設置standby數據庫復制相關參數,使得standby失效轉移后可以作為主庫工作

  1. $ mkdir /usr/local/pgsql/arch 
  2. $ egrep "archive_mode|max_wal_senders|wal_keep_segments|archive_command|wal_level|hot_standby" postgresql.conf 
  3. wal_level = hot_standby                 # minimal, archive, hot_standby, or logical 
  4. archive_mode = on               # enables archiving; offonor always 
  5. archive_command = ‘test ! -f /usr/local/pgsql/arch/%f && cp %p /usr/local/pgsql/arch/%f‘ 
  6. max_wal_senders = 5             # max number of walsender processes 
  7. wal_keep_segments = 30          # in logfile segments, 16MB each; 0 disables 
  8. hot_standby = on                        # "on" allows queries during recovery 
  9. #hot_standby_feedback = off             # send info from standby to prevent 

8. 在standby文件創建恢復文件

  1. $ cat recovery.conf  
  2. restore_command = ‘cp /usr/local/pgsql/arch/%f "%p"‘ 
  3. standby_mode = ‘on‘ 
  4. primary_conninfo = ‘user=repl password=repl host=10.189.102.118 port=5432 sslmode=disable sslcompression=1‘ 
  5. archive_cleanup_command = ‘pg_archivecleanup -d /usr/local/pgsql/arch %r >> /usr/local/pgsql/arch/archive_cleanup.log‘ 
  6. trigger_file = ‘/usr/local/pgsql/data/trigger_active_standby‘ 

9. 啟動standby數據庫進程,自動啟動流復制

  1. $ pg_ctl start -w 
  2. waiting for server to start....LOG:  could not create IPv6 socket: Address family not supported by protocol 
  3. LOG:  redirecting log output to logging collector process 
  4. HINT:  Future log output will appear in directory "pg_log"
  5.  done 
  6. server started 

10. 檢查primary和standby數據庫的延遲

  • 通過函數和系統表查看
  1. edbstore=# select * from pg_stat_replication;           #在primary主庫查看 
  2. -[ RECORD 1 ]----+------------------------------ 
  3. pid              | 15013 
  4. usesysid         | 19206 
  5. usename          | repl 
  6. application_name | walreceiver 
  7. client_addr      | 10.189.100.195 
  8. client_hostname  |  
  9. client_port      | 56072 
  10. backend_start    | 2017-06-13 08:10:35.400508-07 
  11. backend_xmin     |  
  12. state            | streaming 
  13. sent_location    | 7/EC01A588 
  14. write_location   | 7/EC01A588 
  15. flush_location   | 7/EC01A588 
  16. replay_location  | 7/EC01A588 
  17. sync_priority    | 0 
  18. sync_state       | async 
  19.  
  20. edbstore=# SELECT pg_current_xlog_location();                      #在primary主庫查看 
  21.  pg_current_xlog_location  
  22. -------------------------- 
  23.  7/EC01A588 
  24. (1 row) 
  25.  
  26. postgres=# select pg_last_xlog_receive_location(),pg_last_xlog_replay_location(),pg_last_xact_replay_timestamp();     #在standby備庫查看 
  27.  pg_last_xlog_receive_location | pg_last_xlog_replay_location | pg_last_xact_replay_timestamp  
  28. -------------------------------+------------------------------+------------------------------- 
  29.  7/EC01A588                    | 7/EC01A588                   | 2017-06-13 08:25:20.281568-07 
  30. (1 row) 
  • 通過進程查看
  1. $ ps -ef | grep sender | grep -v grep #在primary庫查看  
  2. postgres 15013 24883 0 08:10 ? 00:00:00 postgres: wal sender process repl 10.189.100.195(56072) streaming 7/EC01A668  
  3. $ ps -ef | grep receiver | grep -v grep #在standby庫查看  
  4. postgres 12857 12843 0 08:10 ? 00:00:00 postgres: wal receiver process streaming 7/EC01A668 
責任編輯:武曉燕 來源: 碼迷
相關推薦

2017-06-16 21:36:14

2024-01-18 08:00:00

PostgreSQLPgvector

2019-11-20 09:08:46

PostgreSQL數據庫

2023-07-24 09:00:00

數據庫

2011-04-15 13:41:27

SqlServer數據復制

2022-01-10 07:59:14

PostgreSQl 主從流復制歸檔配置

2024-03-04 10:48:15

PostgreSQL數據庫

2011-03-08 08:49:55

MySQL優化單機

2021-07-07 21:07:16

PostgreSQL架構容災庫

2010-05-26 10:15:11

MySQL數據庫

2017-10-13 15:06:18

數據庫PostgreSQL特性

2022-10-12 13:33:25

PostgreSQL數據庫

2010-08-27 09:59:51

SQL Server

2024-11-19 13:11:19

2011-05-17 11:19:39

rcp數據庫

2011-05-17 13:43:23

Oracle數據庫

2010-03-02 15:16:23

Ubuntu Post

2011-03-25 13:08:19

PostgreSQL數

2025-04-02 08:30:00

IvorySQLOraclePostgreSQL

2019-02-15 14:59:09

華為云
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: caoporn国产精品免费公开 | 国产一区欧美 | 久久久91精品国产一区二区三区 | 中文字幕视频在线 | 精品久久电影 | 午夜av电影院 | 精品成人av | 成年人在线播放 | 午夜男人的天堂 | 噜噜噜噜狠狠狠7777视频 | 日本在线视频一区二区 | 国产精品一区二区在线播放 | 欧美一区在线看 | 欧美美女爱爱 | 国产乱码精品一区二区三区忘忧草 | 日韩一区不卡 | 精品免费国产一区二区三区四区介绍 | 久久久久综合 | 成年人黄色小视频 | 九七午夜剧场福利写真 | 亚洲一区二区av | 一区二区小视频 | 中文字幕一页二页 | 国产一区二区欧美 | 国产精品久久久久久 | 二区欧美 | 欧美视频一区二区三区 | 男人的天堂在线视频 | 国产精品久久久久久福利一牛影视 | 91精品91久久久 | 日韩一区二区久久 | 蜜臀网 | 久久久久久久久91 | 精品福利在线 | 国产黄色大片在线观看 | 日韩a| 成人一区在线观看 | 国产精品jizz在线观看老狼 | 精品一区二区三区四区在线 | 国产人成精品一区二区三 | 久久久久资源 |