用entity framework 撈資料庫,要搭配sql profiler 的工具,監看最終EF 寫出來的SQL 語法有沒有問題。但是PostgreSQL 似乎沒有類似SQL Server 的SQL Profiler 工具這種,網路上只有找到付費的工具,最後幸好有找到內建功能,可以達到相同的功能
要先去postgresql.conf 設定檔開啟 pg_stat_statements 功能
shared_preload_libraries = 'pg_stat_statements'
並在最下面設定有關pg_stat_statments 的相關參數
https://www.postgresql.org/docs/current/pgstatstatements.html
在 F.32.4. Configuration Parameters可以找到參數的解釋
重開資料庫之後,再使用以下指令開啟該功能
CREATE EXTENSION pg_stat_statements;
簡單的用法如下:
-- 撈出最近下的SQL
SELECT * from pg_stat_statements;
-- 清除紀錄
SELECT pg_stat_statements_reset();
References:
https://experienceleague.adobe.com/docs/experience-cloud-kcs/kbarticles/KA-14829.html?lang=zh-Hant
https://www.postgresql.org/docs/current/pgstatstatements.html