佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > PostgreSQL教程(十一):服務(wù)器配置

PostgreSQL教程(十一):服務(wù)器配置

熱門標(biāo)簽:呼叫中心市場需求 AI電銷 地方門戶網(wǎng)站 網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng) 服務(wù)外包 Linux服務(wù)器 百度競價排名

一、服務(wù)器進(jìn)程的啟動和關(guān)閉:

    下面是pg_ctl命令的使用方法和常用選項,需要指出的是,該命令是postgres命令的封裝體,因此在使用上比直接使用postgres更加方便。

復(fù)制代碼 代碼如下:

    pg_ctl init[db] [-D DATADIR] [-s] [-o "OPTIONS"]
    pg_ctl start     [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o "OPTIONS"]
    pg_ctl stop     [-W] [-t SECS] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]
    pg_ctl restart  [-w] [-t SECS] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]
    pg_ctl reload  [-D DATADIR] [-s]
    pg_ctl status  [-D DATADIR]
    pg_ctl promote [-D DATADIR] [-s]

選項 描述
-D 指定數(shù)據(jù)庫存儲的路徑
-l 指定服務(wù)器進(jìn)程的日志文件
-s 僅打印錯誤信息,不打印普通信息
-t SECS 當(dāng)使用-w選項時等待的秒數(shù)
-w 等待直到數(shù)據(jù)庫操作完成(對于stop而言,該選項時缺省選項)
-W 不等待任何操作的完成
--help 顯示幫助信息
--version 顯示版本信息
-m 對于stop和restart操作,可以指定關(guān)閉模式
系統(tǒng)關(guān)閉模式  
smart 不在接收新的連接,直到當(dāng)前已有的連接都斷開之后才退出系統(tǒng)
fast 不在接收新的連接請求,主動關(guān)閉已經(jīng)建立的連接,之后退出系統(tǒng)
immediate 立即退出,但是在restart的時候需要有恢復(fù)的操作被執(zhí)行

  這里我們只是給出最為常用的使用方式,即數(shù)據(jù)庫服務(wù)器的正常啟動和關(guān)閉。
    #start表示啟動postgres服務(wù)器進(jìn)程。
    #-D指定數(shù)據(jù)庫服務(wù)器的初始目錄的存放路徑。
    #-l指定數(shù)據(jù)庫服務(wù)器進(jìn)程的日志文件
    /> pg_ctl -w start -D /opt/PostgreSQL/9.1/data -l /opt/PostgreSQL/9.1/data/pg_log/startup.log
    #stop表示停止postgres服務(wù)器進(jìn)程
    #-m fast在關(guān)閉系統(tǒng)時,使用fast的關(guān)閉模式。
    /> pg_ctl stop -m fast -w -D /opt/PostgreSQL/9.1/data

二、服務(wù)器配置:

    1. 設(shè)置參數(shù):
    在PostgreSQL中,所有配置參數(shù)名都是大小寫不敏感的。每個參數(shù)都可以接受四種類型的值,它們分別是布爾、整數(shù)、浮點(diǎn)數(shù)和字符串。其中布爾值可以是ON、OFF、TRUE、FALSE、YES、NO、1和0。包含這些參數(shù)的配置文件是postgresql.conf,該文件通常存放在initdb初始化的數(shù)據(jù)(data)目錄下,見如下配置片段:

復(fù)制代碼 代碼如下:

    # 這是一個注釋
    log_connections = yes
    log_destination = 'syslog'
    search_path = '$user, public'
 

    井號(#)開始的行為注釋行,如果配置值中包含數(shù)字,則需要用單引號括起。如果參數(shù)值本身包含單引號,我們可以寫兩個單引號(推薦方法)或用反斜扛包圍。   
    這里需要注意的是,并非所有配置參數(shù)都可以在服務(wù)器運(yùn)行時執(zhí)行動態(tài)修改,有些參數(shù)在修改后,只能等到服務(wù)器重新啟動后才能生效。
    PostgreSQL還提供了另外一種修改配置參數(shù)的方法,即在命令行上直接執(zhí)行修改命令,如:
 
復(fù)制代碼 代碼如下:

    /> postgres -c log_connections=yes -c log_destination='syslog'
 

    如果此時命令行設(shè)置的參數(shù)和配置文件中的參數(shù)相互沖突,那么命令行中給出的參數(shù)將覆蓋配置文件中已有的參數(shù)值。除此之外,我們還可以通過ALTER DATABASE和ALTER USER等PostgreSQL的數(shù)據(jù)定義命令來分別修改指定數(shù)據(jù)庫或指定用戶的配置信息。其中針對數(shù)據(jù)庫的設(shè)置將覆蓋任何從postgres命令行或者配置文件從給出的設(shè)置,然后又會被針對用戶的設(shè)置覆蓋,最后又都會被每會話的選項覆蓋。下面是當(dāng)服務(wù)器配置出現(xiàn)沖突時,PostgreSQL服務(wù)器將會采用哪種方式的優(yōu)先級,如:

    1). 基于會話的配置;
    2). 基于用戶的配置;
    3). 基于數(shù)據(jù)庫的配置;
    4). postgres命令行指定的配置;
    5). 配置文件postgresql.conf中給出的配置。

    最后需要說明的是,有些設(shè)置可以通過PostgreSQL的set命令進(jìn)行設(shè)置,如在psql中我們可以輸入:
 

