選項 | 描述 |
-D | 指定數據庫存儲的路徑 |
-l | 指定服務器進程的日志文件 |
-s | 僅打印錯誤信息,不打印普通信息 |
-t SECS | 當使用-w選項時等待的秒數 |
-w | 等待直到數據庫操作完成(對于stop而言,該選項時缺省選項) |
-W | 不等待任何操作的完成 |
--help | 顯示幫助信息 |
--version | 顯示版本信息 |
-m | 對于stop和restart操作,可以指定關閉模式 |
系統(tǒng)關閉模式 | |
smart | 不在接收新的連接,直到當前已有的連接都斷開之后才退出系統(tǒng) |
fast | 不在接收新的連接請求,主動關閉已經建立的連接,之后退出系統(tǒng) |
immediate | 立即退出,但是在restart的時候需要有恢復的操作被執(zhí)行 |
這里我們只是給出最為常用的使用方式,即數據庫服務器的正常啟動和關閉。
#start表示啟動postgres服務器進程。
#-D指定數據庫服務器的初始目錄的存放路徑。
#-l指定數據庫服務器進程的日志文件
/> pg_ctl -w start -D /opt/PostgreSQL/9.1/data -l /opt/PostgreSQL/9.1/data/pg_log/startup.log
#stop表示停止postgres服務器進程
#-m fast在關閉系統(tǒng)時,使用fast的關閉模式。
/> pg_ctl stop -m fast -w -D /opt/PostgreSQL/9.1/data
二、服務器配置:
1. 設置參數:
在PostgreSQL中,所有配置參數名都是大小寫不敏感的。每個參數都可以接受四種類型的值,它們分別是布爾、整數、浮點數和字符串。其中布爾值可以是ON、OFF、TRUE、FALSE、YES、NO、1和0。包含這些參數的配置文件是postgresql.conf,該文件通常存放在initdb初始化的數據(data)目錄下,見如下配置片段:
1). 基于會話的配置;
2). 基于用戶的配置;
3). 基于數據庫的配置;
4). postgres命令行指定的配置;
5). 配置文件postgresql.conf中給出的配置。
最后需要說明的是,有些設置可以通過PostgreSQL的set命令進行設置,如在psql中我們可以輸入:
三、內存相關的參數配置:
1. shared_buffers(integer):
設置數據庫服務器可以使用的共享內存數量。缺省情況下可以設置為32MB,但是不要少于128KB。因為該值設置的越高對系統(tǒng)的性能越有好處。該配置參數只能在數據庫啟動時設置。
此時,如果你有一臺專用的數據庫服務器,其內存為1G或者更多,那么我們推薦將該值設置為系統(tǒng)內存的25%。
2. work_mem(integer):
PostgreSQL在執(zhí)行排序操作時,會根據work_mem的大小決定是否將一個大的結果集拆分為幾個小的和work_mem差不多大小的臨時文件。顯然拆分的結果是降低了排序的速度。因此增加work_mem有助于提高排序的速度。然而需要指出的是,如果系統(tǒng)中同時存在多個排序操作,那么每個操作在排序時使用的內存數量均為work_mem,因此在我們設置該值時需要注意這一問題。
3. maintence_work_mem(integer):
指定在維護性操作中使用的最大內存數,如VACUUM、CREATE INDEX和ALTER TABLE ADD FOREIGN KEY等,該配置的缺省值為16MB。因為每個會話在同一時刻只能執(zhí)行一個該操作,所以使用的頻率不高,但是這些指令往往消耗較多的系統(tǒng)資源,因此應該盡快讓這些指令快速執(zhí)行完畢。