0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

恒訊科技介紹:PostgreSQL服務(wù)器配置的參數(shù)指南

深圳市恒訊科技有限公司 ? 來(lái)源:深圳市恒訊科技有限公司 ? 作者:深圳市恒訊科技有 ? 2023-06-16 17:36 ? 次閱讀

PostgreSQ服務(wù)器配置參數(shù)在優(yōu)化和增強(qiáng)數(shù)據(jù)庫(kù)性能方面發(fā)揮著重要作用。PostgreSQL的主要可調(diào)設(shè)置位于名為 postgresql.conf 的純文本文件中,該文件位于數(shù)據(jù)庫(kù)目錄結(jié)構(gòu)的底部。這些配置參數(shù)中的大多數(shù)大致分為以下幾類:

1、數(shù)據(jù)庫(kù)連接參數(shù)

2、記錄參數(shù)

3、內(nèi)存參數(shù)

下面,小編就詳細(xì)給大家介紹一下PostgreSQL服務(wù)器配置的參數(shù)指南。

一、連接參數(shù)

有許多配置參數(shù)可以控制人們?nèi)绾芜h(yuǎn)程和本地連接到數(shù)據(jù)庫(kù)。

1、監(jiān)聽(tīng)地址

任何需要從遠(yuǎn)程系統(tǒng)連接的安裝都需要更改listen_addresses以允許連接。默認(rèn)情況下僅允許來(lái)自登錄到與數(shù)據(jù)庫(kù)服務(wù)器相同系統(tǒng)的用戶的本地連接。一種常見(jiàn)的方法是接受來(lái)自任何地方的傳入連接——就主配置文件而言,如下所示:listen_addresses = '*'

2、最大連接數(shù)

Max_connections是我們?cè)趇nitdb生成的postgresql.conf中總是會(huì)發(fā)現(xiàn)設(shè)置為一個(gè)值的設(shè)置之一,通常為100。因?yàn)槊總€(gè)連接都使用少量的共享內(nèi)存,所以共享內(nèi)存默認(rèn)值特別有限的系統(tǒng)甚至可能不允許這么多連接。因此,在創(chuàng)建數(shù)據(jù)庫(kù)集群時(shí),initdb會(huì)進(jìn)行一些調(diào)查,然后將支持的最大值(最多100)保存到默認(rèn)配置中。實(shí)際上,每個(gè)客戶端用于諸如排序之類的事情的非共享內(nèi)存量將使它相形見(jiàn)絀,但不能完全忽略共享組件。

重要的是不要將此參數(shù)設(shè)置為比您需要的值高得多的值。較大的設(shè)置有幾個(gè)缺點(diǎn)。第一個(gè)是浪費(fèi)的共享內(nèi)存,通常是最后一個(gè)要關(guān)注的事情,因?yàn)槊總€(gè)連接的數(shù)量很小。

二、記錄參數(shù)

