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

您需要做的就是在下面指定以下字段:
- DB 版本- 您的 PostgreSQL 版本。它支持 PostgreSQL 9.5、9.6、10、11 、12、13和14 版本。
- 操作系統(tǒng)類型 -操作系統(tǒng)的類型(Linux、OS X、Windows)
- DB Type - 數(shù)據(jù)庫類型,主要是您的數(shù)據(jù)庫將處理的事務(wù)處理類型(Web 應(yīng)用程序、OLTP、數(shù)據(jù)倉庫、桌面應(yīng)用程序、混合類型的應(yīng)用程序)
- Total Memory (RAM) - 您的 PG 實例將處理的總內(nèi)存。需要在 GiB 中指定它。
- CPU 數(shù)量 - PostgreSQL 可以使用的 CPU 數(shù)量 CPU = 每核線程數(shù) * 每插槽內(nèi)核數(shù) * 插槽數(shù)
- 連接數(shù)- 最大 PostgreSQL 客戶端連接數(shù)
- 數(shù)據(jù)存儲 - 您可以從基于 SSD、HDD 或 SAN 的存儲中選擇的數(shù)據(jù)存儲設(shè)備類型。
然后點擊生成按鈕。或者,您也可以運(yùn)行生成 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
結(jié)論
PGTune是一個不錯的postgresql配置文件在線生成工具,是DBA和開發(fā)人員配置postgresql的一個利器。當(dāng)你還在為不知道參數(shù)如何設(shè)置而發(fā)愁時,趕緊試試這個工具吧!