PostgreSQL: PL/pgSQL で 値を画面に表示する


PostgreSQL の PL/pgSQL で、 値を画面に表示する方法を紹介します。 (Oracle PL/SQL では、 DBMS_OUTPUT を使います。)

試した環境

  • クライアント: version 9.6
  • サーバ: version 9.3

方法

RAISE を使います。 RAISE というとエラーを想起させるかもしれませんが、 エラーとは限りません。 エラーを発生させることもできます。

RAISE では次の6種類のメッセージ・エラーを表示することができます(PostgreSQL 9.6.3)。

  • DEBUG
  • LOG
  • INFO
  • NOTICE
  • WARNING
  • EXCEPTION
  • EXCEPTION のみがエラー発生で、 その他はレベルに応じたメッセージ出力です。

    PostgreSQL では、 サーバ内でログに残す最低レベル、 クライアントに通知する最低レベル を設定することができ、 RAISE の後のレベルとサーバの設定値によって、 ログへの記録・クライアントへの通知が変わってきます。 デフォルト(初期設定)では、 ログに残す最低レベルは WARNING、 クライアントに通知する最低レベルは NOTICE です。 各レベルの順はサーバログとクライアント通知では少し異なってきます。

    変数の値を表示する

    変数の値を表示するには、 % を使います。

    SELECT結果を表示する

    1行1カラムのSELECT結果であれば、変数と同じように表示できます。

    SELECTステートメントは括弧で囲まないとエラーが出ます。