Navicat Blog

探索 PostgreSQL 的外部資料包裝函式和統計函式 2024 年 3 月 15 日,由 Robert Gravelle 撰寫

PostgreSQL 以其穩健性和可擴展性而聞名,為開發人員和資料庫管理員提供了多種有用的函式。當中的 file_fdw_handlerfile_fdw_validatorpg_stat_statementspg_stat_statements_infopg_stat_statements_reset 被視為增強資料庫管理和效能最佳化的寶貴工具。在今天的文章中,我們將學習如何使用這些函式,以及 Navicat 如何協助我們使用這些函式。

檔案函式

PostgreSQL 的外部資料包裝函式(Foreign Data Wrapper,簡稱FDW)功能可以將外部資料來源無縫整合到資料庫中。file_fdw_handlerfile_fdw_validator 函式是專門用於處理由檔案支援的外部資料表。

file_fdw_handler 函式作為 PostgreSQL 和外部資料來源之間的介面,允許對位於資料庫外部的檔案執行 SQL 查詢。假設我們要建立一個參考 CSV 檔案(data.csv)的外部資料表(external_data):


        CREATE SERVER file_server FOREIGN DATA WRAPPER file_fdw;

        CREATE FOREIGN TABLE external_data (
            id INT,
            name TEXT,
            age INT
        ) SERVER file_server OPTIONS (filename '/path/to/data.csv');
    

與此同時,file_fdw_validator 函式可以確保在建立外部資料表時提供的選項的完整性。它能驗證指定的檔案是否存在並且是否可存取。例如:


        SELECT file_fdw_validator('filename', '/path/to/data.csv');
    

統計函式

PostgreSQL 的 pg_stat_statements 模組提供了一組用於監控和分析查詢效能的內建函式。其中,pg_stat_statementspg_stat_statements_infopg_stat_statements_reset 對於識別瓶頸和最佳化資料庫效能是不可或缺的。

pg_stat_statements 是一個記錄伺服器執行的 SQL 陳述式統計資訊的模組。它能追蹤每個唯一查詢的執行計數、總運行時間和資源使用量等詳細資訊。若要啟用pg_stat_statements,你需要將其新增至 postgresql.conf 檔案中的 shared_preload_libraries 設定參數:

shared_preload_libraries = 'pg_stat_statements'

重新啟動 PostgreSQL 伺服器後,你可以使用下列命令查詢統計資料:


        SELECT * FROM pg_stat_statements;
    

pg_stat_statements_info 能提供有關 pg_stat_statements 模組的附加資訊,例如版本編號和上次重設時間。你可以執行以下的陳述式查詢它:


        SELECT * FROM pg_stat_statements_info;
    

最後,pg_stat_statements_reset 用於重設由 pg_stat_statements 收集的統計資料,讓你可以重新開始效能監控。只需執行以下命令即可:


        SELECT pg_stat_statements_reset();
    

在 Navicat 中使用 PostgreSQL 的內建函式

我們可以在 Navicat for PostgreSQLNavicat Premium 16 中展開導覽窗格的「函式」部分來存取上述的函式。

PostgreSQL_functions_in_Navicat (113K)

若要執行函式,只需從物件清單中選取它並按一下「執行函式」按鈕:

execute_function_button (62K)

這將彈出一個對話方塊,你可以在其中輸入參數值:

input_parameter_dialog (33K)

按一下「確定」按鈕執行函式並檢視結果(或按一下「取消」中止執行):

pg_stat_statements_results (330K)

PostgreSQL 的內建函式,包括 file_fdw_handlerfile_fdw_validatorpg_stat_statementspg_stat_statements_infopg_stat_statements_reset,在增強資料庫管理和最佳化查詢效能方面起著關鍵作用。透過有效地利用這些函式,開發人員和管理員可以簡化操作流程,並充分運用 PostgreSQL 的功能。

Navicat Blogs
Feed Entries
Blog Archives
Share