PostgreSQL學習手冊(伺服器配置)
一、伺服器程式的啟動和關閉:
下面是pg_ctl命令的使用方法和常用選項,需要指出的是,該命令是postgres命令的封裝體,因此在使用上比直接使用postgres更加方便。
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 | 指定資料庫儲存的路徑 |
-l | 指定伺服器程式的日誌檔案 |
-s | 僅列印錯誤資訊,不列印普通訊息 |
-t SECS | 當使用-w選項時等待的秒數 |
-w | 等待直到資料庫操作完成(對於stop而言,該選項時預設選項) |
-W | 不等待任何操作的完成 |
--help | 顯示幫助資訊 |
--version | 顯示版本資訊 |
-m | 對於stop和restart操作,可以指定關閉模式 |
系統關閉模式 | |
smart | 不在接收新的連線,直到當前已有的連線都斷開之後才退出系統 |
fast | 不在接收新的連線請求,主動關閉已經建立的連線,之後退出系統 |
immediate | 立即退出,但是在restart的時候需要有恢復的操作被執行 |
這裡我們只是給出最為常用的使用方式,即資料庫伺服器的正常啟動和關閉。
#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在關閉系統時,使用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)目錄下,見如下配置片段:
# 這是一個註釋
log_connections = yes
log_destination = 'syslog'
search_path = '$user, public'
井號(#)開始的行為註釋行,如果配置值中包含數字,則需要用單引號括起。如果引數值本身包含單引號,我們可以寫兩個單引號(推薦方法)或用反斜扛包圍。
這裡需要注意的是,並非所有配置引數都可以在伺服器執行時執行動態修改,有些引數在修改後,只能等到伺服器重新啟動後才能生效。
PostgreSQL還提供了另外一種修改配置引數的方法,即在命令列上直接執行修改命令,如:
/> postgres -c log_connections=yes -c log_destination='syslog'
如果此時命令列設定的引數和配置檔案中的引數相互衝突,那麼命令列中給出的引數將覆蓋配置檔案中已有的引數值。除此之外,我們還可以通過ALTER DATABASE和ALTER USER等PostgreSQL的資料定義命令來分別修改指定資料庫或指定使用者的配置資訊。其中針對資料庫的設定將覆蓋任何從postgres命令列或者配置檔案從給出的設定,然後又會被針對使用者的設定覆蓋,最後又都會被每會話的選項覆蓋。下面是當伺服器配置出現衝突時,PostgreSQL伺服器將會採用哪種方式的優先順序,如:
1). 基於會話的配置;
2). 基於使用者的配置;
3). 基於資料庫的配置;
4). postgres命令列指定的配置;
5). 配置檔案postgresql.conf中給出的配置。
最後需要說明的是,有些設定可以通過PostgreSQL的set命令進行設定,如在psql中我們可以輸入:
SET ENABLE_SEQSCAN TO OFF;
也可以通過show命令來顯示指定配置的當前值,如:
SHOW ENABLE_SEQSCAN;
與此同時,我們也可以手工查詢pg_settings系統表的方式來檢索感興趣的系統引數。
三、記憶體相關的引數配置:
1. shared_buffers(integer):
設定資料庫伺服器可以使用的共享記憶體數量。預設情況下可以設定為32MB,但是不要少於128KB。因為該值設定的越高對系統的效能越有好處。該配置引數只能在資料庫啟動時設定。
此時,如果你有一臺專用的資料庫伺服器,其記憶體為1G或者更多,那麼我們推薦將該值設定為系統記憶體的25%。
2. work_mem(integer):
PostgreSQL在執行排序操作時,會根據work_mem的大小決定是否將一個大的結果集拆分為幾個小的和work_mem差不多大小的臨時檔案。顯然拆分的結果是降低了排序的速度。因此增加work_mem有助於提高排序的速度。然而需要指出的是,如果系統中同時存在多個排序操作,那麼每個操作在排序時使用的記憶體數量均為work_mem,因此在我們設定該值時需要注意這一問題。
3. maintence_work_mem(integer):
指定在維護性操作中使用的最大記憶體數,如VACUUM、CREATE INDEX和ALTER TABLE ADD FOREIGN KEY等,該配置的預設值為16MB。因為每個會話在同一時刻只能執行一個該操作,所以使用的頻率不高,但是這些指令往往消耗較多的系統資源,因此應該儘快讓這些指令快速執行完畢。
轉載: http://www.cnblogs.com/stephen-liu74/archive/2012/05/16/2302241.html
相關文章
- Redux學習手冊Redux
- python學習手冊(8)Python
- python學習手冊(10)Python
- python學習手冊(4)Python
- PostgreSQL 速查、備忘手冊 | PostgreSQL Quick Find and TutorialSQLUI
- python爬蟲學習手冊-伺服器渲染(基礎庫pycurl)瞭解Python爬蟲伺服器
- 7、Ktor學習-配置伺服器;伺服器
- IDEA新手常用配置手冊Idea
- Flutter狀態管理學習手冊(一)——ScopedModelFlutter
- Flutter狀態管理學習手冊(二)——ReduxFlutterRedux
- Python學習手冊之類和繼承Python繼承
- Python學習手冊之控制結構(二)Python
- Python學習手冊(第4版)PDF版Python
- Flutter狀態管理學習手冊(三)——BlocFlutterBloC
- 神器 Nginx 的學習手冊 ( 建議收藏 )Nginx
- 常用指令碼學習手冊——Bat指令碼指令碼BAT
- 前端學習實用工具及手冊自取前端
- postgreSQL with子句學習SQL
- The Internals of PostgreSQL學習SQL
- Python學習手冊(入門&爬蟲&資料分析&機器學習&深度學習)Python爬蟲機器學習深度學習
- 《Python機器學習手冊:從資料預處理到深度學習》Python機器學習深度學習
- 墨天輪PostgreSQL精品學習資源合集(含基礎手冊、實操技巧&案例、書籍推薦)SQL
- 從安裝到入門:ElasticSearch 快速學習手冊Elasticsearch
- Spring學習手冊 2:Spring MVC 匯出excel表格SpringMVCExcel
- Spring學習手冊 1:Spring MVC 返回JSON資料SpringMVCJSON
- Windows10動手深度學習mxnetGPU配置Windows深度學習GPU
- Linux完全自學手冊Linux
- Python學習手冊之Python介紹、基本語法(一)Python
- Python學習手冊之捕獲組和特殊匹配字串Python字串
- React學習手冊-React執行機制筆記(二)React筆記
- PHP 手冊 (類與物件) 學習筆記十:抽象類PHP物件筆記抽象
- PHP 手冊 (類與物件) 學習筆記二:屬性PHP物件筆記
- PHP 手冊 (類與物件) 學習筆記三:類常量PHP物件筆記
- 【python學習手冊】02|使用Python提取中文關鍵詞?Python
- [python學習手冊-筆記]004.動態型別Python筆記型別
- [python學習手冊-筆記]003.數值型別Python筆記型別
- postgreSQL學習(一):在Linux下安裝postgreSQLSQLLinux
- PostgreSQL10.1手冊_部分III.伺服器管理_第31章邏輯複製_31.7.安全SQL伺服器
- Webpack 5 配置手冊(從0開始)Web