常規(guī)日志記錄設(shè)置至關(guān)重要,因?yàn)槿罩居涗浽谡{(diào)試錯(cuò)誤、警告和其他系統(tǒng)問(wèn)題中起著至關(guān)重要的作用。我們可能需要設(shè)置log_destination、log_directory和log_filename等參數(shù),以符合我們環(huán)境的系統(tǒng)管理要求的方式保存我們的日志文件。在大多數(shù)系統(tǒng)上,這些都將設(shè)置為合理的默認(rèn)值以開(kāi)始使用。在類UNIX系統(tǒng)上,一些數(shù)據(jù)庫(kù)日志記錄通常在啟動(dòng)和停止服務(wù)器的腳本中設(shè)置,而不是直接在postgresql.conf 文件中設(shè)置。

1、log_line_prefix

默認(rèn)的log_line_prefix參數(shù)是空的,一個(gè)好的起始值如下:

這會(huì)將以下內(nèi)容放入每個(gè)日志行:

%t:時(shí)間戳%u:數(shù)據(jù)庫(kù)用戶名%r:遠(yuǎn)程主機(jī)連接%d:數(shù)據(jù)庫(kù)%p:連接的進(jìn)程ID

2、日志語(yǔ)句

語(yǔ)句日志記錄是一種用于查找性能問(wèn)題的強(qiáng)大技術(shù)。分析log_statement保存的信息和語(yǔ)句級(jí)詳細(xì)信息的相關(guān)來(lái)源可以揭示許多類型的性能問(wèn)題的真正來(lái)源。此設(shè)置的選項(xiàng)如下:

none:不記錄任何語(yǔ)句級(jí)信息。

ddl:僅記錄數(shù)據(jù)定義語(yǔ)言(DDL)語(yǔ)句,例如CREATE和DROP。這通常可以保留,即使在生產(chǎn)中,也可以用于捕獲管理員無(wú)意或有意引入的重大更改。

mod:記錄任何修改值的語(yǔ)句,除了簡(jiǎn)單的SELECT語(yǔ)句外,它基本上是所有內(nèi)容。如果我們的工作負(fù)載主要是基于SELECT且數(shù)據(jù)更改相對(duì)較少,則始終啟用此功能可能很實(shí)用。

all:記錄每條語(yǔ)句。由于日志記錄的開(kāi)銷,這在生產(chǎn)中通常是不切實(shí)際的。但是,如果我們的服務(wù)器相對(duì)于它的工作負(fù)載來(lái)說(shuō)足夠強(qiáng)大,那么讓它一直保持運(yùn)行可能是可行的。

log_min_duration_statement

一旦我們對(duì)執(zhí)行典型的查詢語(yǔ)句需要多長(zhǎng)時(shí)間有了一些了解,此設(shè)置允許您僅記錄超過(guò)我們?cè)O(shè)置的閾值的語(yǔ)句。該值以毫秒為單位,因此我們可以設(shè)置以下內(nèi)容:

log_min_duration_statement=1000

這樣,我們將只會(huì)看到運(yùn)行時(shí)間超過(guò)1秒的語(yǔ)句。這對(duì)于找出比大多數(shù)執(zhí)行時(shí)間長(zhǎng)得多的離群語(yǔ)句的來(lái)源非常方便。

三、內(nèi)存參數(shù)

數(shù)據(jù)庫(kù)組件需要內(nèi)存來(lái)緩存頻繁訪問(wèn)的數(shù)據(jù)、事務(wù)日志和排序數(shù)據(jù)。因此,正確調(diào)整內(nèi)存參數(shù)至關(guān)重要,因?yàn)樗梢詭椭鷥?yōu)化數(shù)據(jù)庫(kù)性能。

1、共享緩沖區(qū)

該參數(shù)的值定義了PostgreSQL共享緩沖池的大小。換句話說(shuō),此參數(shù)控制PostgreSQL用于緩存數(shù)據(jù)的內(nèi)存量。128 MB的默認(rèn)值對(duì)于任何現(xiàn)實(shí)世界的工作負(fù)載來(lái)說(shuō)都非常低,需要加強(qiáng)。此值應(yīng)根據(jù)數(shù)據(jù)集大小設(shè)置,數(shù)據(jù)庫(kù)服務(wù)器應(yīng)該在峰值負(fù)載和可用RAM的基礎(chǔ)上處理。事實(shí)上的經(jīng)驗(yàn)法則是,在RAM超過(guò)1GB的系統(tǒng)上,此參數(shù)的合理值約為系統(tǒng)內(nèi)存的四分之一。此參數(shù)的值也可以設(shè)置為更大的值,并且理想情況下有效的最大設(shè)置為可用RAM的40%。但是將它增加到超過(guò)該限制可能不會(huì)有效,因?yàn)镻ostgreSQL也依賴于操作系統(tǒng)緩存來(lái)進(jìn)行操作。較大的shared_buffers參數(shù)值意味著增加 checkpoint_segments 值,以便在一段時(shí)間內(nèi)分散寫(xiě)入大量新數(shù)據(jù)或更改數(shù)據(jù)的過(guò)程。此值只能在服務(wù)器啟動(dòng)時(shí)設(shè)置。

2、臨時(shí)緩沖區(qū)

此參數(shù)定義每個(gè)數(shù)據(jù)庫(kù)會(huì)話用于緩存臨時(shí)表數(shù)據(jù)的內(nèi)存量。這些基本上是會(huì)話本地緩沖區(qū),僅用于訪問(wèn)臨時(shí)表。在Postgresql版本9.4中,此參數(shù)的默認(rèn)值為八,并且此設(shè)置可以在單個(gè)會(huì)話中更改,但只能在會(huì)話中首次使用臨時(shí)表之前更改。任何后續(xù)更改該值的嘗試都不會(huì)影響現(xiàn)有會(huì)話。

