"David G. Johnston" <david.g.johns...@gmail.com> writes: > On Fri, Mar 31, 2023 at 8:10 AM Zhang Mingli <zmlpostg...@gmail.com> wrote: >> When I exec a sql SELECT INTO without columns or * by mistake, it succeeds:
> Yes, a table may have zero columns by design. Yup, we've allowed that for some time now; see the compatibility comments at the bottom of the SELECT man page. psql's display of zero-column results is a bit weird, which maybe somebody should fix sometime: regression=# select from generate_series(1,4); -- (4 rows) I'd expect four blank lines there. Expanded format is even less sane: regression=# \x Expanded display is on. regression=# select from generate_series(1,4); (4 rows) ISTM that should produce [ RECORD 1 ] [ RECORD 2 ] [ RECORD 3 ] [ RECORD 4 ] and no "(4 rows)" footer, because \x mode doesn't normally print that. This is all just cosmetic of course, but it's still confusing. regards, tom lane