问题
When using Psql in Linux, if the result of my SQL query contains many columns or long strings of data, it will wrap the initial view and only once I scroll to the side will it stop wrapping and show each row on a separate line.
I've tried various \pset options such as format unaligned, format aligned, format wrapped, columns 0, columns 1000, but none seemed to fully stop wrapping unless I generate static output to a file.
How can I set it to never wrap the output while still being scrollable and showing the result using the default ascii table format?
回答1:
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.
回答2:
To disable the wrapped output of the select query.
\pset pager on and \pset pager off to switch back to the older output view.
回答3:
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.
回答4:
probably you should use aligned format for output:
\pset format aligned
You can check all available formats to fit your needs:
\pset format TAB
aligned html latex-longtable unaligned
asciidoc latex troff-ms wrapped
Also you should check PAGER configured value in your environment
来源:https://stackoverflow.com/questions/39850860/disable-wrapping-in-psql-output