#與往常一樣,升級或初始化一個新叢集的用戶將獲得更好的效能(例如,更好的平行索引掃描、合併join 和不相關的子查詢,更快的聚合、遠端伺服器上更加智能的join 和聚合),這些都開箱即用,但本文中我想講一些不能開箱即用,實際上你需要採取一些步驟才能從中獲益的內容。以下重點展示的功能是從 DBA 的角度來彙編的,很快也有一篇文章從開發者的角度講述更改。
升級注意事項首先有些從現有設定升級的提示- 有一些小的事情會導致從9.6 或更舊的版本遷移時引起問題,所以在真正的升級之前,一定要在單獨的副本上測試升級,並遍歷發行說明中所有可能的問題。最值得注意的缺陷是:
所有包含 “xlog” 的函數都被重新命名為使用 “wal” 而不是 “xlog”。
後一個命名可能與正常的伺服器日誌混淆,因此這是一個「以防萬一」的變更。如果使用任何第三方備份/複製/HA 工具,請檢查它們是否為最新版本。
存放伺服器日誌(錯誤訊息/警告等)的 pg_log 資料夾已重新命名為 “log”。
確保驗證你的日誌解析或 grep 腳本(如果有)可以工作。
預設情況下,查詢將最多使用 2 個背景進程。
如果在CPU 數量較少的機器上在postgresql.conf 設定中使用預設值10,則可能會看到資源使用率峰值,因為預設並行處理已啟用- 這是一件好事,因為它應該意味著更快的查詢。如果需要舊的行為,請將 max_parallel_workers_per_gather 設為 0。
預設情況下,本機的複製連線已啟用。
為了簡化測試等工作,本機主機和本機 Unix 套接字複製連線現在在 pg_hba.conf 中以「信任trust」模式啟用(無密碼)!因此,如果其他非 DBA 使用者也可以存取真實的生產計算機,請確保更改配置。
從 DBA 的角度來看我的最愛邏輯複製
這個期待已久的功能在你只想要複製一張單獨的表、部分錶或所有表時只需要簡單的設定而性能損失最小,這也意味著之後主要版本可以零停機升級!歷史上(需要 Postgres 9.4 ),這可以透過使用第三方擴展或緩慢的基於觸發器的解決方案來實現。對我而言這是 10 最好的功能。
宣告分區
以前管理分割區的方法透過繼承並創建觸發器來把插入操作重新路由到正確的表中,這一點很煩人,更不用說效能的影響了。目前支援的是 “range” 和 “list” 分區方案。如果有人在某些資料庫引擎中缺少 “哈希” 分區,則可以使用帶有表達式的 “list” 分區來實現相同的功能。
可用的哈希索引
哈希索引現在是 WAL 記錄的,因此是崩潰安全的,並獲得了一些性能改進,對於簡單的搜索,它們比在更大的數據上的標準 B 樹索引快。也支援更大的索引大小。
跨列優化器統計
這樣的統計數據需要在一組表的列上手動創建,以指出這些值實際上是以某種方式相互依賴的。這將能夠應對計劃器認為返回的數據很少(機率的乘積通常會產生非常小的數字)從而導致在大量數據下性能不好的的慢查詢問題(例如選擇“嵌套循環” join)。
副本上的平行快照
現在可以在 pg_dump 中使用多個進程(-jobs 標誌)來大幅加快備用伺服器上的備份。
更好地調整平行處理 worker 的行為
參考 max_parallel_workers 和 min_parallel_table_scan_size/min_parallel_index_scan_size 參數。我建議增加一點後兩者的預設值(8MB、512KB)。
新的內建監控角色,方便工具使用
新的角色 pg_monitor、pg_read_all_settings、pg_read_all_stats 和 pg_stat_scan_tables 能更容易進行各種監控任務 - 以前必須使用超級使用者帳戶或一些 SECURITY DEFINER 包裝函數。
用於更安全的副本產生的臨時 (每個會話) 複製槽
用於檢查 B 樹索引的有效性的一個新的 Contrib 擴展
這兩個智慧檢查發現結構不一致和頁面層級校驗未涵蓋的內容。希望不久的將來能更深入。
Psql 查詢工具現在支援基本分支(if/elif/else)
例如下面的將啟用具有特定版本分支(對 pg_stat* 視圖等有不同列名)的單一維護/監視腳本,而不是許多版本特定的腳本。
SELECT :VERSION_NAME = '10.0' AS is_v10 \gset \if :is_v10 SELECT 'yippee' AS msg; \else SELECT 'time to upgrade!' AS msg; \endif
這次就這樣了!當然有很多其他的東西沒有列出,所以對於專職 DBA,我一定會建議你更全面地看發布記錄。非常感謝那 300 多為這個版本做出貢獻的人!
以上是DBA發現了PostgreSQL的新問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

介紹 Linux是一個強大的操作系統,由於其靈活性和效率,開發人員,系統管理員和電源用戶都喜歡。但是,經常使用長而復雜的命令可能是乏味的

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。

簡介:通過基於Linux的道德黑客攻擊數字邊界 在我們越來越相互聯繫的世界中,網絡安全至關重要。 道德黑客入侵和滲透測試對於主動識別和減輕脆弱性至關重要

Linux基礎學習從零開始的方法包括:1.了解文件系統和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.學習文件操作,如創建和編輯文件,4.探索高級用法如管道和grep命令,5.掌握調試技巧和性能優化,6.通過實踐和探索不斷提陞技能。

Linux在服務器、嵌入式系統和桌面環境中的應用廣泛。 1)在服務器領域,Linux因其穩定性和安全性成為託管網站、數據庫和應用的理想選擇。 2)在嵌入式系統中,Linux因其高度定制性和高效性而受歡迎。 3)在桌面環境中,Linux提供了多種桌面環境,滿足不同用戶需求。

Linux的缺點包括用戶體驗、軟件兼容性、硬件支持和學習曲線。 1.用戶體驗不如Windows或macOS友好,依賴命令行界面。 2.軟件兼容性不如其他系統,缺乏許多商業軟件的原生版本。 3.硬件支持不如Windows全面,可能需要手動編譯驅動程序。 4.學習曲線較陡峭,掌握命令行操作需要時間和耐心。

Linuxisnothardtolearn,butthedifficultydependsonyourbackgroundandgoals.ForthosewithOSexperience,especiallycommand-linefamiliarity,Linuxisaneasytransition.Beginnersmayfaceasteeperlearningcurvebutcanmanagewithproperresources.Linux'sopen-sourcenature,bas

Linux的五個基本組件是:1.內核,管理硬件資源;2.系統庫,提供函數和服務;3.Shell,用戶與系統交互的接口;4.文件系統,存儲和組織數據;5.應用程序,利用系統資源實現功能。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Dreamweaver Mac版
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。