自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對DBA最重要的PostgreSQL 10新亮點

運維 系統(tǒng)運維 數(shù)據(jù)庫 PostgreSQL
與往常一樣,升級或初始化一個新集群的用戶將獲得更好的性能,這些都開箱即用,但本文中我想講一些不能開箱即用,實際上你需要采取一些步驟才能從中獲益的內(nèi)容。下面重點展示的功能是從 DBA 的角度來匯編的,很快也有一篇文章從開發(fā)者的角度講述更改。

[[208272]]

前段時間新的重大版本的 PostgreSQL 10 發(fā)布了! 強烈建議閱讀公告、發(fā)布說明和“新功能”概述可以在這里、這里這里。像往常一樣,已經(jīng)有相當(dāng)多的博客覆蓋了所有新的東西,但我猜每個人都有自己認為重要的角度,所以與 9.6 版一樣我再次在這里列出我印象中最有趣/相關(guān)的功能。

與往常一樣,升級或初始化一個新集群的用戶將獲得更好的性能(例如,更好的并行索引掃描、合并 join 和不相關(guān)的子查詢,更快的聚合、遠程服務(wù)器上更加智能的 join 和聚合),這些都開箱即用,但本文中我想講一些不能開箱即用,實際上你需要采取一些步驟才能從中獲益的內(nèi)容。下面重點展示的功能是從 DBA 的角度來匯編的,很快也有一篇文章從開發(fā)者的角度講述更改。

升級注意事項

首先有些從現(xiàn)有設(shè)置升級的提示 - 有一些小的事情會導(dǎo)致從 9.6 或更舊的版本遷移時引起問題,所以在真正的升級之前,一定要在單獨的副本上測試升級,并遍歷發(fā)行說明中所有可能的問題。最值得注意的缺陷是:

  • 所有包含 “xlog” 的函數(shù)都被重命名為使用 “wal” 而不是 “xlog”。

后一個命名可能與正常的服務(wù)器日志混淆,因此這是一個“以防萬一”的更改。如果使用任何第三方備份/復(fù)制/HA 工具,請檢查它們是否為***版本。

  • 存放服務(wù)器日志(錯誤消息/警告等)的 pg_log 文件夾已重命名為 “log”。

確保驗證你的日志解析或 grep 腳本(如果有)可以工作。

  • 默認情況下,查詢將最多使用 2 個后臺進程。

如果在 CPU 數(shù)量較少的機器上在 postgresql.conf 設(shè)置中使用默認值 10,則可能會看到資源使用率峰值,因為默認情況下并行處理已啟用 - 這是一件好事,因為它應(yīng)該意味著更快的查詢。如果需要舊的行為,請將 max_parallel_workers_per_gather 設(shè)置為 0。

  • 默認情況下,本地主機的復(fù)制連接已啟用。

為了簡化測試等工作,本地主機和本地 Unix 套接字復(fù)制連接現(xiàn)在在 pg_hba.conf 中以“信任trust”模式啟用(無密碼)!因此,如果其他非 DBA 用戶也可以訪問真實的生產(chǎn)計算機,請確保更改配置。

從 DBA 的角度來看我的***

  • 邏輯復(fù)制

這個期待已久的功能在你只想要復(fù)制一張單獨的表、部分表或者所有表時只需要簡單的設(shè)置而性能損失最小,這也意味著之后主要版本可以零停機升級!歷史上(需要 Postgres 9.4+),這可以通過使用第三方擴展或緩慢的基于觸發(fā)器的解決方案來實現(xiàn)。對我而言這是 10 ***的功能。

  • 聲明分區(qū)

以前管理分區(qū)的方法通過繼承并創(chuàng)建觸發(fā)器來把插入操作重新路由到正確的表中,這一點很煩人,更不用說性能的影響了。目前支持的是 “range” 和 “list” 分區(qū)方案。如果有人在某些數(shù)據(jù)庫引擎中缺少 “哈希” 分區(qū),則可以使用帶表達式的 “list” 分區(qū)來實現(xiàn)相同的功能。

  • 可用的哈希索引

