26 static struct option long_options[] = {
44 char *maintenance_db = NULL;
50 bool interactive =
false;
62 while ((c =
getopt_long(argc, argv,
"h:p:U:wWei", long_options, &optindex)) != -1)
94 fprintf(stderr,
_(
"Try \"%s --help\" for more information.\n"), progname);
102 fprintf(stderr,
_(
"%s: missing required argument database name\n"), progname);
103 fprintf(stderr,
_(
"Try \"%s --help\" for more information.\n"), progname);
109 fprintf(stderr,
_(
"%s: too many command-line arguments (first is \"%s\")\n"),
110 progname, argv[
optind + 1]);
111 fprintf(stderr,
_(
"Try \"%s --help\" for more information.\n"), progname);
117 printf(
_(
"Database \"%s\" will be permanently removed.\n"), dbname);
125 (if_exists ?
"IF EXISTS " :
""),
fmtId(dbname));
128 if (maintenance_db == NULL && strcmp(dbname,
"postgres") == 0)
129 maintenance_db =
"template1";
132 host, port, username, prompt_password,
136 printf(
"%s\n", sql.
data);
140 fprintf(stderr,
_(
"%s: database removal failed: %s"),
PGconn * connectMaintenanceDatabase(const char *maintenance_db, const char *pghost, const char *pgport, const char *pguser, enum trivalue prompt_password, const char *progname, bool echo)
char * PQerrorMessage(const PGconn *conn)
bool yesno_prompt(const char *question)
const char * fmtId(const char *rawid)
const char * get_progname(const char *argv0)
int getopt_long(int argc, char *const argv[], const char *optstring, const struct option *longopts, int *longindex)
void PQfinish(PGconn *conn)
ExecStatusType PQresultStatus(const PGresult *res)
#define required_argument
void appendPQExpBuffer(PQExpBuffer str, const char *fmt,...)
char * pg_strdup(const char *in)
void handle_help_version_opts(int argc, char *argv[], const char *fixed_progname, help_handler hlp)
static void help(const char *progname)
#define PG_TEXTDOMAIN(domain)
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)