> I use \o [file] to get output to a file but it only records the
> command. For example:
>
> \o vac.out
> vacuum verbose analyze;
>
> I end up with one row "VACUUM" in vac.out. I want the entire output that I
> see on the screen to go to a file. How is this done?
>
I am not sure how to do this entirely within psql, but you can always
use the vacuumdb command or the -c flag to psql...
vacuumdb --verbose --analyze -d databasename >& output.txt
psql -c 'vacuum verbose analyze' databasename >& output.txt
Note that you must redirect both stdout and stderr to your file
in order to see everything. That seems to be why \o is not catching
the output that you want.