Do blocks support transaction control? - Mailing list pgsql-docs

From PG Doc comments form
Subject Do blocks support transaction control?
Date
Msg-id 166394003436.654.15293085988078557076@wrigleys.postgresql.org
Whole thread Raw
Responses Re: Do blocks support transaction control?  (Laurenz Albe <laurenz.albe@cybertec.at>)
List pgsql-docs
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/14/sql-do.html
Description:

Apparently now DO blocks support COMMIT; - which make them more like
procedures than functions.

Tried it with:

create table z (a int4, b int4);
insert into z (a,b) select i, i from generate_Series(1,10) i;
do $$
declare
begin
update z set b = 2;
commit;
perform pg_sleep(120);
end;
$$ language plpgsql;

And while it was running, in another psql sessions, I:

1. could see b= 2
2. could update any of the rows in z.

Is it documented anywhere? DO docs say that do is like function, which it
doesn't seem to be?

pgsql-docs by date:

Previous
From: Tom Lane
Date:
Subject: Re: Documentation on pgdump(1) uses "regular expression" instead of "psql pattern"
Next
From: PG Doc comments form
Date:
Subject: How to access a database in the pgadmin UI