哈希索引現(xiàn)在是 WAL 記錄的,因此是崩潰安全的,并獲得了一些性能改進,對于簡單的搜索,它們比在更大的數(shù)據(jù)上的標(biāo)準 B 樹索引快。也支持更大的索引大小。

  • 跨列優(yōu)化器統(tǒng)計

這樣的統(tǒng)計數(shù)據(jù)需要在一組表的列上手動創(chuàng)建,以指出這些值實際上是以某種方式相互依賴的。這將能夠應(yīng)對計劃器認為返回的數(shù)據(jù)很少(概率的乘積通常會產(chǎn)生非常小的數(shù)字)從而導(dǎo)致在大量數(shù)據(jù)下性能不好的的慢查詢問題(例如選擇“嵌套循環(huán)” join)。

  • 副本上的并行快照

現(xiàn)在可以在 pg_dump 中使用多個進程(-jobs 標(biāo)志)來極大地加快備用服務(wù)器上的備份。

  • 更好地調(diào)整并行處理 worker 的行為

參考 max_parallel_workers 和 min_parallel_table_scan_size/min_parallel_index_scan_size 參數(shù)。我建議增加一點后兩者的默認值(8MB、512KB)。

  • 新的內(nèi)置監(jiān)控角色,便于工具使用

新的角色 pg_monitor、pg_read_all_settings、pg_read_all_stats 和 pg_stat_scan_tables 能更容易進行各種監(jiān)控任務(wù) - 以前必須使用超級用戶帳戶或一些 SECURITY DEFINER 包裝函數(shù)。

  • 用于更安全的副本生成的臨時 (每個會話) 復(fù)制槽
  • 用于檢查 B 樹索引的有效性的一個新的 Contrib 擴展

這兩個智能檢查發(fā)現(xiàn)結(jié)構(gòu)不一致和頁面級校驗未覆蓋的內(nèi)容。希望不久的將來能更加深入。

  • Psql 查詢工具現(xiàn)在支持基本分支(if/elif/else)

例如下面的將啟用具有特定版本分支(對 pg_stat* 視圖等有不同列名)的單個維護/監(jiān)視腳本,而不是許多版本特定的腳本。

  1. SELECT :VERSION_NAME = '10.0' AS is_v10 \gset  
  2. \if :is_v10 
  3. SELECT 'yippee' AS msg; 
  4. \else 
  5. SELECT 'time to upgrade!' AS msg; 
  6. \endif 

這次就這樣了!當(dāng)然有很多其他的東西沒有列出,所以對于專職 DBA,我一定會建議你更全面地看發(fā)布記錄。非常感謝那 300 多為這個版本做出貢獻的人! 

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2018-05-18 15:05:25

JavaJava 10新特性

2011-12-14 09:03:40

jquery

2012-08-13 09:55:22

架構(gòu)師

2013-12-04 10:31:22

iPhone 6大屏幕iPhonePrimeSense

2023-06-27 10:21:14

2020-12-19 10:53:08

微服務(wù)架構(gòu)設(shè)計模式軟件開發(fā)

2013-02-18 09:20:25

紅帽

2012-03-26 11:06:26

戴爾戴爾咨詢

2016-04-28 10:32:47

2011-03-07 17:18:34

數(shù)據(jù)庫開發(fā)

2019-04-29 08:00:00

SSHLinux

2011-05-18 13:20:44

數(shù)據(jù)庫開發(fā)

2021-01-04 16:00:24

微服務(wù)架構(gòu)數(shù)據(jù)

2013-12-12 13:20:53

基礎(chǔ)架構(gòu)即服務(wù)IaaS公有云

2009-03-23 14:29:27

安全網(wǎng)關(guān)角色管理山石網(wǎng)科

2010-02-01 10:53:07

IT市場交易

2009-07-18 14:44:39

綜合布線智能建筑

2009-08-08 08:49:57

Windows 7新特性

2009-04-20 17:52:20

2011-11-01 11:29:01

vforum2011vSphere 5云計算
點贊
收藏

51CTO技術(shù)棧公眾號