Definition at line 24 of file dropdb.c.
References _, appendPQExpBuffer(), conn, connectMaintenanceDatabase(), PQExpBufferData::data, dbname, _connParams::dbname, fmtId(), fprintf, get_progname(), getopt_long(), handle_help_version_opts(), help(), if_exists, initPQExpBuffer(), no_argument, optarg, optind, _connParams::override_dbname, pg_log_error, pg_logging_init(), pg_strdup(), PG_TEXTDOMAIN, _connParams::pghost, _connParams::pgport, PGRES_COMMAND_OK, _connParams::pguser, port, PQclear(), PQerrorMessage(), PQexec(), PQfinish(), PQresultStatus(), printf, progname, _connParams::prompt_password, required_argument, set_pglocale_pgservice(), TRI_DEFAULT, TRI_NO, TRI_YES, username, and yesno_prompt().
28 static struct option long_options[] = {
47 char *maintenance_db = NULL;
54 bool interactive =
false;
68 while ((c =
getopt_long(argc, argv,
"h:p:U:wWeif", long_options, &optindex)) != -1)
103 fprintf(stderr,
_(
"Try \"%s --help\" for more information.\n"), progname);
111 pg_log_error(
"missing required argument database name");
112 fprintf(stderr,
_(
"Try \"%s --help\" for more information.\n"), progname);
118 pg_log_error(
"too many command-line arguments (first is \"%s\")",
120 fprintf(stderr,
_(
"Try \"%s --help\" for more information.\n"), progname);
126 printf(
_(
"Database \"%s\" will be permanently removed.\n"), dbname);
134 (if_exists ?
"IF EXISTS " :
""),
136 force ?
" WITH (FORCE)" :
"");
139 if (maintenance_db == NULL && strcmp(dbname,
"postgres") == 0)
140 maintenance_db =
"template1";
142 cparams.
dbname = maintenance_db;
char * PQerrorMessage(const PGconn *conn)
bool yesno_prompt(const char *question)
const char * fmtId(const char *rawid)
const char * get_progname(const char *argv0)
#define pg_log_error(...)
int getopt_long(int argc, char *const argv[], const char *optstring, const struct option *longopts, int *longindex)
void pg_logging_init(const char *argv0)
void PQfinish(PGconn *conn)
ExecStatusType PQresultStatus(const PGresult *res)
#define required_argument
void handle_help_version_opts(int argc, char *argv[], const char *fixed_progname, help_handler hlp)
void appendPQExpBuffer(PQExpBuffer str, const char *fmt,...)
char * pg_strdup(const char *in)
enum trivalue prompt_password
static void help(const char *progname)
#define PG_TEXTDOMAIN(domain)
PGconn * connectMaintenanceDatabase(ConnParams *cparams, const char *progname, bool echo)
void PQclear(PGresult *res)
void set_pglocale_pgservice(const char *argv0, const char *app)
PGresult * PQexec(PGconn *conn, const char *query)
void initPQExpBuffer(PQExpBuffer str)