我意識到沒有任何類似於SQL Server Management Studio的東西,所以我在思考準備好使用舊的printf調試。如何調試postgresql存儲過程?
唯一的問題是如何從存儲過程中執行「printf」?
我意識到沒有任何類似於SQL Server Management Studio的東西,所以我在思考準備好使用舊的printf調試。如何調試postgresql存儲過程?
唯一的問題是如何從存儲過程中執行「printf」?
「打印」的消息,你可以使用raise notice
從PL/pgSQL函數中:
http://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html
注意,客戶端必須「client_min_messages」的值,以便已設置到適當的水平,收到「通知」。
pgAdmin的有功能的調試器:http://www.pgadmin.org/docs/1.18/debugger.html
(但我從來沒有使用它,因爲我不使用pgAdmin的)。
除了可信任的命令,還有一些我聽說過的第三方工具,儘管我從未使用它們。
Postgres Plus Advanced Server似乎是一件非常酷的事情,但它對我來說已經不適用了,因爲它需要購買許可證,並且該許可證對於個人來說相當昂貴。 – mark
這聽起來像你正在尋找實際的調試能力。 PostgreSQL實際上引入了從PostgreSQL 8.3開始的這個功能。
這太棒了,完全讓PostgreSQL的辜負它的口號「世界上最先進的開源數據庫」。跑步很麻煩,但theselinks可能會幫助你開始。一旦啓用,它允許您設置斷點或定義輸入&通過PGAdmin中方便的右鍵單擊菜單評估所有功能。
你知道是否有可能評估或找出未聲明的var值?就像從選擇進入... –
'raise notice'(http://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html)將是等效的。但pgAdmin有一個PL/pgSQL的調試器:http://www.pgadmin.org/docs/1.18/debugger.html –
請安排答案,所以我可以信任你。有趣的是,我使用pgAdmin,但沒有注意到它有一個調試器。我會看看。謝謝。 – mark