On Thu, Jan 25, 2024 at 12:29 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Ron Johnson <ronljohnsonjr@gmail.com> writes: > EXPLAIN SELECT works inside a FOR loop, but only the first line of the > EXPLAIN output is stored. What's the magic sauce for seeing the whole > EXPLAIN output?
The usual way is to run a FOR loop over the lines of output. Quick & dirty example:
regression=# do $$ declare ln text; begin for ln in explain select * from int8_tbl join int4_tbl on q1=f1 loop raise notice '%', ln; end loop; end $$; NOTICE: Hash Join (cost=1.11..2.23 rows=5 width=20) NOTICE: Hash Cond: (int8_tbl.q1 = int4_tbl.f1) NOTICE: -> Seq Scan on int8_tbl (cost=0.00..1.05 rows=5 width=16) NOTICE: -> Hash (cost=1.05..1.05 rows=5 width=4) NOTICE: -> Seq Scan on int4_tbl (cost=0.00..1.05 rows=5 width=4) DO