復(fù)制代碼 代碼如下:

    SET ENABLE_SEQSCAN TO OFF;
 

    也可以通過show命令來顯示指定配置的當(dāng)前值,如:
 
復(fù)制代碼 代碼如下:

    SHOW ENABLE_SEQSCAN;
 

    與此同時,我們也可以手工查詢pg_settings系統(tǒng)表的方式來檢索感興趣的系統(tǒng)參數(shù)。

三、內(nèi)存相關(guān)的參數(shù)配置:

    1. shared_buffers(integer):

    設(shè)置數(shù)據(jù)庫服務(wù)器可以使用的共享內(nèi)存數(shù)量。缺省情況下可以設(shè)置為32MB,但是不要少于128KB。因為該值設(shè)置的越高對系統(tǒng)的性能越有好處。該配置參數(shù)只能在數(shù)據(jù)庫啟動時設(shè)置。
    此時,如果你有一臺專用的數(shù)據(jù)庫服務(wù)器,其內(nèi)存為1G或者更多,那么我們推薦將該值設(shè)置為系統(tǒng)內(nèi)存的25%。
    
    2. work_mem(integer):

    PostgreSQL在執(zhí)行排序操作時,會根據(jù)work_mem的大小決定是否將一個大的結(jié)果集拆分為幾個小的和work_mem差不多大小的臨時文件。顯然拆分的結(jié)果是降低了排序的速度。因此增加work_mem有助于提高排序的速度。然而需要指出的是,如果系統(tǒng)中同時存在多個排序操作,那么每個操作在排序時使用的內(nèi)存數(shù)量均為work_mem,因此在我們設(shè)置該值時需要注意這一問題。
    
    3. maintence_work_mem(integer):

    指定在維護(hù)性操作中使用的最大內(nèi)存數(shù),如VACUUM、CREATE INDEX和ALTER TABLE ADD FOREIGN KEY等,該配置的缺省值為16MB。因為每個會話在同一時刻只能執(zhí)行一個該操作,所以使用的頻率不高,但是這些指令往往消耗較多的系統(tǒng)資源,因此應(yīng)該盡快讓這些指令快速執(zhí)行完畢。

您可能感興趣的文章:
  • asp.net實現(xiàn)Postgresql快速寫入/讀取大量數(shù)據(jù)實例
  • 圖文詳解mybatis+postgresql平臺搭建步驟
  • PostgreSQL教程(二十):PL/pgSQL過程語言
  • PostgreSQL教程(十八):客戶端命令(2)
  • PostgreSQL教程(十七):客戶端命令(1)
  • PostgreSQL教程(十五):系統(tǒng)表詳解
  • 在windows下手動初始化PostgreSQL數(shù)據(jù)庫教程
  • Python使用PyGreSQL操作PostgreSQL數(shù)據(jù)庫教程
  • Windows下PostgreSQL安裝圖解
  • Visual Studio(VS2017)配置C/C++ PostgreSQL9.6.3開發(fā)環(huán)境

標(biāo)簽:崇左 蘭州 衡水 湘潭 湖南 黃山 仙桃 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PostgreSQL教程(十一):服務(wù)器配置》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    德州市| 馆陶县| 合山市| 色达县| 临朐县| 瑞昌市| 即墨市| 临江市| 新蔡县| 阿图什市| 岳阳县| 城步| 上林县| 三都| 安溪县| 平远县| 金昌市| 曲沃县| 寻乌县| 巍山| 稷山县| 调兵山市| 手游| 务川| 梅州市| 曲周县| 木兰县| 佛山市| 靖安县| 武川县| 灵寿县| 八宿县| 方城县| 奉新县| 中牟县| 吴堡县| 高密市| 马山县| 遵义县| 尼木县| 娄烦县|