I have encountered two unrelated flaws in the psql table output.
First, when using unaligned vertical mode (\a \x on), there is always an
empty line after the last record. This also means that an empty result
set prints an empty line, instead of nothing.
Second, when using aligned vertical mode (\x on), an empty result set
prints "(No rows)". That's fine, but there is no way to turn this off.
I intuitively attempted to use \t (tuples only), but that had no
effect. \t doesn't really have a meaning in vertical mode, because the
field names are always printed, but I think it could/should have the
effect of shutting off footer lines.
Patch for both issues attached.