web-dev-qa-db-ja.com

postgresqlストアドプロシージャをデバッグする方法

SQL Server Management Studioに似たものは何もないことを理解しているので、古き良きprintfデバッグを使用する心構えができています。

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

29
mark

メッセージを「印刷」するには、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を使用しないため、使用したことがありません)。

31

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

Debugger

それは素晴らしく、PostgreSQLをそのキャッチフレーズ「世界で最も先進的なオープンソースデータベース」に完全に対応させます。実行するのはちょっと面倒ですが、 これらリンク があなたを始めるのに役立つかもしれません。有効にすると、PGAdminの便利な右クリックメニューからブレークポイントを設定したり、入力を定義したり、関数を評価したりできます。 Right click menu

11
Joel B

信頼できるol 'RAISEコマンドとともに、聞いたことのあるサードパーティ製のツールもいくつかありますが、使用したことはありません。

5
bma