4

我最近在使用 pgAdmin III 很长时间后安装了 pgAdmin 4。我注意到在使用 RAISE NOTICE 运行 plpgsql 函数后,Messages 下没有显示任何内容。我去了https://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html并尝试这样做:

set client_min_messages = 'NOTICE';

还尝试设置为各种级别的调试,但仍然没有出现。使用 pgAdmin III 连接时会出现通知,所以我认为两者之间存在一些我没有看到的差异。

如果有人问,我只是尝试了 Postgres 中的一个示例函数来测试它:

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 中,提出了预期的通知:

注意:这里的数量是 30 上下文:PL/pgSQL 函数 somefunc() 第 6 行在 RAISE 注意:这里的数量是 80 上下文:PL/pgSQL 函数 somefunc() 第 14 行在 RAISE 注意:这里的外部数量是 50 上下文:PL/pgSQL function somefunc() line 15 at RAISE 注意:这里的数量是 50 上下文:PL/pgSQL function somefunc() line 18 at RAISE

总查询运行时间:14 毫秒。检索到 1 行。

提前感谢您的任何建议或答案!

4

1 回答 1

3

我能够正确看到它,您是否检查了“消息”选项卡?

请参阅给定的屏幕截图。

在此处输入图像描述

在此处输入图像描述

更新

最近,他们修复了一些与在 pgAdmin4 中显示消息相关的错误。所以它将在pgAdmin4 版本 1.7中可用。

参考:https ://redmine.postgresql.org/issues/2555

于 2017-02-02T07:17:36.590 回答