psql_no_connect.diff
application/octet-stream
Filename: psql_no_connect.diff
Type: application/octet-stream
Part: 0
Message:
psql --no-connect option
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| src/bin/psql/startup.c | 14 | 1 |
diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
index 5a28b6f713..4efb8038b5 100644
--- a/src/bin/psql/startup.c
+++ b/src/bin/psql/startup.c
@@ -65,6 +65,7 @@ typedef struct SimpleActionList
struct adhoc_opts
{
+ bool no_connect;
char *dbname;
char *host;
char *port;
@@ -243,7 +244,14 @@ main(int argc, char *argv[])
password = simple_prompt("Password: ", false);
}
+ if (options.no_connect)
+ {
+ if (options.list_dbs)
+ pg_fatal("--no-connect cannot be specified with --list");
+ }
+
/* loop until we have a password if requested by backend */
+ if (!options.no_connect)
do
{
#define PARAMS_ARRAY_SIZE 8
@@ -299,6 +307,7 @@ main(int argc, char *argv[])
}
} while (new_pass);
+ if (!options.no_connect)
if (PQstatus(pset.db) == CONNECTION_BAD)
{
pg_log_error("%s", PQerrorMessage(pset.db));
@@ -495,6 +504,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts *options)
{"field-separator", required_argument, NULL, 'F'},
{"field-separator-zero", no_argument, NULL, 'z'},
{"host", required_argument, NULL, 'h'},
+ {"no-connect", no_argument, NULL, 'C'},
{"html", no_argument, NULL, 'H'},
{"list", no_argument, NULL, 'l'},
{"log-file", required_argument, NULL, 'L'},
@@ -528,7 +538,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts *options)
memset(options, 0, sizeof *options);
- while ((c = getopt_long(argc, argv, "aAbc:d:eEf:F:h:HlL:no:p:P:qR:sStT:U:v:VwWxXz?01",
+ while ((c = getopt_long(argc, argv, "aAbc:d:eEf:F:h:CHlL:no:p:P:qR:sStT:U:v:VwWxXz?01",
long_options, &optindex)) != -1)
{
switch (c)
@@ -573,6 +583,9 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts *options)
case 'h':
options->host = pg_strdup(optarg);
break;
+ case 'C':
+ options->no_connect = true;
+ break;
case 'H':
pset.popt.topt.format = PRINT_HTML;
break;