PostgreSQL 以其穩健性和可擴展性而聞名,為開發人員和資料庫管理員提供了多種有用的函式。當中的 file_fdw_handler
、file_fdw_validator
、 pg_stat_statements
、pg_stat_statements_info
和 pg_stat_statements_reset
被視為增強資料庫管理和效能最佳化的寶貴工具。在今天的文章中,我們將學習如何使用這些函式,以及 Navicat 如何協助我們使用這些函式。
檔案函式
PostgreSQL 的外部資料包裝函式(Foreign Data Wrapper,簡稱FDW)功能可以將外部資料來源無縫整合到資料庫中。file_fdw_handler
和 file_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_statements
、pg_stat_statements_info
和 pg_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 PostgreSQL 或 Navicat Premium 16 中展開導覽窗格的「函式」部分來存取上述的函式。
若要執行函式,只需從物件清單中選取它並按一下「執行函式」按鈕:
這將彈出一個對話方塊,你可以在其中輸入參數值:
按一下「確定」按鈕執行函式並檢視結果(或按一下「取消」中止執行):
PostgreSQL 的內建函式,包括 file_fdw_handler
、file_fdw_validator
、pg_stat_statements
、pg_stat_statements_info
和 pg_stat_statements_reset
,在增強資料庫管理和最佳化查詢效能方面起著關鍵作用。透過有效地利用這些函式,開發人員和管理員可以簡化操作流程,並充分運用 PostgreSQL 的功能。