若您需對已有Function(函數)進行開發或調試,可以安裝pldbgapi外掛程式並使用PL/pgSQL的調試功能,根據需求設定條件、程式斷點、變數值等輕鬆實現。
功能介紹
在AnalyticDB PostgreSQL版中,PL/pgSQL是一種用於編寫預存程序和使用者自訂函數(UDF)的擴充語言,它結合了SQL的資料查詢和資料處理能力,補充了過程式控制制和編程特性,允許使用者使用變數、條件、迴圈、異常處理等來實現複雜的邏輯和操作。
pldbgapi外掛程式結合PL/pgSQL功能可用於調試,即類似使用GDB(GNU Debugger)調試C語言程式,可以設定程式斷點,進行單步調試,顯示變數運行值等。使用pldbgapi外掛程式的PL/pgSQL功能可以使Function的開發、調試變得簡便。
注意事項
操作步驟
安裝pldbgapi外掛程式:請您在AnalyticDB for PostgreSQL執行個體外掛程式管理中安裝pldbgapi外掛程式。具體操作,請參見安裝、升級與卸載外掛程式。
登入AnalyticDB PostgreSQL版資料庫,建立用於PL/pgSQL調試的Function。本文Function樣本如下。
CREATE OR REPLACE FUNCTION add_numbers(a int, b int) RETURNS NUMERIC AS $$ DECLARE t1_b_avg NUMERIC; BEGIN --DROP TABLE t1; CREATE TABLE t1 (a int, b int, c int, d int); RAISE NOTICE 'Finish CREATE '; FOR i IN 1..10 LOOP INSERT INTO t1 VALUES (i, i, i, i); END LOOP; RAISE NOTICE 'Finish INSERT '; SELECT avg(t1.b) INTO t1_b_avg FROM t1 LIMIT 1; RAISE NOTICE 'Finish SELECT: avg=[%] ', t1_b_avg; DROP TABLE t1; RETURN a + b + t1_b_avg; END; $$ LANGUAGE plpgsql;
查詢表資料,驗證Function可用。
SELECT add_numbers(1, 3);
開啟pgAdmin,單擊
。在Register-Server頁面的General頁簽,設定Server名稱,如
test
。在Register-Server頁面的Connection頁簽,填寫如下參數,並單擊Save完成Server建立。
參數
描述
Host name/address
AnalyticDB PostgreSQL版執行個體的外網地址。詳細資料,請參見管理外網地址。
Port
AnalyticDB PostgreSQL版執行個體的連接埠號碼。
Maintenace database
固定為postgres。
Username
AnalyticDB PostgreSQL版執行個體的帳號。
Password
帳號密碼。
在左側Servers列表中,在目標Servers中單擊
定位到待調試的Function。按右鍵待調試的Function,並選擇
。在Debugger頁面,設定函數輸入參數,並單擊Debug。本文樣本設定Name為a和b的值為2,且a不為空白。
在調試地區,單擊左上方調試按鈕。
調試結束後,可在調試地區下方的Messages和Result頁簽查看調試結果。
Messages頁簽:顯示Function運行過程中的文本輸出。
Result頁簽:顯示Function執行完成後的傳回值。