问题
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