# psql command ## General - `\bind` [PARAM]... set query parameters - `\copyright` show PostgreSQL usage and distribution terms - `\crosstabview` [COLUMNS] execute query and display result in crosstab - `\errverbose` show most recent error message at maximum verbosity - `\g` [(OPTIONS)] [FILE] execute query (and send result to file or |pipe); `\g` with no arguments is equivalent to a semicolon - `\gdesc` describe result of query, without executing it - `\gexec` execute query, then execute each value in its result - `\gset` [PREFIX] execute query and store result in psql variables - `\gx` [(OPTIONS)] [FILE] as `\g`, but forces expanded output mode - `\q` quit psql - `\watch` [[i=]SEC] [c=N] [m=MIN] execute query every SEC seconds, up to N times, stop if less than MIN rows are returned ## Help - `\?` [commands] show help on backslash commands - `\?` options show help on psql command-line options - `\?` variables show help on special variables - `\h` [NAME] help on syntax of SQL commands, * for all commands ## Query Buffer - `\e` [FILE] [LINE] edit the query buffer (or file) with external editor - `\ef` [FUNCNAME [LINE]] edit function definition with external editor - `\ev` [VIEWNAME [LINE]] edit view definition with external editor - `\p` show the contents of the query buffer - `\r` reset (clear) the query buffer - `\s` [FILE] display history or save it to file - `\w` FILE write query buffer to file ## Input/Output - `\copy` ... perform SQL COPY with data stream to the client host - `\echo` [-n] [STRING] write string to standard output (-n for no newline) - `\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` [-n] [STRING] write string to \o output stream (-n for no newline) - `\warn` [-n] [STRING] write string to standard error (-n for no newline) ## Conditional - `\if` EXPR begin conditional block - `\elif` EXPR alternative within current conditional block - `\else` final alternative within current conditional block - `\endif` end conditional block ## 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 - \dA[+] [PATTERN] list access methods - \dAc[+] [AMPTRN [TYPEPTRN]] list operator classes - \dAf[+] [AMPTRN [TYPEPTRN]] list operator families - \dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families - \dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families - \db[+] [PATTERN] list tablespaces - \dc[S+] [PATTERN] list conversions - \dconfig[+] [PATTERN] list configuration parameters - \dC[+] [PATTERN] list casts - \dd[S] [PATTERN] show object descriptions not displayed elsewhere - \dD[S+] [PATTERN] list domains - \ddp [PATTERN] list default privileges - \dE[S+] [PATTERN] list foreign tables - \des[+] [PATTERN] list foreign servers - \det[+] [PATTERN] list foreign tables - \deu[+] [PATTERN] list user mappings - \dew[+] [PATTERN] list foreign-data wrappers - \df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]] list [only agg/normal/procedure/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[S+] [PATTERN] list roles - \di[S+] [PATTERN] list indexes - \dl[+] list large objects, same as \lo_list - \dL[S+] [PATTERN] list procedural languages - \dm[S+] [PATTERN] list materialized views - \dn[S+] [PATTERN] list schemas - \do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]] list operators - \dO[S+] [PATTERN] list collations - \dp[S] [PATTERN] list table, view, and sequence access privileges - \dP[itn+] [PATTERN] list [only index/table] partitioned relations [n=nested] - \drds [ROLEPTRN [DBPTRN]] list per-database role settings - \drg[S] [PATTERN] list role grants - \dRp[+] [PATTERN] list replication publications - \dRs[+] [PATTERN] list replication subscriptions - \ds[S+] [PATTERN] list sequences - \dt[S+] [PATTERN] list tables - \dT[S+] [PATTERN] list data types - \du[S+] [PATTERN] list roles - \dv[S+] [PATTERN] list views - \dx[+] [PATTERN] list extensions - \dX [PATTERN] list extended statistics - \dy[+] [PATTERN] list event triggers - \l[+] [PATTERN] list databases - \sf[+] FUNCNAME show a function's definition - \sv[+] VIEWNAME show a view's definition - \z[S] [PATTERN] same as \dp ## Large Objects - \lo_export LOBOID FILE write large object to file - \lo_import FILE [COMMENT] read large object from file - \lo_list[+] list large objects - \lo_unlink LOBOID delete a large object ## 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 output - \H toggle HTML output mode (currently off) - \pset [NAME [VALUE]] set table output option (border|columns|csv_fieldsep|expanded|fieldsep| fieldsep_zero|footer|format|linestyle|null| numericlocale|pager|pager_min_lines|recordsep| recordsep_zero|tableattr|title|tuples_only| unicode_border_linestyle|unicode_column_linestyle| unicode_header_linestyle|xheader_width) - \t [on|off] show only rows (currently off) - \T [STRING] set HTML