PostgreSQL psql terminal command

183,697

Solution 1

These are not command line args. Run psql. Manage to log into database (so pass the hostname, port, user and database if needed). And then write it in the psql program.

Example (below are two commands, write the first one, press enter, wait for psql to login, write the second):

psql -h host -p 5900 -U username database
\pset format aligned

Solution 2

Use \x Example from postgres manual:

    postgres=# \x
    postgres=# SELECT * FROM pg_stat_statements ORDER BY total_time DESC LIMIT 3;
    -[ RECORD 1 ]------------------------------------------------------------
    userid     | 10
    dbid       | 63781
    query      | UPDATE branches SET bbalance = bbalance + $1 WHERE bid = $2;
    calls      | 3000
    total_time | 20.716706
    rows       | 3000
    -[ RECORD 2 ]------------------------------------------------------------
    userid     | 10
    dbid       | 63781
    query      | UPDATE tellers SET tbalance = tbalance + $1 WHERE tid = $2;
    calls      | 3000
    total_time | 17.1107649999999
    rows       | 3000
    -[ RECORD 3 ]------------------------------------------------------------
    userid     | 10
    dbid       | 63781
    query      | UPDATE accounts SET abalance = abalance + $1 WHERE aid = $2;
    calls      | 3000
    total_time | 0.645601
    rows       | 3000

Solution 3

psql --pset=format=FORMAT

Great for executing queries from command line, e.g.

psql --pset=format=unaligned -c "select bandanavalue from bandana where bandanakey = 'atlassian.confluence.settings';"
Share:
183,697
IAmYourFaja
Author by

IAmYourFaja

my father is a principal at burgoyne intnl and got me this job programming lisp and development. I aspire to unittesting with a concentration in mobile platforms.

Updated on July 09, 2022

Comments

  • IAmYourFaja
    IAmYourFaja almost 2 years

    I'm trying to get psql to format nicely and am following the docs here. Right now, whenever I do a query on tables with lots of columns, no matter how big I make my screen each line overflows into the next line and producing a whole screen of unreadable junk.

    The docs (link is above) say there's a way to align columns nicely for more readable output.

    Normally, to start psql, I just type:

    psql

    and hit Enter. Now I'm trying:

    psql \pset format aligned

    And getting an error:

    could not change directory to "/root"
    psql: warning: extra command-line argument "aligned" ingored
    psql: FATAL: Indent authentication failed for user "format"
    

    Any ideas as to how I could get these command-line args to work for me?

  • Mani
    Mani almost 8 years
    note the arrangement of keywords , try to write it in the same order and it works :) - Thanks dear
  • Evan
    Evan over 5 years
    For my installation of PostgreSQL 9.6.10, I have to use psql -h host -p port -d database -U user -W, with the settings being case sensitive.