久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

PostgreSQL的pg

155次閱讀
沒有評論

共計 3705 個字符,預計需要花費 10 分鐘才能閱讀完成。

這篇文章主要講解了“PostgreSQL 的 pg_promote 有什么作用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“PostgreSQL 的 pg_promote 有什么作用”吧!

在 PG 12 以前的版本, 備庫提升為主庫需在備庫主機上執行命令或者通過生成觸發文件進行觸發, 在 PG 12 中, 可通過客戶端連接到數據庫后執行 pg_promote 函數實現.

下面以一個簡單的例子進行說明.

搭建流復制環境
參照
PostgreSQL DBA(31) – Backup Recovery#4(搭建流復制)
, 注意在 PG 12,recovery.conf 文件已廢棄, 相關的配置信息已合并至 postgresql.conf 文件中.
下面是搭建完畢后, 在主庫創建數據表 t1 后, 備庫的情況.
備庫

[pg12@localhost pg12db1]$ pg_ctl start
waiting for server to start....2019-06-20 17:04:04.361 CST [23158] LOG: starting PostgreSQL 12beta1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
2019-06-20 17:04:04.362 CST [23158] LOG: listening on IPv4 address  0.0.0.0 , port 5432
2019-06-20 17:04:04.362 CST [23158] LOG: listening on IPv6 address  :: , port 5432
2019-06-20 17:04:04.365 CST [23158] LOG: listening on Unix socket  /tmp/.s.PGSQL.5432 
2019-06-20 17:04:04.422 CST [23158] LOG: redirecting log output to logging collector process
2019-06-20 17:04:04.422 CST [23158] HINT: Future log output will appear in directory  pg_log .
 done
server started
[pg12@localhost pg12db1]$ psql -d testdb
psql (12beta1)
Type  help  for help.
testdb=# select count(*) from t1;
psql: ERROR: relation  t1  does not exist
LINE 1: select count(*) from t1;
 ^
testdb=# select count(*) from t1;
 count 
-------
 0
(1 row)

下面通過遠程客戶端連接到備庫, 執行函數 pg_promote 提升備庫為主庫.

[pg12@localhost pg12db1]$ psql -h 192.168.26.27 -U pg12 -d testdb
psql (12beta1)
Type  help  for help.
testdb=# -- Wait for at most 30 seconds.
testdb=# SELECT pg_promote(true, 30);
 pg_promote 
------------
 t
(1 row)

日志輸出

,,,,, SELECT pg_promote(true, 30); ,,, psql 
2019-06-20 17:14:22.584 CST,,,23160,,5d0b4c04.5a78,5,,2019-06-20 17:04:04 CST,1/0,0,LOG,00000, received promote request ,,,,,,,,, 
2019-06-20 17:14:22.584 CST,,,23167,,5d0b4c04.5a7f,2,,2019-06-20 17:04:04 CST,,0,FATAL,57P01, terminating walreceiver process due to administrator command ,,,,,,,,, 
2019-06-20 17:14:22.625 CST,,,23160,,5d0b4c04.5a78,6,,2019-06-20 17:04:04 CST,1/0,0,LOG,00000, invalid record length at 0/5016D48: wanted 24, got 0 ,,,,,,,,, 
2019-06-20 17:14:22.625 CST,,,23160,,5d0b4c04.5a78,7,,2019-06-20 17:04:04 CST,1/0,0,LOG,00000, redo done at 0/5016D10 ,,,,,,,,, 
2019-06-20 17:14:22.625 CST,,,23160,,5d0b4c04.5a78,8,,2019-06-20 17:04:04 CST,1/0,0,LOG,00000, last completed transaction was at log time 2019-06-20 17:04:49.180746+08 ,,,,,,,,, 
2019-06-20 17:14:22.649 CST,,,23160,,5d0b4c04.5a78,9,,2019-06-20 17:04:04 CST,1/0,0,LOG,00000, selected new timeline ID: 2 ,,,,,,,,, 
2019-06-20 17:14:22.738 CST,,,23160,,5d0b4c04.5a78,10,,2019-06-20 17:04:04 CST,1/0,0,LOG,00000, archive recovery complete ,,,,,,,,, 
2019-06-20 17:14:22.755 CST,,,23158,,5d0b4c04.5a76,3,,2019-06-20 17:04:04 CST,,0,LOG,00000, database system is ready to accept connections ,,,,,,,,, 
2019-06-20 17:14:22.764 CST,,,23277,,5d0b4e6e.5aed,1,,2019-06-20 17:14:22 CST,,0,FATAL,XX000, archive command failed with exit code 127 , The failed archive command was: /home/pg12/archive.sh ,,,,,,,, 
2019-06-20 17:14:22.766 CST,,,23158,,5d0b4c04.5a76,4,,2019-06-20 17:04:04 CST,,0,LOG,00000, archiver process (PID 23277) exited with exit code 1 ,,,,,,,,, 
2019-06-20 17:15:22.779 CST,,,23329,,5d0b4eaa.5b21,1,,2019-06-20 17:15:22 CST,,0,FATAL,XX000, archive command failed with exit code 127 , The failed archive command was: /home/pg12/archive.sh ,,,,,,,, 
2019-06-20 17:15:22.781 CST,,,23158,,5d0b4c04.5a76,5,,2019-06-20 17:04:04 CST,,0,LOG,00000, archiver process (PID 23329) exited with exit code 1 ,,,,,,,,, 
[pg12@localhost pg_log]$

pg_control 中的狀態

[pg12@localhost pg12db1]$ pg_controldata|grep state
Database cluster state: in production

從日志 狀態可看出, 備庫已提升為主庫(出錯提示是沒有找到歸檔命令).

感謝各位的閱讀,以上就是“PostgreSQL 的 pg_promote 有什么作用”的內容了,經過本文的學習后,相信大家對 PostgreSQL 的 pg_promote 有什么作用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-24發表,共計3705字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 广灵县| 崇阳县| 东丰县| 彭阳县| 乳源| 潞西市| 樟树市| 湖口县| 普格县| 县级市| 桃源县| 西乌| 二连浩特市| 信阳市| 福泉市| 鄂托克旗| 汨罗市| 涞源县| 松阳县| 枝江市| 洛隆县| 库尔勒市| 阜南县| 碌曲县| 威信县| 张家川| 岚皋县| 大港区| 蒙阴县| 双桥区| 西盟| 曲阳县| 花莲县| 历史| 武邑县| 汉阴县| 吉安市| 塔城市| 汾西县| 建德市| 康马县|