How to set default display mode in psql

巧了我就是萌 提交于 2021-02-06 06:54:26

问题


Almost every psql query comes out an illegible mess if not preceded by display configuration commands such as \x auto. Typing this manually for each psql instance is annoying.

Expanded display is used automatically.

Is there any way to configure a better default display? Or perhaps the answer is to use a more advanced interactive terminal?


回答1:


Use .psqlrc to set defaults.

For the specific case of \x, newer psql versions (9.3, I think, but it might just be the 9.4 pre-release) can automatically switch to expanded output mode when the rows are too wide to fit on a line. From \?:

\x [on|off|auto] toggle expanded output (currently off)

So I suggest putting \x auto in your .psqlrc, rather than forcing it to on.




回答2:


It should also be noted that the psql command line option -x or --expanded is the same as using \x from within.


psql command-line options:

-P expanded=auto
--pset expanded=auto
-x
--expanded

within the psql shell:

\x



回答3:


There is an option of -x but it does not do the job for me as I am using COPY to send output to a file. Without copy "-x" works well!

So here is what I have done to read:

# psql -U postgres -o /tmp/output_file_name.txt <<EOF
\x
SELECT * FROM pg_stat_activity;
EOF

Expanded display is on.

One can morph the above to whatever he/she needs to do. One can also do the same with an input file.




回答4:


For me I add -q to turn that off for my psql command e.g.

psql postgresql://u:p@h:5432/db  -q            -c 'select 1'
#    connection string           turn it off   query


来源:https://stackoverflow.com/questions/20923534/how-to-set-default-display-mode-in-psql

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