Introduction to psql Syntax
When you first start psql, you will be greeted with a brief synopsis of four essential psql slash commands: \h for SQL help, \? for help on psql-specific commands, \g for executing queries and \q for actually exiting psql once you are done.
Every psql-specific command is prefixed by a backslash; hence term "slash command" used above. For a complete list of slash commands and a brief description of each of their functions, type \? into the psql command line, and press enter.
Example 4-2. Listing psql Slash Commands
svin=# \? \a toggle between unaligned and aligned mode \c[onnect] [dbname|- [user]] connect to new database (currently 'svin') \C <title> table title \copy ... perform SQL COPY with data stream to the client machine \copyright show PostgreSQL usage and distribution terms \d <table> describe table (or view, index, sequence) \d{t|i|s|v} list tables/indices/sequences/views \d{p|S|l} list permissions/system tables/lobjects \da list aggregates \dd [object] list comment for table, type, function, or operator \df list functions \do list operators \dT list data types \e [file] edit the current query buffer or [file] with external editor \echo <text> write text to stdout \encoding <encoding> set client encoding \f <sep> change field separator \g [file] send query to backend (and results in [file] or |pipe) \h [cmd] help on syntax of sql commands, * for all commands \H toggle HTML mode (currently off) \i <file> read and execute queries from &ls;file> \l list all databases \lo_export, \lo_import, \lo_list, \lo_unlink large object operations \o [file] send all query results to [file], or |pipe \p show the content of the current query buffer \pset <opt> set table output &ls;opt> = {format|border|expanded|fieldsep| null|recordsep|tuples_only|title|tableattr|pager} \q quit psql \qecho <text> write text to query output stream (see \o) \r reset (clear) the query buffer \s [file] print history or save it in [file] \set <var> <value> set internal variable \t show only rows (currently off) \T <tags> HTML table tags \unset <var> unset (delete) internal variable \w <file> write current query buffer to a <file> \x toggle expanded output (currently off) \z list table access permissions \! [cmd] shell escape or command