psql -U postgres
psql <<EOF
do $$
<<block>>
begin
alter table zdgd add column aaa date;
create table z2 (id int);
raise info 'ds';
exception when others then
raise notice 'Message --> % %', SQLERRM, SQLSTATE;
exit block;
raise info 'dsd';
end;
$$ language 'plpgsql'
EOF
答案 0 :(得分:0)
要将raise
“结果”保存到文件,请使用STDERR
重定向2>
,
像这样:
MacBook-Air:~ vao$ psql db 2>/tmp/so <<EOF
> do \$\$
> begin
> raise notice '%', 'blah';
> end;
> \$\$
> EOF
Timing is on.
Pager usage is off.
DO
Time: 9.057 ms
(显然>
是EOF标记,不是DO语句的一部分
并检查:
MacBook-Air:~ vao$ cat /tmp/so
NOTICE: blah