PostgreSQL配置參數文件如何設置?PGTune工具幫你一鍵生成
PostgreSQL作為目前主流數據庫之一,目前在企業中得到廣泛應用, 但如果您不熟悉 PostgreSQL,您面臨的最常見挑戰是如何調整您的數據庫環境。 當安裝PostgreSQL,它會自動生成一個基本的文件postgresql.conf。根據您使用的操作系統,此配置文件通常保存在數據目錄中。例如,在 Ubuntu 中,PostgreSQL 將配置(pg_hba.conf、postgresql.conf、pg_ident.conf)放在 /etc/postgresql 目錄中。在調整 PostgreSQL 數據庫之前,首先必須找到 postgresql.conf 文件。
但是要使用的正確設置是什么?最初設置的值是什么?今天介紹一個postgresql配置文件自動器:PGTune。它將幫助您輕松解決這個特定問題。
什么是 PGTune?
PGTune 是一個配置向導,最初由來自2ndQuadrant的Greg Smith創建。它基于一個 Python 腳本,不幸的是它不再受支持(它不支持較新版本]PostgreSQL。)。目前它已轉換為網頁配置PGTune(基于原始PGTune),現在是一個配置向導,可用于 PG 數據庫配置設置。PGTune用于根據給定硬件配置的最大性能計算PostgreSQL的配置參數。不過它也不是靈丹妙藥,因為postgresql配置參數不僅取決于硬件配置,還取決于數據庫的大小、客戶端數量和查詢的復雜性。
如何使用 PGTune
PGTune的使用也很方便,只需要瀏覽器輸入PGTune的地址即可訪問。下面給出一個簡單的例子如下:

您需要做的就是在下面指定以下字段:
- DB 版本- 您的 PostgreSQL 版本。它支持 PostgreSQL 9.5、9.6、10、11 、12、13和14 版本。
- 操作系統類型 -操作系統的類型(Linux、OS X、Windows)
- DB Type - 數據庫類型,主要是您的數據庫將處理的事務處理類型(Web 應用程序、OLTP、數據倉庫、桌面應用程序、混合類型的應用程序)
- Total Memory (RAM) - 您的 PG 實例將處理的總內存。需要在 GiB 中指定它。
- CPU 數量 - PostgreSQL 可以使用的 CPU 數量 CPU = 每核線程數 * 每插槽內核數 * 插槽數
- 連接數- 最大 PostgreSQL 客戶端連接數
- 數據存儲 - 您可以從基于 SSD、HDD 或 SAN 的存儲中選擇的數據存儲設備類型。
然后點擊生成按鈕。或者,您也可以運行生成 postgresql.auto.conf 的 ALTER SYSTEM 語句,但需要postgresql實例重啟才生效。
示例展示
配置需求:
- DB version:14
- OS Type:Linux
- DB Type:Online transaction processing system
- Total Memory (RAM):32GB
- Number of CPUs:8
- Number of Connections:1000
- Data Storage:SSD storage
配置文件展示:
- # DB Version: 14
- # OS Type: linux
- # DB Type: oltp
- # Total Memory (RAM): 32 GB
- # CPUs num: 8
- # Connections num: 1000
- # Data Storage: ssd
- max_connections = 1000
- shared_buffers = 8GB
- effective_cache_size = 24GB
- maintenance_work_mem = 2GB
- checkpoint_completion_target = 0.9
- wal_buffers = 16MB
- default_statistics_target = 100
- random_page_cost = 1.1
- effective_io_concurrency = 200
- work_mem = 2097kB
- min_wal_size = 2GB
- max_wal_size = 8GB
- max_worker_processes = 8
- max_parallel_workers_per_gather = 4
- max_parallel_workers = 8
- max_parallel_maintenance_workers = 4
結論
PGTune是一個不錯的postgresql配置文件在線生成工具,是DBA和開發人員配置postgresql的一個利器。當你還在為不知道參數如何設置而發愁時,趕緊試試這個工具吧!