{"kind": "psql", "major": "18", "item": {"slug": "cmd-63", "name": "\\c", "name_zh": "", "category": "Connections and sessions", "summary": "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.", "aliases": ["\\c"], "content_hash": "9981d1e7b9bd32a2290dd0b63a27f1cb740fff5868fb6e7a2fd9a405f32f6c58", "versions": {"10": {"facts": [{"label": "Client", "value": "psql 10.23"}, {"label": "Case-sensitive spelling", "value": "\\c"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-63/?v=10", "text": "\\c"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=10", "text": "\\connect"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\c", "related": [{"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=10", "label": "\\connect"}, {"url": "/wiki/tool/psql/?v=10", "label": "psql command-line options and complete manual"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/10/postgresql-10-A4.pdf", "bytes": 12631706, "pages": 2591, "sha256": "34497ab9efb45c5bdf1bd11b9016b5451354feb462fa029cf74557a5fa5fbbc1", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/10/postgresql-10-US.pdf", "bytes": 12531684, "pages": 2724, "sha256": "429cc7133ddf4f97c560aa466dc9caea4b718721a8321e293357037cf0af4733", "built_at": "2026-09-26"}}, "tree": "10", "index": "index.html", "major": "10", "pages": 1085, "release": "10.23", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "svg_assets": 0, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea", "evidence_kind": "English manual and source declarations", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sources": [{"url": "/docs/10/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "10.23 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "9e11fe3148cb8c085808f632ed972aa4514332a67758a083a080169101eeb7a4"}], "sections": [], "modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "description": ["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 33.1.1 . If no arguments are given, a new connection is made using the same parameters as before."], "manual_html": "<div><dl class=\"variablelist\"><dt><span class=\"term\"><code class=\"literal\">\\c</code> or <code class=\"literal\">\\connect [ -reuse-previous=<em class=\"replaceable\"><code>on|off</code></em> ] [ <em class=\"replaceable\"><code>dbname</code></em> [ <em class=\"replaceable\"><code>username</code></em> ] [ <em class=\"replaceable\"><code>host</code></em> ] [ <em class=\"replaceable\"><code>port</code></em> ] | <em class=\"replaceable\"><code>conninfo</code></em> ]</code></span></dt><dd>\n<p>Establishes a new connection to a <span class=\"productname\">PostgreSQL</span> 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 <em class=\"replaceable\"><code>conninfo</code></em> connection string as detailed in <a class=\"xref\" href=\"/docs/10/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"33.1.1.\u00a0Connection Strings\">Section\u00a033.1.1</a>. If no arguments are given, a new connection is made using the same parameters as before.</p>\n<p>Specifying any of <em class=\"replaceable\"><code>dbname</code></em>, <em class=\"replaceable\"><code>username</code></em>, <em class=\"replaceable\"><code>host</code></em> or <em class=\"replaceable\"><code>port</code></em> as <code class=\"literal\">-</code> is equivalent to omitting that parameter.</p>\n<p>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 <em class=\"replaceable\"><code>sslmode</code></em>. By default, parameters are re-used in the positional syntax, but not when a <em class=\"replaceable\"><code>conninfo</code></em> string is given. Passing a first argument of <code class=\"literal\">-reuse-previous=on</code> or <code class=\"literal\">-reuse-previous=off</code> overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the <em class=\"replaceable\"><code>conninfo</code></em> string is taken from the existing connection's parameters. An exception is that if the <em class=\"replaceable\"><code>host</code></em> setting is changed from its previous value using the positional syntax, any <em class=\"replaceable\"><code>hostaddr</code></em> setting 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 <span class=\"application\">libpq</span> default is used.</p>\n<p>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 <span class=\"application\">psql</span> is in interactive mode. But when executing a non-interactive script, processing will immediately stop with an error. 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.</p>\n<p>Examples:</p>\n<pre class=\"programlisting\">=&gt; \\c mydb myuser host.dom 6432\n=&gt; \\c service=foo\n=&gt; \\c \"host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable\"\n=&gt; \\c -reuse-previous=on sslmode=require    -- changes only sslmode\n=&gt; \\c postgresql://tom@localhost/mydb?application_name=myapp\n</pre></dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "comparison_data": {"modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "definition": "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 33.1.1 . If no arguments are given, a new connection is made using the same parameters as before. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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, processing will immediately stop with an error. 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. 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"}, "comparison_hash": "5c1d4ccb79fe84126da8ab0301eca25f48b9cae902a295c50aea462d3e486332"}, "11": {"facts": [{"label": "Client", "value": "psql 11.22"}, {"label": "Case-sensitive spelling", "value": "\\c"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-63/?v=11", "text": "\\c"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=11", "text": "\\connect"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\c", "related": [{"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=11", "label": "\\connect"}, {"url": "/wiki/tool/psql/?v=11", "label": "psql command-line options and complete manual"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/11/postgresql-11-A4.pdf", "bytes": 13057499, "pages": 2732, "sha256": "41d75855e610d0d9b8802b87dc5b080bef8d7e91c7cf69401fbf8d3cf801b4b5", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/11/postgresql-11-US.pdf", "bytes": 12961189, "pages": 2883, "sha256": "6a8899ef36935a5b7ed2b436207564a567a4ef1eb1c2200195876b8de4d4fa30", "built_at": "2026-09-26"}}, "tree": "11", "index": "index.html", "major": "11", "pages": 1125, "release": "11.22", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "svg_assets": 0, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f", "evidence_kind": "English manual and source declarations", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sources": [{"url": "/docs/11/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "11.22 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "32c4d489e91e59715de2f7c3264fcccab3dd1eca54673dbfeac61304b0c54d4d"}], "sections": [], "modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "description": ["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 34.1.1 . If no arguments are given, a new connection is made using the same parameters as before."], "manual_html": "<div><dl class=\"variablelist\"><dt><span class=\"term\"><code class=\"literal\">\\c</code> or <code class=\"literal\">\\connect [ -reuse-previous=<em class=\"replaceable\"><code>on|off</code></em> ] [ <em class=\"replaceable\"><code>dbname</code></em> [ <em class=\"replaceable\"><code>username</code></em> ] [ <em class=\"replaceable\"><code>host</code></em> ] [ <em class=\"replaceable\"><code>port</code></em> ] | <em class=\"replaceable\"><code>conninfo</code></em> ]</code></span></dt><dd>\n<p>Establishes a new connection to a <span class=\"productname\">PostgreSQL</span> 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 <em class=\"replaceable\"><code>conninfo</code></em> connection string as detailed in <a class=\"xref\" href=\"/docs/11/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"34.1.1.\u00a0Connection Strings\">Section\u00a034.1.1</a>. If no arguments are given, a new connection is made using the same parameters as before.</p>\n<p>Specifying any of <em class=\"replaceable\"><code>dbname</code></em>, <em class=\"replaceable\"><code>username</code></em>, <em class=\"replaceable\"><code>host</code></em> or <em class=\"replaceable\"><code>port</code></em> as <code class=\"literal\">-</code> is equivalent to omitting that parameter.</p>\n<p>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 <em class=\"replaceable\"><code>sslmode</code></em>. By default, parameters are re-used in the positional syntax, but not when a <em class=\"replaceable\"><code>conninfo</code></em> string is given. Passing a first argument of <code class=\"literal\">-reuse-previous=on</code> or <code class=\"literal\">-reuse-previous=off</code> overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the <em class=\"replaceable\"><code>conninfo</code></em> string is taken from the existing connection's parameters. An exception is that if the <em class=\"replaceable\"><code>host</code></em> setting is changed from its previous value using the positional syntax, any <em class=\"replaceable\"><code>hostaddr</code></em> setting 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 <span class=\"application\">libpq</span> default is used.</p>\n<p>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 <span class=\"application\">psql</span> is in interactive mode. But when executing a non-interactive script, processing will immediately stop with an error. 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.</p>\n<p>Examples:</p>\n<pre class=\"programlisting\">=&gt; \\c mydb myuser host.dom 6432\n=&gt; \\c service=foo\n=&gt; \\c \"host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable\"\n=&gt; \\c -reuse-previous=on sslmode=require    -- changes only sslmode\n=&gt; \\c postgresql://tom@localhost/mydb?application_name=myapp\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "comparison_data": {"modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "definition": "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 34.1.1 . If no arguments are given, a new connection is made using the same parameters as before. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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, processing will immediately stop with an error. 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. 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"}, "comparison_hash": "028b832099a8159cb3573d132c9cac31b676f4ffcb264ad38f8f271c63472ec1"}, "12": {"facts": [{"label": "Client", "value": "psql 12.22"}, {"label": "Case-sensitive spelling", "value": "\\c"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-63/?v=12", "text": "\\c"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=12", "text": "\\connect"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\c", "related": [{"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=12", "label": "\\connect"}, {"url": "/wiki/tool/psql/?v=12", "label": "psql command-line options and complete manual"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/12/postgresql-12-A4.pdf", "bytes": 13424351, "pages": 2803, "sha256": "7422cf53fd1939e7a3d2925231a88b0330e468afa5393627cac0ff86158a0621", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/12/postgresql-12-US.pdf", "bytes": 13322565, "pages": 2958, "sha256": "51f3b04e72907fc38512685946223452ea65f84419c60c66241dfa3396035e77", "built_at": "2026-09-26"}}, "tree": "12", "index": "index.html", "major": "12", "pages": 1131, "release": "12.22", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "svg_assets": 2, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4", "evidence_kind": "English manual and source declarations", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sources": [{"url": "/docs/12/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "12.22 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "a5cec5a456a98610e98d1f1959d96ce57c8413bb392f0f5d6720fc561bb63627"}], "sections": [], "modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "description": ["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 33.1.1 . If no arguments are given, a new connection is made using the same parameters as before."], "manual_html": "<div><dl class=\"variablelist\"><dt><span class=\"term\"><code class=\"literal\">\\c</code> or <code class=\"literal\">\\connect [ -reuse-previous=<em class=\"replaceable\"><code>on|off</code></em> ] [ <em class=\"replaceable\"><code>dbname</code></em> [ <em class=\"replaceable\"><code>username</code></em> ] [ <em class=\"replaceable\"><code>host</code></em> ] [ <em class=\"replaceable\"><code>port</code></em> ] | <em class=\"replaceable\"><code>conninfo</code></em> ]</code></span></dt><dd>\n<p>Establishes a new connection to a <span class=\"productname\">PostgreSQL</span> 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 <em class=\"replaceable\"><code>conninfo</code></em> connection string as detailed in <a class=\"xref\" href=\"/docs/12/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"33.1.1.\u00a0Connection Strings\">Section\u00a033.1.1</a>. If no arguments are given, a new connection is made using the same parameters as before.</p>\n<p>Specifying any of <em class=\"replaceable\"><code>dbname</code></em>, <em class=\"replaceable\"><code>username</code></em>, <em class=\"replaceable\"><code>host</code></em> or <em class=\"replaceable\"><code>port</code></em> as <code class=\"literal\">-</code> is equivalent to omitting that parameter.</p>\n<p>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 <em class=\"replaceable\"><code>sslmode</code></em>. By default, parameters are re-used in the positional syntax, but not when a <em class=\"replaceable\"><code>conninfo</code></em> string is given. Passing a first argument of <code class=\"literal\">-reuse-previous=on</code> or <code class=\"literal\">-reuse-previous=off</code> overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the <em class=\"replaceable\"><code>conninfo</code></em> string is taken from the existing connection's parameters. An exception is that if the <em class=\"replaceable\"><code>host</code></em> setting is changed from its previous value using the positional syntax, any <em class=\"replaceable\"><code>hostaddr</code></em> setting 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 <span class=\"application\">libpq</span> default is used.</p>\n<p>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 <span class=\"application\">psql</span> is in interactive mode. But when executing a non-interactive script, processing will immediately stop with an error. 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.</p>\n<p>Examples:</p>\n<pre class=\"programlisting\">=&gt; \\c mydb myuser host.dom 6432\n=&gt; \\c service=foo\n=&gt; \\c \"host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable\"\n=&gt; \\c -reuse-previous=on sslmode=require    -- changes only sslmode\n=&gt; \\c postgresql://tom@localhost/mydb?application_name=myapp\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "comparison_data": {"modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "definition": "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 33.1.1 . If no arguments are given, a new connection is made using the same parameters as before. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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, processing will immediately stop with an error. 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. 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"}, "comparison_hash": "5c1d4ccb79fe84126da8ab0301eca25f48b9cae902a295c50aea462d3e486332"}, "13": {"facts": [{"label": "Client", "value": "psql 13.23"}, {"label": "Case-sensitive spelling", "value": "\\c"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-63/?v=13", "text": "\\c"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=13", "text": "\\connect"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\c", "related": [{"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=13", "label": "\\connect"}, {"url": "/wiki/tool/psql/?v=13", "label": "psql command-line options and complete manual"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/13/postgresql-13-A4.pdf", "bytes": 13843239, "pages": 2826, "sha256": "171cc09f90936dbc1cbd503a98ff07ae72ea58ab9771ff051313f1217737799c", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/13/postgresql-13-US.pdf", "bytes": 13739572, "pages": 2984, "sha256": "48d09c6e197d9db4220f41afe83efe848a8661b1b168d3b89419751ecaf6c24d", "built_at": "2026-09-26"}}, "tree": "13", "index": "index.html", "major": "13", "pages": 1139, "release": "13.23", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6", "evidence_kind": "English manual and source declarations", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sources": [{"url": "/docs/13/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "13.23 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "30347083b7a58da020d968643e2479d2dfb534191d4493d454603ca53db151b0"}], "sections": [], "modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "description": ["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 33.1.1 . If no arguments are given, a new connection is made using the same parameters as before."], "manual_html": "<div><dl class=\"variablelist\"><dt><span class=\"term\"><code class=\"literal\">\\c</code> or <code class=\"literal\">\\connect [ -reuse-previous=<em class=\"replaceable\"><code>on|off</code></em> ] [ <em class=\"replaceable\"><code>dbname</code></em> [ <em class=\"replaceable\"><code>username</code></em> ] [ <em class=\"replaceable\"><code>host</code></em> ] [ <em class=\"replaceable\"><code>port</code></em> ] | <em class=\"replaceable\"><code>conninfo</code></em> ]</code></span></dt><dd>\n<p>Establishes a new connection to a <span class=\"productname\">PostgreSQL</span> 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 <em class=\"replaceable\"><code>conninfo</code></em> connection string as detailed in <a class=\"xref\" href=\"/docs/13/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"33.1.1.\u00a0Connection Strings\">Section\u00a033.1.1</a>. If no arguments are given, a new connection is made using the same parameters as before.</p>\n<p>Specifying any of <em class=\"replaceable\"><code>dbname</code></em>, <em class=\"replaceable\"><code>username</code></em>, <em class=\"replaceable\"><code>host</code></em> or <em class=\"replaceable\"><code>port</code></em> as <code class=\"literal\">-</code> is equivalent to omitting that parameter.</p>\n<p>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 <em class=\"replaceable\"><code>sslmode</code></em>. By default, parameters are re-used in the positional syntax, but not when a <em class=\"replaceable\"><code>conninfo</code></em> string is given. Passing a first argument of <code class=\"literal\">-reuse-previous=on</code> or <code class=\"literal\">-reuse-previous=off</code> overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the <em class=\"replaceable\"><code>conninfo</code></em> string is taken from the existing connection's parameters. An exception is that if the <em class=\"replaceable\"><code>host</code></em> setting is changed from its previous value using the positional syntax, any <em class=\"replaceable\"><code>hostaddr</code></em> setting 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 <span class=\"application\">libpq</span> default is used.</p>\n<p>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 <span class=\"application\">psql</span> is in interactive mode. But when executing a non-interactive script, processing will immediately stop with an error. 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.</p>\n<p>Examples:</p>\n<pre class=\"programlisting\">=&gt; \\c mydb myuser host.dom 6432\n=&gt; \\c service=foo\n=&gt; \\c \"host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable\"\n=&gt; \\c -reuse-previous=on sslmode=require    -- changes only sslmode\n=&gt; \\c postgresql://tom@localhost/mydb?application_name=myapp\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "comparison_data": {"modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "definition": "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 33.1.1 . If no arguments are given, a new connection is made using the same parameters as before. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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, processing will immediately stop with an error. 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. 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"}, "comparison_hash": "5c1d4ccb79fe84126da8ab0301eca25f48b9cae902a295c50aea462d3e486332"}, "14": {"facts": [{"label": "Client", "value": "psql 14.24"}, {"label": "Case-sensitive spelling", "value": "\\c"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-63/?v=14", "text": "\\c"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=14", "text": "\\connect"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\c", "related": [{"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=14", "label": "\\connect"}, {"url": "/wiki/tool/psql/?v=14", "label": "psql command-line options and complete manual"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/14/postgresql-14-A4.pdf", "bytes": 14354704, "pages": 2944, "sha256": "8bc6b9dd7b246888bb77f0a5e8c39a2eae52e9926569832669c7d1600becb27c", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/14/postgresql-14-US.pdf", "bytes": 14242178, "pages": 3102, "sha256": "b7ecb5a5f62d8b9f73a69e25a7d26ba285373bc53168a553bff7b77955506db4", "built_at": "2026-09-26"}}, "tree": "14", "index": "index.html", "major": "14", "pages": 1158, "release": "14.24", "source_url": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "revision": "588700d46356d8837c77c7c0a4e71e645fe6535983b8f1830aa8f2e4e41c40ae", "evidence_kind": "English manual and source declarations", "source_sha256": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sources": [{"url": "/docs/14/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "14.24 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "8da20abaee171c53c05658cfb2580dea645070f40bad6b46a845d710ad74c3ae"}], "sections": [], "modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "description": ["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 34.1.1 . If no arguments are given, a new connection is made using the same parameters as before."], "manual_html": "<div><dl class=\"variablelist\"><dt><span class=\"term\"><code class=\"literal\">\\c</code> or <code class=\"literal\">\\connect [ -reuse-previous=<em class=\"replaceable\"><code>on|off</code></em> ] [ <em class=\"replaceable\"><code>dbname</code></em> [ <em class=\"replaceable\"><code>username</code></em> ] [ <em class=\"replaceable\"><code>host</code></em> ] [ <em class=\"replaceable\"><code>port</code></em> ] | <em class=\"replaceable\"><code>conninfo</code></em> ]</code></span></dt><dd>\n<p>Establishes a new connection to a <span class=\"productname\">PostgreSQL</span> 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 <em class=\"replaceable\"><code>conninfo</code></em> connection string as detailed in <a class=\"xref\" href=\"/docs/14/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"34.1.1.\u00a0Connection Strings\">Section\u00a034.1.1</a>. If no arguments are given, a new connection is made using the same parameters as before.</p>\n<p>Specifying any of <em class=\"replaceable\"><code>dbname</code></em>, <em class=\"replaceable\"><code>username</code></em>, <em class=\"replaceable\"><code>host</code></em> or <em class=\"replaceable\"><code>port</code></em> as <code class=\"literal\">-</code> is equivalent to omitting that parameter.</p>\n<p>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 <em class=\"replaceable\"><code>sslmode</code></em>. By default, parameters are re-used in the positional syntax, but not when a <em class=\"replaceable\"><code>conninfo</code></em> string is given. Passing a first argument of <code class=\"literal\">-reuse-previous=on</code> or <code class=\"literal\">-reuse-previous=off</code> overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the <em class=\"replaceable\"><code>conninfo</code></em> string is taken from the existing connection's parameters. An exception is that if the <em class=\"replaceable\"><code>host</code></em> setting is changed from its previous value using the positional syntax, any <em class=\"replaceable\"><code>hostaddr</code></em> setting 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 <span class=\"application\">libpq</span> default is used.</p>\n<p>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 <span class=\"application\">psql</span> 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed <code class=\"literal\">\\connect</code> to be re-used.</p>\n<p>Examples:</p>\n<pre class=\"programlisting\">=&gt; \\c mydb myuser host.dom 6432\n=&gt; \\c service=foo\n=&gt; \\c \"host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable\"\n=&gt; \\c -reuse-previous=on sslmode=require    -- changes only sslmode\n=&gt; \\c postgresql://tom@localhost/mydb?application_name=myapp\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "comparison_data": {"modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "definition": "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 34.1.1 . If no arguments are given, a new connection is made using the same parameters as before. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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 \\connect command 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 \\connect command 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 \\connect failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed \\connect to 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"}, "comparison_hash": "56cc0417fd6916690d667c7c519d912882062f7664fec05503a28ab729585ccf"}, "15": {"facts": [{"label": "Client", "value": "psql 15.19"}, {"label": "Case-sensitive spelling", "value": "\\c"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-63/?v=15", "text": "\\c"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=15", "text": "\\connect"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\c", "related": [{"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=15", "label": "\\connect"}, {"url": "/wiki/tool/psql/?v=15", "label": "psql command-line options and complete manual"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/15/postgresql-15-A4.pdf", "bytes": 14609140, "pages": 2987, "sha256": "66228564a4d16efb47d6a914085716ecfe22ca1566db56bc7c3d82f790646d72", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/15/postgresql-15-US.pdf", "bytes": 14495690, "pages": 3153, "sha256": "645a498c2390d47a6223ec74770631185807a19c484edb0fc5a295d9f460bc02", "built_at": "2026-09-26"}}, "tree": "15", "index": "index.html", "major": "15", "pages": 1168, "release": "15.19", "source_url": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "revision": "6af958c6520151fc7697d56e0616b03fb00522c4568158674d452ae0644ba545", "evidence_kind": "English manual and source declarations", "source_sha256": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sources": [{"url": "/docs/15/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "15.19 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "cb07228edb4914a53530afca316fd700a250cc062af2d5a74d24add93afbd0c8"}], "sections": [], "modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "description": ["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 34.1.1 . If no arguments are given, a new connection is made using the same parameters as before."], "manual_html": "<div><dl class=\"variablelist\"><dt><span class=\"term\"><code class=\"literal\">\\c</code> or <code class=\"literal\">\\connect [ -reuse-previous=<em class=\"replaceable\"><code>on|off</code></em> ] [ <em class=\"replaceable\"><code>dbname</code></em> [ <em class=\"replaceable\"><code>username</code></em> ] [ <em class=\"replaceable\"><code>host</code></em> ] [ <em class=\"replaceable\"><code>port</code></em> ] | <em class=\"replaceable\"><code>conninfo</code></em> ]</code></span></dt><dd>\n<p>Establishes a new connection to a <span class=\"productname\">PostgreSQL</span> 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 <em class=\"replaceable\"><code>conninfo</code></em> connection string as detailed in <a class=\"xref\" href=\"/docs/15/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"34.1.1.\u00a0Connection Strings\">Section\u00a034.1.1</a>. If no arguments are given, a new connection is made using the same parameters as before.</p>\n<p>Specifying any of <em class=\"replaceable\"><code>dbname</code></em>, <em class=\"replaceable\"><code>username</code></em>, <em class=\"replaceable\"><code>host</code></em> or <em class=\"replaceable\"><code>port</code></em> as <code class=\"literal\">-</code> is equivalent to omitting that parameter.</p>\n<p>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 <em class=\"replaceable\"><code>sslmode</code></em>. By default, parameters are re-used in the positional syntax, but not when a <em class=\"replaceable\"><code>conninfo</code></em> string is given. Passing a first argument of <code class=\"literal\">-reuse-previous=on</code> or <code class=\"literal\">-reuse-previous=off</code> overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the <em class=\"replaceable\"><code>conninfo</code></em> string is taken from the existing connection's parameters. An exception is that if the <em class=\"replaceable\"><code>host</code></em> setting is changed from its previous value using the positional syntax, any <em class=\"replaceable\"><code>hostaddr</code></em> setting 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 <span class=\"application\">libpq</span> default is used.</p>\n<p>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 <span class=\"application\">psql</span> 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed <code class=\"literal\">\\connect</code> to be re-used.</p>\n<p>Examples:</p>\n<pre class=\"programlisting\">=&gt; \\c mydb myuser host.dom 6432\n=&gt; \\c service=foo\n=&gt; \\c \"host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable\"\n=&gt; \\c -reuse-previous=on sslmode=require    -- changes only sslmode\n=&gt; \\c postgresql://tom@localhost/mydb?application_name=myapp\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "comparison_data": {"modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "definition": "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 34.1.1 . If no arguments are given, a new connection is made using the same parameters as before. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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 \\connect command 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 \\connect command 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 \\connect failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed \\connect to 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"}, "comparison_hash": "56cc0417fd6916690d667c7c519d912882062f7664fec05503a28ab729585ccf"}, "16": {"facts": [{"label": "Client", "value": "psql 16.15"}, {"label": "Case-sensitive spelling", "value": "\\c"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-63/?v=16", "text": "\\c"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=16", "text": "\\connect"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\c", "related": [{"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=16", "label": "\\connect"}, {"url": "/wiki/tool/psql/?v=16", "label": "psql command-line options and complete manual"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/16/postgresql-16-A4.pdf", "bytes": 15282337, "pages": 3055, "sha256": "4bb6c1f63deedac98736d8c4c7bc0fad0ac24e85b07e21ee10411872f06afd06", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/16/postgresql-16-US.pdf", "bytes": 15164148, "pages": 3220, "sha256": "5b6b6166c89991199e144bb0ae34c17a5f29826251dbf19db1abc0df3a3e771b", "built_at": "2026-09-26"}}, "tree": "16", "index": "index.html", "major": "16", "pages": 1169, "release": "16.15", "source_url": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "revision": "3c21e58b35318021716440e67bb8bafd392b6a2b965a244d90e9e33c99e0bdef", "evidence_kind": "English manual and source declarations", "source_sha256": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sources": [{"url": "/docs/16/app-psql.html#APP-PSQL-META-COMMAND-C-LC", "file": "app-psql.html", "label": "16.15 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-C-LC", "sha256": "add25957a1dfc97db721f2958782be186ab90dc0f0a47c4b720b2b6c26172493"}], "sections": [], "modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "description": ["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 34.1.1 . If no arguments are given, a new connection is made using the same parameters as before."], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-C-LC\"><span class=\"term\"><code class=\"literal\">\\c</code> or <code class=\"literal\">\\connect [ -reuse-previous=<em class=\"replaceable\"><code>on|off</code></em> ] [ <em class=\"replaceable\"><code>dbname</code></em> [ <em class=\"replaceable\"><code>username</code></em> ] [ <em class=\"replaceable\"><code>host</code></em> ] [ <em class=\"replaceable\"><code>port</code></em> ] | <em class=\"replaceable\"><code>conninfo</code></em> ]</code></span> </dt><dd>\n<p>Establishes a new connection to a <span class=\"productname\">PostgreSQL</span> 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 <em class=\"replaceable\"><code>conninfo</code></em> connection string as detailed in <a class=\"xref\" href=\"/docs/16/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"34.1.1.\u00a0Connection Strings\">Section\u00a034.1.1</a>. If no arguments are given, a new connection is made using the same parameters as before.</p>\n<p>Specifying any of <em class=\"replaceable\"><code>dbname</code></em>, <em class=\"replaceable\"><code>username</code></em>, <em class=\"replaceable\"><code>host</code></em> or <em class=\"replaceable\"><code>port</code></em> as <code class=\"literal\">-</code> is equivalent to omitting that parameter.</p>\n<p>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 <em class=\"replaceable\"><code>sslmode</code></em>. By default, parameters are re-used in the positional syntax, but not when a <em class=\"replaceable\"><code>conninfo</code></em> string is given. Passing a first argument of <code class=\"literal\">-reuse-previous=on</code> or <code class=\"literal\">-reuse-previous=off</code> overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the <em class=\"replaceable\"><code>conninfo</code></em> string is taken from the existing connection's parameters. An exception is that if the <em class=\"replaceable\"><code>host</code></em> setting is changed from its previous value using the positional syntax, any <em class=\"replaceable\"><code>hostaddr</code></em> setting 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 <span class=\"application\">libpq</span> default is used.</p>\n<p>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 <span class=\"application\">psql</span> 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed <code class=\"literal\">\\connect</code> to be re-used.</p>\n<p>Examples:</p>\n<pre class=\"programlisting\">=&gt; \\c mydb myuser host.dom 6432\n=&gt; \\c service=foo\n=&gt; \\c \"host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable\"\n=&gt; \\c -reuse-previous=on sslmode=require    -- changes only sslmode\n=&gt; \\c postgresql://tom@localhost/mydb?application_name=myapp\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-C-LC", "comparison_data": {"modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "definition": "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 34.1.1 . If no arguments are given, a new connection is made using the same parameters as before. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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 \\connect command 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 \\connect command 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 \\connect failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed \\connect to 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"}, "comparison_hash": "56cc0417fd6916690d667c7c519d912882062f7664fec05503a28ab729585ccf"}, "17": {"facts": [{"label": "Client", "value": "psql 17.11"}, {"label": "Case-sensitive spelling", "value": "\\c"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-63/?v=17", "text": "\\c"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=17", "text": "\\connect"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\c", "related": [{"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=17", "label": "\\connect"}, {"url": "/wiki/tool/psql/?v=17", "label": "psql command-line options and complete manual"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/17/postgresql-17-A4.pdf", "bytes": 15521293, "pages": 3099, "sha256": "1991354df0dc89e70ec39328c28988ef8b19c6a93671dab3893650b63e9f4e36", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/17/postgresql-17-US.pdf", "bytes": 15398150, "pages": 3270, "sha256": "07696c8f38abf31babf22d2db337093936e7c472d2af36d050b000c49bbcf52c", "built_at": "2026-09-26"}}, "tree": "17", "index": "index.html", "major": "17", "pages": 1143, "release": "17.11", "source_url": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "revision": "58419c9b0dd42cb34c8d53695bb025a7e582edf55ccd4c5bcb1c2c7c71a37487", "evidence_kind": "English manual and source declarations", "source_sha256": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sources": [{"url": "/docs/17/app-psql.html#APP-PSQL-META-COMMAND-C-LC", "file": "app-psql.html", "label": "17.11 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-C-LC", "sha256": "04c77661f1c96a64e91a27313542c34aff0c7d2a94e350ed98c6f9f35700629b"}], "sections": [], "modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "description": ["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."], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-C-LC\"><span class=\"term\"><code class=\"literal\">\\c</code> or <code class=\"literal\">\\connect [ -reuse-previous=<em class=\"replaceable\"><code>on|off</code></em> ] [ <em class=\"replaceable\"><code>dbname</code></em> [ <em class=\"replaceable\"><code>username</code></em> ] [ <em class=\"replaceable\"><code>host</code></em> ] [ <em class=\"replaceable\"><code>port</code></em> ] | <em class=\"replaceable\"><code>conninfo</code></em> ]</code></span> </dt><dd>\n<p>Establishes a new connection to a <span class=\"productname\">PostgreSQL</span> 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 <em class=\"replaceable\"><code>conninfo</code></em> connection string as detailed in <a class=\"xref\" href=\"/docs/17/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">Section\u00a032.1.1</a>. If no arguments are given, a new connection is made using the same parameters as before.</p>\n<p>Specifying any of <em class=\"replaceable\"><code>dbname</code></em>, <em class=\"replaceable\"><code>username</code></em>, <em class=\"replaceable\"><code>host</code></em> or <em class=\"replaceable\"><code>port</code></em> as <code class=\"literal\">-</code> is equivalent to omitting that parameter.</p>\n<p>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 <em class=\"replaceable\"><code>sslmode</code></em>. By default, parameters are re-used in the positional syntax, but not when a <em class=\"replaceable\"><code>conninfo</code></em> string is given. Passing a first argument of <code class=\"literal\">-reuse-previous=on</code> or <code class=\"literal\">-reuse-previous=off</code> overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the <em class=\"replaceable\"><code>conninfo</code></em> string is taken from the existing connection's parameters. An exception is that if the <em class=\"replaceable\"><code>host</code></em> setting is changed from its previous value using the positional syntax, any <em class=\"replaceable\"><code>hostaddr</code></em> setting 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 <span class=\"application\">libpq</span> default is used.</p>\n<p>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 <span class=\"application\">psql</span> 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed <code class=\"literal\">\\connect</code> to be re-used.</p>\n<p>Examples:</p>\n<pre class=\"programlisting\">=&gt; \\c mydb myuser host.dom 6432\n=&gt; \\c service=foo\n=&gt; \\c \"host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable\"\n=&gt; \\c -reuse-previous=on sslmode=require    -- changes only sslmode\n=&gt; \\c postgresql://tom@localhost/mydb?application_name=myapp\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-C-LC", "comparison_data": {"modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "definition": "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. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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 \\connect command 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 \\connect command 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 \\connect failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed \\connect to 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"}, "comparison_hash": "7eec058f2a8c37a10165d730115ffc7243eb563659ce0c6d0f320323d2903d6c"}, "18": {"facts": [{"label": "Client", "value": "psql 18.6"}, {"label": "Case-sensitive spelling", "value": "\\c"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-63/?v=18", "text": "\\c"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=18", "text": "\\connect"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\c", "related": [{"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=18", "label": "\\connect"}, {"url": "/wiki/tool/psql/?v=18", "label": "psql command-line options and complete manual"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/18/postgresql-18-A4.pdf", "bytes": 15865106, "pages": 3154, "sha256": "19512c405da53f9f7fcf0abba359223aa65f021be025bf3411381918f92e3190", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/18/postgresql-18-US.pdf", "bytes": 15748059, "pages": 3328, "sha256": "facbe6c229e598b872d3d98bef53308f46e06746006fa4590de9a7de9dd46319", "built_at": "2026-09-26"}}, "tree": "18", "index": "index.html", "major": "18", "pages": 1148, "release": "18.6", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "revision": "ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8", "evidence_kind": "English manual and source declarations", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/app-psql.html#APP-PSQL-META-COMMAND-C-LC", "file": "app-psql.html", "label": "18.6 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-C-LC", "sha256": "fa2a1d39294b8854318e82e93f71272c645ed88150ecc2786c28902c3f32782c"}], "sections": [], "modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "description": ["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."], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-C-LC\"><span class=\"term\"><code class=\"literal\">\\c</code> or <code class=\"literal\">\\connect [ -reuse-previous=<em class=\"replaceable\"><code>on|off</code></em> ] [ <em class=\"replaceable\"><code>dbname</code></em> [ <em class=\"replaceable\"><code>username</code></em> ] [ <em class=\"replaceable\"><code>host</code></em> ] [ <em class=\"replaceable\"><code>port</code></em> ] | <em class=\"replaceable\"><code>conninfo</code></em> ]</code></span> </dt><dd>\n<p>Establishes a new connection to a <span class=\"productname\">PostgreSQL</span> 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 <em class=\"replaceable\"><code>conninfo</code></em> connection string as detailed in <a class=\"xref\" href=\"/docs/18/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">Section\u00a032.1.1</a>. If no arguments are given, a new connection is made using the same parameters as before.</p>\n<p>Specifying any of <em class=\"replaceable\"><code>dbname</code></em>, <em class=\"replaceable\"><code>username</code></em>, <em class=\"replaceable\"><code>host</code></em> or <em class=\"replaceable\"><code>port</code></em> as <code class=\"literal\">-</code> is equivalent to omitting that parameter.</p>\n<p>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 <em class=\"replaceable\"><code>sslmode</code></em>. By default, parameters are re-used in the positional syntax, but not when a <em class=\"replaceable\"><code>conninfo</code></em> string is given. Passing a first argument of <code class=\"literal\">-reuse-previous=on</code> or <code class=\"literal\">-reuse-previous=off</code> overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the <em class=\"replaceable\"><code>conninfo</code></em> string is taken from the existing connection's parameters. An exception is that if the <em class=\"replaceable\"><code>host</code></em> setting is changed from its previous value using the positional syntax, any <em class=\"replaceable\"><code>hostaddr</code></em> setting 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 <span class=\"application\">libpq</span> default is used.</p>\n<p>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 <span class=\"application\">psql</span> 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed <code class=\"literal\">\\connect</code> to be re-used.</p>\n<p>Examples:</p>\n<pre class=\"programlisting\">=&gt; \\c mydb myuser host.dom 6432\n=&gt; \\c service=foo\n=&gt; \\c \"host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable\"\n=&gt; \\c -reuse-previous=on sslmode=require    -- changes only sslmode\n=&gt; \\c postgresql://tom@localhost/mydb?application_name=myapp\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-C-LC", "comparison_data": {"modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "definition": "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. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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 \\connect command 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 \\connect command 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 \\connect failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed \\connect to 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"}, "comparison_hash": "7eec058f2a8c37a10165d730115ffc7243eb563659ce0c6d0f320323d2903d6c"}, "19": {"facts": [{"label": "Client", "value": "psql 19beta4"}, {"label": "Case-sensitive spelling", "value": "\\c"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-63/?v=19", "text": "\\c"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=19", "text": "\\connect"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\c", "related": [{"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=19", "label": "\\connect"}, {"url": "/wiki/tool/psql/?v=19", "label": "psql command-line options and complete manual"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "label": "19beta4", "major": "19", "channel": "preview", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/19/postgresql-19-A4.pdf", "bytes": 16064841, "pages": 3052, "sha256": "4dd099e4125c591128fc5f3ebd02178dc24781f9e5ae629f96d67c4c8547427b", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/19/postgresql-19-US.pdf", "bytes": 15974616, "pages": 3225, "sha256": "61971fa857f0956d47341a0388fa6af9ae10acf691d4b2fc009007d384b0342b", "built_at": "2026-09-26"}}, "tree": "19", "index": "index.html", "major": "19", "pages": 1155, "release": "19beta4", "source_url": "https://ftp.postgresql.org/pub/source/v19beta4/postgresql-19beta4.tar.bz2", "svg_assets": 5, "source_mode": "en SGML built with pinned official archive", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "revision": "1bbbbf4133d426f0e4304010688d2984c30fb67df0cc3a61b3e37eb3f6f37833", "evidence_kind": "English manual and source declarations", "source_sha256": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}, "sources": [{"url": "/docs/19/app-psql.html#APP-PSQL-META-COMMAND-C-LC", "file": "app-psql.html", "label": "19beta4 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-C-LC", "sha256": "312975c12d6e4d62aeebcb5e98e7ca795c6d07ecb743b4bc64403dc42bc2a6e9"}], "sections": [], "modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "description": ["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."], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-C-LC\"><span class=\"term\"><code class=\"literal\">\\c</code> or <code class=\"literal\">\\connect [ -reuse-previous=<em class=\"replaceable\"><code>on|off</code></em> ] [ <em class=\"replaceable\"><code>dbname</code></em> [ <em class=\"replaceable\"><code>username</code></em> ] [ <em class=\"replaceable\"><code>host</code></em> ] [ <em class=\"replaceable\"><code>port</code></em> ] | <em class=\"replaceable\"><code>conninfo</code></em> ]</code></span> </dt><dd>\n<p>Establishes a new connection to a <span class=\"productname\">PostgreSQL</span> 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 <em class=\"replaceable\"><code>conninfo</code></em> connection string as detailed in <a class=\"xref\" href=\"/docs/19/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">Section\u00a032.1.1</a>. If no arguments are given, a new connection is made using the same parameters as before.</p>\n<p>Specifying any of <em class=\"replaceable\"><code>dbname</code></em>, <em class=\"replaceable\"><code>username</code></em>, <em class=\"replaceable\"><code>host</code></em> or <em class=\"replaceable\"><code>port</code></em> as <code class=\"literal\">-</code> is equivalent to omitting that parameter.</p>\n<p>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 <em class=\"replaceable\"><code>sslmode</code></em>. By default, parameters are re-used in the positional syntax, but not when a <em class=\"replaceable\"><code>conninfo</code></em> string is given. Passing a first argument of <code class=\"literal\">-reuse-previous=on</code> or <code class=\"literal\">-reuse-previous=off</code> overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the <em class=\"replaceable\"><code>conninfo</code></em> string is taken from the existing connection's parameters. An exception is that if the <em class=\"replaceable\"><code>host</code></em> setting is changed from its previous value using the positional syntax, any <em class=\"replaceable\"><code>hostaddr</code></em> setting 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 <span class=\"application\">libpq</span> default is used.</p>\n<p>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 <span class=\"application\">psql</span> 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed <code class=\"literal\">\\connect</code> to be re-used.</p>\n<p>Examples:</p>\n<pre class=\"programlisting\">=&gt; \\c mydb myuser host.dom 6432\n=&gt; \\c service=foo\n=&gt; \\c \"host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable\"\n=&gt; \\c -reuse-previous=on sslmode=require    -- changes only sslmode\n=&gt; \\c postgresql://tom@localhost/mydb?application_name=myapp\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-C-LC", "comparison_data": {"modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "definition": "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. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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 \\connect command 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 \\connect command 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 \\connect failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed \\connect to 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"}, "comparison_hash": "7eec058f2a8c37a10165d730115ffc7243eb563659ce0c6d0f320323d2903d6c"}, "20": {"facts": [{"label": "Client", "value": "psql 20devel"}, {"label": "Case-sensitive spelling", "value": "\\c"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-63/?v=20", "text": "\\c"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=20", "text": "\\connect"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\c", "related": [{"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=20", "label": "\\connect"}, {"url": "/wiki/tool/psql/?v=20", "label": "psql command-line options and complete manual"}], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/20/postgresql-20-A4.pdf", "bytes": 16030631, "pages": 3052, "sha256": "bd5d82c0ce38fc18f92a0447818a91a193a261776bca1c37564bf9a683e177d0", "built_at": "2026-09-28"}, "US": {"url": "/files/documentation/pdf/20/postgresql-20-US.pdf", "bytes": 15936613, "pages": 3223, "sha256": "d97d9e0db479a02f4234b175f50fcad70c3661619afc8d6df9b9437882e3c299", "built_at": "2026-09-28"}}, "tree": "0", "index": "index.html", "major": "20", "pages": 1156, "release": "20devel", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "svg_assets": 6, "source_mode": "en SGML built with pinned official archive", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41", "source_snapshot_utc": "26-Sep-2026 20:22"}, "revision": "2eba5e0fd4c3bffb2803247b6cd537878e9d6ee5a6dfbe3c50ece8b421b80918", "evidence_kind": "English manual and source declarations", "source_sha256": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}, "sources": [{"url": "/docs/devel/app-psql.html#APP-PSQL-META-COMMAND-C-LC", "file": "app-psql.html", "label": "20devel English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-C-LC", "sha256": "6df5f6fbaff7800ae0e4a08a3116090d890a0cdcc02fddc31c1f220725905f87"}], "sections": [], "modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "description": ["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."], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-C-LC\"><span class=\"term\"><code class=\"literal\">\\c</code> or <code class=\"literal\">\\connect [ -reuse-previous=<em class=\"replaceable\"><code>on|off</code></em> ] [ <em class=\"replaceable\"><code>dbname</code></em> [ <em class=\"replaceable\"><code>username</code></em> ] [ <em class=\"replaceable\"><code>host</code></em> ] [ <em class=\"replaceable\"><code>port</code></em> ] | <em class=\"replaceable\"><code>conninfo</code></em> ]</code></span> </dt><dd>\n<p>Establishes a new connection to a <span class=\"productname\">PostgreSQL</span> 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 <em class=\"replaceable\"><code>conninfo</code></em> connection string as detailed in <a class=\"xref\" href=\"/docs/devel/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">Section\u00a032.1.1</a>. If no arguments are given, a new connection is made using the same parameters as before.</p>\n<p>Specifying any of <em class=\"replaceable\"><code>dbname</code></em>, <em class=\"replaceable\"><code>username</code></em>, <em class=\"replaceable\"><code>host</code></em> or <em class=\"replaceable\"><code>port</code></em> as <code class=\"literal\">-</code> is equivalent to omitting that parameter.</p>\n<p>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 <em class=\"replaceable\"><code>sslmode</code></em>. By default, parameters are re-used in the positional syntax, but not when a <em class=\"replaceable\"><code>conninfo</code></em> string is given. Passing a first argument of <code class=\"literal\">-reuse-previous=on</code> or <code class=\"literal\">-reuse-previous=off</code> overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the <em class=\"replaceable\"><code>conninfo</code></em> string is taken from the existing connection's parameters. An exception is that if the <em class=\"replaceable\"><code>host</code></em> setting is changed from its previous value using the positional syntax, any <em class=\"replaceable\"><code>hostaddr</code></em> setting 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 <span class=\"application\">libpq</span> default is used.</p>\n<p>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 <span class=\"application\">psql</span> 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed <code class=\"literal\">\\connect</code> to be re-used.</p>\n<p>Examples:</p>\n<pre class=\"programlisting\">=&gt; \\c mydb myuser host.dom 6432\n=&gt; \\c service=foo\n=&gt; \\c \"host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable\"\n=&gt; \\c -reuse-previous=on sslmode=require    -- changes only sslmode\n=&gt; \\c postgresql://tom@localhost/mydb?application_name=myapp\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-C-LC", "comparison_data": {"modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "definition": "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. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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 \\connect command 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 \\connect command 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 \\connect failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed \\connect to 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"}, "comparison_hash": "7eec058f2a8c37a10165d730115ffc7243eb563659ce0c6d0f320323d2903d6c"}}}, "snapshot": {"facts": [{"label": "Client", "value": "psql 18.6"}, {"label": "Case-sensitive spelling", "value": "\\c"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-63/?v=18", "text": "\\c"}, "modifiers": "None listed in this signature"}, {"command": {"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=18", "text": "\\connect"}, "modifiers": "None listed in this signature"}], "title": "Spellings in this manual definition", "columns": [{"key": "command", "label": "Command"}, {"key": "modifiers", "label": "Documented suffix modifiers"}]}], "command": "\\c", "related": [{"url": "/wiki/psql/cmd-63-6f-6e-6e-65-63-74/?v=18", "label": "\\connect"}, {"url": "/wiki/tool/psql/?v=18", "label": "psql command-line options and complete manual"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/18/postgresql-18-A4.pdf", "bytes": 15865106, "pages": 3154, "sha256": "19512c405da53f9f7fcf0abba359223aa65f021be025bf3411381918f92e3190", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/18/postgresql-18-US.pdf", "bytes": 15748059, "pages": 3328, "sha256": "facbe6c229e598b872d3d98bef53308f46e06746006fa4590de9a7de9dd46319", "built_at": "2026-09-26"}}, "tree": "18", "index": "index.html", "major": "18", "pages": 1148, "release": "18.6", "source_url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "svg_assets": 3, "source_mode": "en SGML built with pinned official archive", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "revision": "ee8d1a3612338fd9adf250730cb640fcc5233b5491337cc00a316a44e3a0b9f8", "evidence_kind": "English manual and source declarations", "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/app-psql.html#APP-PSQL-META-COMMAND-C-LC", "file": "app-psql.html", "label": "18.6 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMAND-C-LC", "sha256": "fa2a1d39294b8854318e82e93f71272c645ed88150ecc2786c28902c3f32782c"}], "sections": [], "modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "description": ["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."], "manual_html": "<div><dl class=\"variablelist\"><dt id=\"APP-PSQL-META-COMMAND-C-LC\"><span class=\"term\"><code class=\"literal\">\\c</code> or <code class=\"literal\">\\connect [ -reuse-previous=<em class=\"replaceable\"><code>on|off</code></em> ] [ <em class=\"replaceable\"><code>dbname</code></em> [ <em class=\"replaceable\"><code>username</code></em> ] [ <em class=\"replaceable\"><code>host</code></em> ] [ <em class=\"replaceable\"><code>port</code></em> ] | <em class=\"replaceable\"><code>conninfo</code></em> ]</code></span> </dt><dd>\n<p>Establishes a new connection to a <span class=\"productname\">PostgreSQL</span> 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 <em class=\"replaceable\"><code>conninfo</code></em> connection string as detailed in <a class=\"xref\" href=\"/docs/18/libpq-connect.html#LIBPQ-CONNSTRING\" title=\"32.1.1.\u00a0Connection Strings\">Section\u00a032.1.1</a>. If no arguments are given, a new connection is made using the same parameters as before.</p>\n<p>Specifying any of <em class=\"replaceable\"><code>dbname</code></em>, <em class=\"replaceable\"><code>username</code></em>, <em class=\"replaceable\"><code>host</code></em> or <em class=\"replaceable\"><code>port</code></em> as <code class=\"literal\">-</code> is equivalent to omitting that parameter.</p>\n<p>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 <em class=\"replaceable\"><code>sslmode</code></em>. By default, parameters are re-used in the positional syntax, but not when a <em class=\"replaceable\"><code>conninfo</code></em> string is given. Passing a first argument of <code class=\"literal\">-reuse-previous=on</code> or <code class=\"literal\">-reuse-previous=off</code> overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the <em class=\"replaceable\"><code>conninfo</code></em> string is taken from the existing connection's parameters. An exception is that if the <em class=\"replaceable\"><code>host</code></em> setting is changed from its previous value using the positional syntax, any <em class=\"replaceable\"><code>hostaddr</code></em> setting 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 <span class=\"application\">libpq</span> default is used.</p>\n<p>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 <span class=\"application\">psql</span> 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> command 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 <code class=\"literal\">\\connect</code> failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed <code class=\"literal\">\\connect</code> to be re-used.</p>\n<p>Examples:</p>\n<pre class=\"programlisting\">=&gt; \\c mydb myuser host.dom 6432\n=&gt; \\c service=foo\n=&gt; \\c \"host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable\"\n=&gt; \\c -reuse-previous=on sslmode=require    -- changes only sslmode\n=&gt; \\c postgresql://tom@localhost/mydb?application_name=myapp\n</pre>\n</dd></dl></div>", "manual_path": "app-psql.html#APP-PSQL-META-COMMAND-C-LC", "comparison_data": {"modifiers": [], "signature": "\\c or \\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]", "spellings": ["\\c", "\\connect"], "definition": "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. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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 \\connect command 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 \\connect command 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 \\connect failure, no parameters are allowed to be re-used later, since the script would likely be expecting the values from the failed \\connect to 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"}, "comparison_hash": "7eec058f2a8c37a10165d730115ffc7243eb563659ce0c6d0f320323d2903d6c"}, "comparison": {"left": "11", "right": "12", "status": "changed", "diff": "--- PostgreSQL 11\n+++ PostgreSQL 12\n@@ -1,5 +1,5 @@\n {\n-  \"definition\": \"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 34.1.1 . If no arguments are given, a new connection is made using the same parameters as before. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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, processing will immediately stop with an error. 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. 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\",\n+  \"definition\": \"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 33.1.1 . If no arguments are given, a new connection is made using the same parameters as before. Specifying any of dbname , username , host or port as - 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 a conninfo string is given. Passing a first argument of -reuse-previous=on or -reuse-previous=off overrides that default. If parameters are re-used, then any parameter not explicitly specified as a positional parameter or in the conninfo string is taken from the existing connection's parameters. An exception is that if the host setting is changed from its previous value using the positional syntax, any hostaddr setting 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, processing will immediately stop with an error. 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. 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\",\n   \"modifiers\": [],\n   \"signature\": \"\\\\c or \\\\connect [ -reuse-previous= on|off ] [ dbname [ username ] [ host ] [ port ] | conninfo ]\",\n   \"spellings\": ["}}