DBeaver + Postgres:调试功能打印到输出/控制台

时间:2018-07-22 18:34:58

标签: debugging stored-procedures postgresql-10 dbeaver

使用DBeaver调试Postgres存储过程时,是否可以打印到控制台窗口或输出窗口?如果是这样...如何?谢谢!

2 个答案:

答案 0 :(得分:1)

该选项在DBeaver中不可用。您可以使用某些付费软件来调试SP和功能。虽然您可以使用pgAdmin来调试是否具有“ SuperUser”特权。

答案 1 :(得分:0)

您可以使用名为PrintOut的表和名为message的列来调试可怜的人的方式:

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; $$

提示代码中没有任何注释,请在从dBeaver执行时将其全部选中

SQL创建序列,表和时间戳记

-- 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表以查看调试消息。