DBeaver + Postgres:调试函数打印到 output/console

DBeaver + Postgres: Debug Function print to output/console

使用 DBeaver 调试 Postgres SQL 时是否可以打印到控制台 window 或输出 window?

如果是这样...怎么做?谢谢!

该选项在 DBeaver 中不可用。您可以使用一些付费软件来调试 SP 和功能。如果您拥有 "SuperUser" 权限,则可以使用 pgAdmin 进行调试。

您可以使用名为 PrintOut 的 Table 和名为消息的列来调试穷人的方式:

do $$
declare 
ppllastActivity date;
BEGIN
SELECT lastactivity into ppllastActivity FROM People WHERE email = 'a@abc.com';

IF COALESCE (ppllastActivity, '1900-01-01') = '1900-01-01' THEN
INSERT INTO printout (message) VALUES ('step 1');
END if;

END; $$

SQL 创建序列,table 和时间戳:

-- DROP SEQUENCE public.printout_id_seq;

CREATE SEQUENCE public.printout_id_seq
    INCREMENT BY 1
    MINVALUE 1
     MAXVALUE 9223372036854775807;
    
-- DROP TABLE public.printout;

CREATE TABLE public.printout (
     id INTEGER DEFAULT NEXTVAL('printout_id_seq') NOT NULL,
     message varchar NOT NULL
);

ALTER TABLE printout ADD COLUMN created_at TIMESTAMP;
ALTER TABLE printout ALTER COLUMN created_at SET DEFAULT now();

然后刷新 PrintOut table 以查看调试消息。

您可以在代码中使用:

RAISE NOTICE 'log value %', value ; 

或其他调试打印并在 DBeaver 的“输出”window 中查看(左侧 sql 编辑器面板底部图标的第二个)