標籤:
如果編譯資料庫時使用了gmake world和gmake install-world, 所有的外掛程式都會被安裝, 那麼就不需要再次安裝了.
外掛程式目錄
contrib
進入要安裝的外掛程式目錄, 例如
cd contrib/pg_freespacemap
把pg_config命令加入到預設路徑中
export PATH=/opt/pgsql/bin:$PATH
gmake clean
gmake
gmake install -- 這一步會將產生的動態庫檔案拷貝到pgsql的lib目錄, 同時拷貝產生的擴充檔案到
$PGHOME/share/extension中.
安裝完後, 到資料庫中以超級使用者執行create extension
create extension pg_freespacemap;
根據第三方外掛程式提供的安裝說明進行安裝
通用的安裝方法
1. 把第三方外掛程式的源碼目錄拷貝到contrib目錄中
2. 把pg_config加入到PATH中
3. gmake clean; gmake; gmake install
4. create extension xxx; 對於一些老版本的外掛程式, 可能沒有改成擴充外掛程式的安裝模式. 那麼需要到對應的庫中直接執行SQL.
第三方外掛程式的安裝和使用
可到git.postgresql.org下載第三方外掛程式源碼
PostgreSQL 特性的測試可以參照PostgreSQL源碼中提供的測試指令碼進行測試
src/test/regress/sql
auto_explain外掛程式的使用
auto_explain的目的是給資料庫中執行的SQL語句一個執行時間閾值, 超過閾值的話, 記錄下當時這個SQL的執行計畫到日誌中, 便於未來查看這個SQL執行計畫有沒有問題.
export PAHT=/home/pg93/pgsql/bin:$PATH
which pg_config
cd /opt/soft_bak/postgresql-9.3.4/contrib/auto_explain/
gmake clean
gmake
gmake install
1. 修改設定檔postgresql.conf:
shared_preload_libraries = ‘auto_explain‘
新增如下配置:
auto_explain.log_min_duration = 0 # 為了方便查看,這裡把時間設定為0,所有SQL都會被auto_explain捕獲輸出.實際使用的時候適當調大。如 100ms
auto_explain.log_analyze = true
# 以下可選
auto_explain.log_verbose = true
auto_explain.log_buffers = true
auto_explain.log_nested_statements = true
重新啟動PostgreSQL資料庫
pg_stat_statements 安裝
在postgreSQL資料庫安裝完之後
編輯postgresql.conf
shared_preload_libraries=‘pg_stat_statements,auto_explain’;
pg_stat_statements.max = 1000
pg_stat_statements.tarck =all
auto_explain.log_min_duration = ‘10s’
auto_explain.log_analyze = false
auto_explain.log_verbose = false
auto_explain.log_nested_statements = true
(for auto_explain;cd conttrib make ;make install)
cd /contrib/pg_stat_statemetns
make
make install
重新啟動資料庫
Pg_ctl –D ../data start
連結資料庫
./psql
create extension pg_stat_statements;
select pg_stat_statements_reset();
然後是SQL操作
\d pg_stat_statements
select query,total_time,calls,from pg_stat_statements order by 3 desc limit 2;
即出現SQL語句的執行時間和執行次數;
(auto_explain的結果可以通過日誌查看)
搜尋
複製
PostgreSQL原始碼中外掛程式的使用