\connect
Establishes a new connection to a PostgreSQL server. The connection parameters to use can be specified either using a positional syntax (one or more of database name, user, host, and port), or using a conninfo connection string as detailed in Section 32.1.1 . If no arguments are given, a new connection is made using the same parameters as before.
Reading PG 18·Select a recorded version
- Client
- psql 18.7
- Case-sensitive spelling
- \connect
- command
- \connect
- manual path
- app-psql.html#APP-PSQL-META-COMMAND-C-LC
- modifiers
- Unknown
- signature
- \c or \connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]
- spellings
- \c, \connect
Definition PG 18
\cor\connect [ -reuse-previous=on|off] [dbname[username] [host] [port] |conninfo]Establishes a new connection to a PostgreSQL server. The connection parameters to use can be specified either using a positional syntax (one or more of database name, user, host, and port), or using a
conninfoconnection string as detailed in Section 32.1.1. If no arguments are given, a new connection is made using the same parameters as before.Specifying any of
dbname,username,hostorportas-is equivalent to omitting that parameter.The new connection can re-use connection parameters from the previous connection; not only database name, user, host, and port, but other settings such as
sslmode. By default, parameters are re-used in the positional syntax, but not when aconninfostring is given. Passing a first argument of-reuse-previous=onor-reuse-previous=offoverrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in theconninfostring is taken from the existing connection's parameters. An exception is that if thehostsetting is changed from its previous value using the positional syntax, anyhostaddrsetting present in the existing connection's parameters is dropped. Also, any password used for the existing connection will be re-used only if the user, host, and port settings are not changed. When the command neither specifies nor reuses a particular parameter, the libpq default is used.If the new connection is successfully made, the previous connection is closed. If the connection attempt fails (wrong user name, access denied, etc.), the previous connection will be kept if psql is in interactive mode. But when executing a non-interactive script, the old connection is closed and an error is reported. That may or may not terminate the script; if it does not, all database-accessing commands will fail until another
\connectcommand is successfully executed. This distinction was chosen as a user convenience against typos on the one hand, and a safety mechanism that scripts are not accidentally acting on the wrong database on the other hand. Note that whenever a\connectcommand attempts to re-use parameters, the values re-used are those of the last successful connection, not of any failed attempts made subsequently. However, in the case of a non-interactive\connectfailure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed\connectto be re-used.Examples:
=> \c mydb myuser host.dom 6432 => \c service=foo => \c "host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable" => \c -reuse-previous=on sslmode=require -- changes only sslmode => \c postgresql://tom@localhost/mydb?application_name=myapp
Exact case-sensitive spellings
\c\connect
Spellings in this manual definition
Compare versions
Complete source facts
documentation revision
{"inputs":[{"file":"app-psql.html","kind":"same-version-reviewed-manual","locale":"en","sha256":"af50448485df02bdef2b72b8347192ba029c7082b8d0392ecb17db44ad533aaf","version":"18.7"},{"file":"app-psql.html","kind":"same-version-reviewed-manual","locale":"zh-Hans","sha256":"cb475c53a16d9e06358f5e6c9c5649645db92568cfd319f230c62c9f57ae090b","version":"18.7"}],"release":"18.7","runtime_remeasured":false,"source_revision":"pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552"}Source references
Full definition and evidence JSON
Definition sources
center · PostgreSQL 18 · 1b2d62b4845aa46374f2cb680f95d3392322cc8128646992ae4e18d0e7084915
Text language: en · 1b2d62b4845aa46374f2cb680f95d3392322cc8128646992ae4e18d0e7084915