Display select results vertically in psql, as is done by MySQL's \G

Drew Noakes picture Drew Noakes · Mar 14, 2014 · Viewed 30.9k times · Source

In MySQL, you can terminate a select query with \G (as opposed to \g) to display the results vertically:

select * from foo \G

***************
 id: 1
bar: Hello
***************
 id: 2
bar: World

How can one do the same thing for PostgreSQL using psql?

Answer

Drew Noakes picture Drew Noakes · Mar 14, 2014

You can do this by enabling Expanded display.

Toggle this setting via \x. For example:

# \x
Expanded display is on.
# \x
Expanded display is off.

When on, results are shown in tabular (vertical) form:

-[ RECORD 1 ]
id  | 1
bar | Hello
-[ RECORD 2 ]
id  | 2
bar | World

You can run this for a single command by using the \x\g\x suffix to toggle expanded display on, run the query, then toggle it off again.

select * from foo \x\g\x