引數名稱大小寫不敏感,引數主要有5種型別: boolean, string, integer, floating point,enumerated (enum).
配置檔案路徑:
/usr/local/pgsql/data/postgresql.conf
/usr/local/pgsql/data/postgresql.auto.conf
伺服器啟動時預設讀取的配置檔案為 postgresql.conf。
【alter system】
alter system 可動態修改引數,修改記錄檔案為 postgresql.auto.conf ,該檔案不可手動編輯,且會覆蓋 postgresql.conf 中的引數值,即系統首選postgresql.auto.conf中的設定。
#動態配置命令
alter system set configuration_parameter
alter system reset configuration_parameter
alter system reset all
alter system 將引數設定為 default 或 reset 時,引數將被移除。重新設定後需過載(pg_ctl reload 或 pg_reload_conf())配置檔案才生效,或重啟系統服務。
[postgres@hzc ~]$ pg_ctl reload -d /usr/local/pgsql/data
postgres=# pg_reload_conf()
【alter database】資料庫級別的配置影響單個資料庫。重新連線或重新整理會話時生效。
alter database name set configuration_parameter
alter database name set configuration_parameter from current
alter database name reset configuration_parameter
alter database name reset all
【alter role】角色或資料庫級別配置。重新連線或重新整理會話時生效。
alter role [ in database database_name ] set configuration_parameter
alter role [ in database database_name ] set configuration_parameter from current
alter role [ in database database_name ] reset configuration_parameter
alter role [ in database database_name ] reset all
【show / set】影響當前會話級別。可檢視當前連線的引數和重新設定引數。
show name
show all
set [ session | local ] configuration_parameter
set [ session | local ] time zone
#檢視當前引數值
select name,setting,vartype,boot_val,min_val,max_val,reset_val from pg_settings;
示例:show datestyle;
show all;
select * from pg_timezone_names where abbrev='+08';
set time zone 'europe/rome';
set time zone 'etc/gmt-8';
select now();
select name,setting,vartype,boot_val,min_val,max_val,reset_val from pg_settings where name='enable_sort';
update pg_settings set setting = 'off' where name = 'enable_sort';
select set_config('enable_sort', 'on', true); --true:當前事務級別
select set_config('enable_sort', 'off', false);--false:當前會話級別
set enable_sort to default;
其他引數特殊設定方法參考:
postgresql 像其他資料庫一樣,如果不限制使用系統資源,系統資源可能將被耗盡。postgresql 要求作業系統提供程序間通訊(ipc)的特性,尤其共享記憶體和訊號。unix派生系統都會有提供「system v」或「posix」 ipc。postgresql 啟動時,一般會分配比較小的共享記憶體和大量的posix(mmap)共享記憶體。postgresql 執行受作業系統system v ipc 限制,如果超出/低於系統的限制,則服務將拒絕啟動,輸出相關錯誤資訊。
managing kernel resources :
管理核心資源 :
Postgresql日誌系統的實現(五)
1.3.1 3 xlog 其他資訊 資源資料結構 在xlog internal.h中定義了乙個結構體,resource manager可以呼叫某種資源 rmgrdata代表的資源 的某個方法 redo,undo等 這裡的資源可以簡單的理解成pg中存在這些 在pg執行時,系統中就生成了這些可利用的資源...
postgresql 核心開發之系統引數增加(下)
上篇介紹了怎麼加乙個常規引數,同時也留下了乙個問題,如何加乙個奇葩引數設定功能,使任意乙個session設定引數值,全域性所有連線立即生效。如何實現呢?我們來分析下。如果要使當前session生效,直接設定即可,它能直接讀寫當前程序的引數值。那其它的session呢?首先我們明確乙個問題,資料庫一旦...
postgresql引數調整
max connections 512 允許客戶端連線的最大數目 fsync off 強制把資料同步更新到磁碟 shared buffers 30g 決定有多少記憶體可以被postgresql用於快取資料 推薦記憶體的1 4 work mem 16m 使內部排序和一些複雜的查詢都在這個buffer中...