Disable wrapping in Psql output

The default pager for psql is less. Then for no wrapped lines must be use less -S. PAGER="less -S" psql is a good aproach. But inside psql you can use

\setenv PAGER 'less -S'

To disable the wrapped output of the select query.

\pset pager on and \pset pager off to switch back to the older output view.


less's -F or -S flag will causes \d some_table to not show any output in some cases.

-F or --quit-if-one-screen
    Causes less to automatically exit if the entire file can be 
    displayed on the first screen.

-S or --chop-long-lines
    Causes lines longer than the screen width to be chopped rather than folded. 
    That is, the portion of a long line that does not fit in the screen width is 
    not shown. The default is to fold long lines; that is, display the remainder 
    on the next line.

Use them like this:

PAGER="less -S" psql

Seems safer at the inconvenience of having to manually exit less.


Psql uses a system viewer to show its output in the console. In bash it likely uses less for the scrollable/page-able features it provides. To use a different viewer or use different settings, you just need to set the PAGER environment variable.

Running psql to use less with the -S or --chop-long-lines option seemed to work for me:

PAGER="less -S" psql

You can also enable this feature while viewing output in less by typing -S and Enter.