2013-11-25 503 views
19

SQL Server Management Studioには何も似ていないことを認識しています。そのため、良い古いprintfデバッグを使用するよう精神的に準備されています。postgresqlストアドプロシージャをデバッグする方法は?

唯一の質問は、ストアドプロシージャから "printf"を実行する方法です。

+1

'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 –

+1

答えとして手配してください。興味深いことに、私はpgAdminを使用していますが、デバッガがあったことに気づいていませんでした。確認してみるよ。ありがとう。 – mark

答えて

24

「印刷」のメッセージに、あなたがPL/pgSQL関数内からraise noticeを使用することができますするためには、クライアントが適切なレベルに「かclient_min_messages」の値を設定している必要があることを
http://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html

注意「通知」を受け取ります。

pgAdminでは、機能のためのデバッガがあります。http://www.pgadmin.org/docs/1.18/debugger.html

を(しかし、私はpgAdminでは使用しないように私はそれを使用したことがありません)。

5

信頼性の高い「RAISE」コマンドに加えて、これまで使用していないサードパーティのツールもいくつかあります。

+0

Postgres Plus Advanced Serverは本当にクールなものですが、ライセンスを購入する必要があり、そのライセンスは個人にとって非常に高価なので、私にとっては範囲外です。 – mark

7

実際のデバッグ機能を探しているようです。 PostgreSQLは実際にPostgreSQL 8.3で始まるこの機能を導入しました。

Debugger

それは幻想だと完全にPostgreSQLは、それがキャッチフレーズ「世界で最も先進的なオープンソースデータベース」だまで生きることができます。走るのはちょっと面倒ですが、theselinksがあなたを始めてくれるかもしれません。有効にすると、PGAdminの便利な右クリックメニューからブレークポイントを設定したり、入力を&の入力を定義することができます。

+0

宣言されていないvar値を評価するかどうか知ることができますか?選択肢からのように... –

関連する問題