最近、pgAdmin IIIを長時間使用した後、pgAdmin 4をインストールしました。 RAISE NOTICEでplpgsql関数を実行した後、メッセージの下に何も表示されていないことに気付きました。私はhttps://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.htmlに行って、やってみました:plpgsql -pgAdmin 4はRAISEメッセージを表示しません(例:NOTICE)
set client_min_messages = 'NOTICE';
はまた、DEBUGのさまざまなレベルに設定してみましたが、それでも何も現れません。通知はpgAdmin IIIを使用して接続したときに表示されるので、私が見ていない2つの違いがあると思いました。
CREATE FUNCTION somefunc() RETURNS integer AS $$
<<outerblock>>
DECLARE
quantity integer := 30;
BEGIN
RAISE NOTICE 'Quantity here is %', quantity; -- Prints 30
quantity := 50;
--
-- Create a subblock
--
DECLARE
quantity integer := 80;
BEGIN
RAISE NOTICE 'Quantity here is %', quantity; -- Prints 80
RAISE NOTICE 'Outer quantity here is %', outerblock.quantity; -- Prints 50
END;
RAISE NOTICE 'Quantity here is %', quantity; -- Prints 50
RETURN quantity;
END;
$$ LANGUAGE plpgsql;
をpgAdminでIIIにおいて、予想される通知が発生している:
注意:数量を
場合、誰かが私はこれをテストするためのPostgresの例関数の1つを試み、尋ねますPL/pgSQL関数somefunc()6行目:RAISE 注意:ここでの数量は80 です。CONTEXT:PL/pgSQL関数somefunc()行14 at RAISE 注意:ここでの外積は50です。CONTEXT:RAISE 通知でPL/pgSQLの関数somefunc()行15:14 MS:RAISE
総クエリ実行時にPL/pgSQLの関数somefunc()行18:ここで数量は50 CONTEXTあります。 1行が取得されました。
お寄せいただきありがとうございます。
この問題は、osxのバージョン1.1で確認できます。私はosxバージョン(Herokuに接続するときに非アクティブなdbsをフィルタリングできないこと)にも他の問題があることを知っています。私は、この質問が彼らのチームとの問題としてログに記録されることでより効果的になると信じています。 – dwsmall