Maybe I'm missing something, but it looks that it could be made to work without adding another boolean.
The tuples only cannot be disabled, because then other parts print number of rows
postgres=# \pset format unaligned Output format is unaligned.
postgres=# select 10 as a, 20 as b; a|b 10|20 (1 row) ----<<<<<
Argh. Too bad.
I'm not at ease with having two bools which nearly mean the opposite one of the other but not exactly... however I'm not sure that there is a simpler way out of this, some exception handling is needed one way or the other, either within the header or within the footer... Maybe the whole topt logic should be reviewed, but that is not the point of this patch.
I don't think so it is not correct - this mean tuples only + header. Probably the best implementation is something three state - all, tuples only, tuples only and header. But it mean much more changes in psql logic - not adequate to size of this patch