1.檢視引數檔案位置
postgres=# show config_file;
config_file
----------------------------------
/data/pgsql_data/postgresql.conf
(1 row)
postgres=# show hba_file;
hba_file
------------------------------
/data/pgsql_data/pg_hba.conf
(1 row)
postgres=# show ident_file;
ident_file
--------------------------------
/data/pgsql_data/pg_ident.conf
(1 row)
2.檢視當前會話引數show all;
postgres=# show enable_hashjoin;
enable_hashjoin
-----------------
on(1 row)
postgres=# \x
expanded display is on.
postgres=# select * from pg_settings where name in ('enable_hashjoin');
-[ record 1 ]---------------------------------------------
name | enable_hashjoin
setting | on
unit |
category | query tuning / planner method configuration
short_desc | enables the planner's use of hash join plans.
extra_desc |
context | user
vartype | bool
source | default
min_val |
max_val |
enumvals |
boot_val | on
reset_val | on
sourcefile |
sourceline |
3.修改引數值
3.1全域性修改pg的引數.
postgres=# show work_mem;
-[ record 1 ]-
work_mem | 4mb
postgres=# alter system set work_mem='8mb';
alter system
postgres=# show work_mem;
-[ record 1 ]-
work_mem | 4mb
[postgres@mysql56 pgsql_data]$ cat postgresql.auto.conf
# do not edit this file manually!
# it will be overwritten by alter system command.
work_mem = '8mb'
3.2修改會話級引數
使用set命令,在會話層修改,修改之後將被用於未來的每乙個事務,只對當前會話有效
postgres=# set work_mem='16mb';
setpostgres=# show work_mem;
-[ record 1 ]--
work_mem | 16mb
postgres=# set session work_mem='32mb';
set
3.3新增local關鍵字,只在當前事務中修改,只在當前事務內有效:postgres=# show work_mem;
-[ record 1 ]--
work_mem | 32mb
postgres=# begin;
begin
postgres=# set local work_mem='8mb';
setpostgres=# show work_mem;
-[ record 1 ]-
work_mem | 8mb
postgres=# commit;
commit
postgres=# show work_mem;
-[ record 1 ]--
work_mem | 32mb
postgres=#
4.reset回覆預設值postgres=# show work_mem;
-[ record 1 ]--
work_mem | 32mb
postgres=# reset work_mem;
reset
postgres=# show work_mem;
-[ record 1 ]-
work_mem | 4mb
# reset all回覆所有預設值
5.為特定的資料庫裡的所有的使用者設定引數,例如為test資料庫所有的連線設定work_mem為16mb:postgres=# alter database bluemoon set work_mem='16mb';
alter database
6.為資料庫中的某個特定使用者設定引數.例如為brent使用者,設定work_mem為2mb:postgres=# alter role bluemoon set work_mem='2mb';
alter role
# 資料庫中與使用者粒度為準
7.當前的引數值是從何處指定,可以通過查詢pg_setttings中的source欄位獲取postgres=# select name,setting,source from pg_settings where name='work_mem';
-[ record 1 ]-----
name | work_mem
setting | 4096
source | default
archive_command = 'date=`date +%y%m%d`; dir="/mysqldata/pg/pgarch/$date; (test -d $dir||mkdir -p $dir)&&cp %p $dir/%f"'
# %p代表的是相對目錄$pgdata下的pg_xlog, %f代表的是檔名
PG複製引數
複製引數 流複製 單向複製 級聯複製 雙向複製 下面說流複製的引數 1 傳送伺服器 max wal senders integer 指定來自備用伺服器或流基礎備份客戶端的併發連線的最大數目 即同時運 行 wal 傳送者程序的最大數目 預設值是零,這意味著禁用複製。此引數不能高於max connect...
PG引數調優
修改方式 alter system set configuration parameter 檢視方式 show all show value max connections 預設值是100。fsync 預設值是on,強制把資料同步到磁碟。shared buffers 預設值是24m,決定有多少記憶體...
PG均衡方法
簡單記錄幾條命令 1 設定集群僅支援luminous 或者l之後的 客戶端 ceph osd set require min compat client luminous 或ceph osd set require min compat client luminous yes i really me...