plpgsql - pgAdmin 4不显示RAISE消息(例如,NOTICE)

时间:2017-02-01 22:29:21

标签: postgresql plpgsql pgadmin-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';

还尝试设置各种级别的DEBUG,但仍然没有出现。当使用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函数somefunc()第15行在RAISE   注意:此处的数量为50   语境:PL / pgSQL函数somefunc()第18行在RAISE

     

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

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

1 个答案:

答案 0 :(得分:2)

我能够正确地看到它,您是否登记了“消息”标签?

参考给出的截图。

enter image description here

enter image description here

  

更新

最近,他们修复了一些与在pgAdmin4中显示消息相关的错误。 因此,它将在 pgAdmin4版本1.7 中提供。

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