vote up 1 vote down star

Does anyone know if Postgres has a way to display query results "prettily", like how MySQL does when ending a query with \G on the command line? For instance, "select * from sometable\G" as opposed to "select * from sometable;"

Many thanks!

flag

3 Answers

vote up 2 vote down check

I'm not familiar enough with MySQL to know what the \G option does, but based on the documentation it looks like the psql \x option might do what you want.

It's a toggle, though, so you do it before you submit the query.

\x
select * from sometable;
link|flag
vote up 2 vote down

Actually, you can enable \G mysql style formatting on a per-query basis in psql by putting the following in ~/.psqlrc:

\set G '\\set QUIET 1\\x\\g\\x\\set QUIET 0'

You can then use :G at the end of a query in the psql client the same as you would \G at the end of a query in the mysql client:

pagila=# select * from foo limit 1;
 id | uniq | val |       val_ts        
----+------+-----+---------------------
  1 |    1 |   3 | 2007-07-03 00:00:00
(1 row)

Time: 11.481 ms
pagila=# select * from foo limit 1 :G
-[ RECORD 1 ]---------------
id     | 1
uniq   | 1
val    | 3
val_ts | 2007-07-03 00:00:00
link|flag
vote up 1 vote down

You can toggle psql into extended mode with \x before you run a command, but you can't do it on a command by command basis like you can in mysql.

link|flag

Your Answer

Get an OpenID
or
never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.