PostgreSQL原始碼中外掛程式的使用

來源:互聯網
上載者:User

標籤:

如果編譯資料庫時使用了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原始碼中外掛程式的使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.