Disable wrapping in Psql output

☆樱花仙子☆ 提交于 2019-12-03 14:38:13

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!