While working on a patch, I noticed this pre-existing behavior, which seems to be new since v11, maybe due to changes to SRF.
|postgres=# SELECT pg_ls_dir('.') LIMIT 1; |WARNING: 1 temporary files and directories not closed at end-of-transaction |pg_ls_dir | pg_dynshmem |postgres=# SELECT pg_ls_waldir() LIMIT 1; |WARNING: 1 temporary files and directories not closed at end-of-transaction |-[ RECORD 1 ]+------------------------------------------------------------- |pg_ls_waldir | (00000001000031920000007B,16777216,"2020-03-08 03:50:34-07") Note, that doesn't happen with "SELECT * FROM". I'm not sure what the solution is to that, but my patch was going to make it worse rather than better for pg_ls_tmpdir. -- Justin