psql Interactive Commands
psql ?
Connection
\c[onnect] [DBNAME|- USER|- HOST|- PORT|-]
connect to new database (currently "postgres")
\encoding [ENCODING]
show or set client encoding
\password [USERNAME]
securely change the password for a user
\conninfo
display information about current connection
Operating System
\cd [DIR]
change the current working directory
\setenv NAME [VALUE]
set or unset environment variable
\timing [on|off]
toggle timing of commands (currently off)
\! [COMMAND]
execute command in shell or start interactive shell
General
\copyright, show PostgreSQL usage and distribution terms
\g [FILE] or ; execute query (and send results to file or |pipe)
\h [NAME], help on syntax of SQL commands, * for all commands
\q quit psql
Query Buffer
\e [FILE] [LINE], edit the query buffer (or file) with external editor
\ef [FUNCNAME [LINE]] , edit function definition with external editor
\p, show the contents of the query buffer
\r, reset (clear) the query buffer
\w FILE, write query buffer to file
Input/Output
\copy ... perform SQL COPY with data stream to the client host
\echo [STRING], write string to standard output
\i FILE, execute commands from file
\ir FILE, as \i, but relative to location of current script
\o [FILE], send all query results to file or |pipe
\qecho [STRING], write string to query output stream (see \o)
Informational
(options: S = show system objects, + = additional detail)
\d[S+] list tables, views, and sequences
\d[S+] NAME describe table, view, sequence, or index
\da[S] [PATTERN] list aggregates
\db[+] [PATTERN] list tablespaces
\dc[S] [PATTERN] list conversions
\dC [PATTERN] list casts
\dd[S] [PATTERN] show comments on objects
\ddp [PATTERN] list default privileges
\dD[S] [PATTERN] list domains
\det[+] [PATTERN] list foreign tables
\des[+] [PATTERN] list foreign servers
\deu[+] [PATTERN] list user mappings
\dew[+] [PATTERN] list foreign-data wrappers
\df[antw][S+] [PATRN] list [only agg/normal/trigger/window] functions
\dF[+] [PATTERN] list text search configurations
\dFd[+] [PATTERN] list text search dictionaries
\dFp[+] [PATTERN] list text search parsers
\dFt[+] [PATTERN] list text search templates
\dg[+] [PATTERN] list roles
\di[S+] [PATTERN] list indexes
\dl list large objects, same as \lo_list
\dL[S+] [PATTERN] list procedural languages
\dn[S+] [PATTERN] list schemas
\do[S] [PATTERN] list operators
\dO[S+] [PATTERN] list collations
\dp [PATTERN] list table, view, and sequence access privileges
\drds [PATRN1 [PATRN2]] list per-database role settings
\ds[S+] [PATTERN] list sequences
\dt[S+] [PATTERN] list tables
\dT[S+] [PATTERN] list data types
\du[+] [PATTERN] list roles
\dv[S+] [PATTERN] list views
\dE[S+] [PATTERN] list foreign tables
\dx[+] [PATTERN] list extensions
\l[+] list all databases
\sf[+] FUNCNAME show a function's definition
\z [PATTERN] same as \dp, ist table, view, and sequence access privileges
Formatting
\a toggle between unaligned and aligned output mode
\C [STRING] set table title, or unset if none
\f [STRING] show or set field separator for unaligned query
\H output toggle HTML output mode (currently off)
\pset NAME [VALUE]
set table output option
(NAME := {format|border|expanded|fieldsep|fieldsep_zero
numericlocale|recordsep|tuples_only|title|tableattr|pager})
null|
\t [on|off] show only rows (currently off)
\T [STRING] set HTML <table> tag attributes, or unset if none
\x [on|off] toggle expanded output (currently off)