3、維護(hù)工作內(nèi)存

此參數(shù)定義維護(hù)操作使用的最大內(nèi)存量,即VACUUM、CREATE INDEX、ALTER TABLE ADD FOREIGN KEY 操作需要更多工作內(nèi)存。要注意的是,這些會(huì)話中的許多會(huì)話不太可能同時(shí)執(zhí)行這些操作,因此可以將此值設(shè)置為比標(biāo)準(zhǔn)每個(gè)客戶端work_mem設(shè)置大得多的值。在PostgreSQL 版本9.4中,此參數(shù)的默認(rèn)值設(shè)置為64MB。這里需要注意的一點(diǎn)是,當(dāng)autovacuum運(yùn)行時(shí),autovacuum_max_workers的值分配此內(nèi)存的次數(shù)。從優(yōu)化的角度并考慮到?jīng)]有增加autovacuum worker的數(shù)量,一個(gè)好的配置設(shè)置是將其設(shè)置為系統(tǒng)總內(nèi)存的5%左右,這樣即使五個(gè)這樣的進(jìn)程也不會(huì)超過(guò)可用內(nèi)存的四分之一記憶。這大約相當(dāng)于每GB服務(wù)器系統(tǒng)內(nèi)存50 MB的maintenance_work_mem。

以上是PostgreSQL服務(wù)器配置的參數(shù)指南介紹,希望能幫助到大家參考!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8701

    瀏覽量

    84552
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2903

    瀏覽量

    73540
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    3712

    瀏覽量

    64025
  • postgresql
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    206
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    科技分析:站群服務(wù)器能建多少個(gè)網(wǎng)站?

    站群服務(wù)器是一種專門(mén)用于托管多個(gè)網(wǎng)站的服務(wù)器,它可以支持從幾個(gè)到數(shù)千個(gè)網(wǎng)站,具體數(shù)量取決于服務(wù)器的硬件配置、帶寬、存儲(chǔ)空間以及所托管網(wǎng)站的復(fù)雜性和資源需求。以下是一些影響站群
    的頭像 發(fā)表于 08-21 13:29 ?93次閱讀

    高防服務(wù)器配置要素

    高防服務(wù)器配置通常包括硬件資源、網(wǎng)絡(luò)資源、防護(hù)能力、彈性防護(hù)、清洗能力和業(yè)務(wù)支持等方面。下面將詳細(xì)介紹高防服務(wù)器配置要素,rak部落小編為
    的頭像 發(fā)表于 08-20 11:21 ?164次閱讀

    圖床服務(wù)器如何選擇配置

    選擇圖床服務(wù)器時(shí),應(yīng)考慮存儲(chǔ)空間、帶寬、安全性和穩(wěn)定性等因素。建議選擇配置較高的服務(wù)器,以滿足需求。 在選擇圖床服務(wù)器配置時(shí),需要考慮以下
    的頭像 發(fā)表于 07-11 15:36 ?162次閱讀

    云存儲(chǔ)服務(wù)器怎么配置

    服務(wù)的核心設(shè)備,其配置直接影響到云存儲(chǔ)的性能、可靠性和安全性。本文將詳細(xì)介紹云存儲(chǔ)服務(wù)器配置過(guò)程,包括硬件選擇、軟件安裝、網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-02 09:15 ?383次閱讀

    科技分析:1Gbps企業(yè)服務(wù)器帶寬多少錢(qián)?

    :國(guó)內(nèi)主要云服務(wù)商提供的單臺(tái)云服務(wù)器帶寬上限一般為200M。如果需要更高的帶寬,可能需要采用負(fù)載均衡技術(shù)或在服務(wù)器前端采用負(fù)載均衡策略。 2、1Gbps帶寬的成本:在
    的頭像 發(fā)表于 06-24 17:32 ?334次閱讀

    京準(zhǔn)電鐘:GPS時(shí)鐘服務(wù)器(NTP授時(shí)服務(wù)器)資料詳細(xì)介紹書(shū)

    京準(zhǔn)電鐘:GPS時(shí)鐘服務(wù)器(NTP授時(shí)服務(wù)器)資料詳細(xì)介紹書(shū) 京準(zhǔn)電鐘:GPS時(shí)鐘服務(wù)器(NTP授時(shí)服務(wù)器)資料詳細(xì)
    發(fā)表于 06-18 14:52

    香港裸機(jī)云多IP服務(wù)器都有哪些配置?

    香港裸機(jī)云多IP服務(wù)器是一種高效、靈活的云計(jì)算服務(wù),為用戶提供了多IP地址的配置選項(xiàng),以滿足各種復(fù)雜的網(wǎng)絡(luò)需求。這種服務(wù)器配置上具有豐富的
    的頭像 發(fā)表于 04-18 09:58 ?252次閱讀

    OpenBSD中如何配置和使用虛擬專用服務(wù)器?

    在OpenBSD中配置和使用虛擬專用服務(wù)器(VPS)通常涉及以下步驟: 1、安裝OpenBSD:首先,在您的VPS提供商處購(gòu)買(mǎi)并配置一個(gè)OpenBSD實(shí)例。在安裝OpenBSD時(shí),請(qǐng)確保您選擇了合適
    的頭像 發(fā)表于 03-28 17:17 ?299次閱讀

    服務(wù)器監(jiān)控完整指南

    運(yùn)行混合云環(huán)境時(shí)。下面,科技小編我給大家介紹下云服務(wù)器監(jiān)控完整指南。 一、什么是云服務(wù)器監(jiān)控
    的頭像 發(fā)表于 03-20 17:19 ?326次閱讀

    linux服務(wù)器和windows服務(wù)器

    Linux服務(wù)器和Windows服務(wù)器是目前應(yīng)用最廣泛的兩種服務(wù)器操作系統(tǒng)。兩者各有優(yōu)劣,也適用于不同的應(yīng)用場(chǎng)景。本文將 對(duì)Linux服務(wù)器和Windows
    發(fā)表于 02-22 15:46

    什么是web服務(wù)器?如何選擇服務(wù)器配置?

    )、LiteSped等。這些軟件在配置和功能上略有不同,但其目標(biāo)是提供高性能、可靠、安全的網(wǎng)頁(yè)內(nèi)容交付。 如何選擇web服務(wù)器配置?這主要取決
    的頭像 發(fā)表于 01-03 15:25 ?979次閱讀

    科技分析:香港服務(wù)器CDN配置教程

    配置香港服務(wù)器的CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))涉及多個(gè)步驟,主要目標(biāo)是通過(guò)分發(fā)內(nèi)容至全球各個(gè)節(jié)點(diǎn),提高網(wǎng)站性能和降低加載時(shí)間。下面是一個(gè)簡(jiǎn)要的香港服務(wù)器CDN配置教程: 步驟1:選擇CDN
    的頭像 發(fā)表于 12-14 17:25 ?496次閱讀

    DHCP服務(wù)器配置方法

    DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議)是一種用于自動(dòng)分配IP地址和其他網(wǎng)絡(luò)配置信息的協(xié)議。它可以使網(wǎng)絡(luò)管理員更加方便地管理和配置大量的客戶機(jī)。在本文中,我們將詳細(xì)介紹如何
    的頭像 發(fā)表于 11-27 14:48 ?1633次閱讀

    linux查看服務(wù)器配置

    在Linux操作系統(tǒng)中,了解服務(wù)器配置對(duì)于系統(tǒng)管理員和網(wǎng)絡(luò)工程師而言至關(guān)重要。通過(guò)查看服務(wù)器配置,您可以了解服務(wù)器的硬件和軟件組成部分,包括
    的頭像 發(fā)表于 11-17 09:41 ?951次閱讀

    監(jiān)控云服務(wù)器怎么架設(shè)?

    在本文中,小編將給大家分析一下監(jiān)控云服務(wù)器怎么架設(shè)? 監(jiān)控云服務(wù)器架設(shè)通常需要以下步驟: 1、選擇云服務(wù)提供商: 選擇一個(gè)可靠的云服務(wù)提供商,如阿里云、騰訊云和
    的頭像 發(fā)表于 10-24 17:27 ?910次閱讀