Definition at line 24 of file createdb.c.
25{
26 static struct option long_options[] = {
46 {NULL, 0, NULL, 0}
47 };
48
50 int optindex;
52
54 const char *maintenance_db = NULL;
56 char *host = NULL;
61 bool echo = false;
62 char *owner = NULL;
64 char *template = NULL;
66 char *strategy = NULL;
71 char *builtin_locale = NULL;
72 char *icu_locale = NULL;
74
76
79
83
85
86 while ((
c =
getopt_long(argc, argv,
"D:eE:h:l:O:p:S:T:U:wW", long_options, &optindex)) != -1)
87 {
89 {
90 case 'D':
92 break;
93 case 'e':
94 echo = true;
95 break;
96 case 'E':
98 break;
99 case 'h':
101 break;
102 case 'l':
104 break;
105 case 'O':
107 break;
108 case 'p':
110 break;
111 case 'S':
113 break;
114 case 'T':
116 break;
117 case 'U':
119 break;
120 case 'w':
122 break;
123 case 'W':
125 break;
126 case 1:
128 break;
129 case 2:
131 break;
132 case 3:
134 break;
135 case 4:
137 break;
138 case 5:
140 break;
141 case 6:
143 break;
144 case 7:
146 break;
147 default:
148
151 }
152 }
153
155 {
156 case 0:
157 break;
158 case 1:
160 break;
161 case 2:
164 break;
165 default:
166 pg_log_error(
"too many command-line arguments (first is \"%s\")",
170 }
171
173 {
176 }
177
179 {
180 if (getenv("PGDATABASE"))
181 dbname = getenv(
"PGDATABASE");
182 else if (getenv("PGUSER"))
183 dbname = getenv(
"PGUSER");
184 else
186 }
187
188
189 if (maintenance_db == NULL && strcmp(
dbname,
"postgres") == 0)
190 maintenance_db = "template1";
191
192 cparams.
dbname = maintenance_db;
198
200
202
205
206 if (owner)
211 {
214 }
215 if (strategy)
217 if (template)
220 {
223 }
224 if (builtin_locale)
225 {
228 }
230 {
233 }
235 {
238 }
241 if (icu_locale)
242 {
245 }
247 {
250 }
251
253
254 if (echo)
257
259 {
263 }
264
266
268 {
272
273 if (echo)
276
278 {
279 pg_log_error(
"comment creation failed (database was created): %s",
283 }
284
286 }
287
289
291}
#define PG_TEXTDOMAIN(domain)
void set_pglocale_pgservice(const char *argv0, const char *app)
PGconn * connectMaintenanceDatabase(ConnParams *cparams, const char *progname, bool echo)
static void help(const char *progname)
void PQfinish(PGconn *conn)
char * PQerrorMessage(const PGconn *conn)
ExecStatusType PQresultStatus(const PGresult *res)
PGresult * PQexec(PGconn *conn, const char *query)
char * pg_strdup(const char *in)
int getopt_long(int argc, char *const argv[], const char *optstring, const struct option *longopts, int *longindex)
#define required_argument
static char locale_provider
void pg_logging_init(const char *argv0)
#define pg_log_error(...)
#define pg_log_error_hint(...)
void handle_help_version_opts(int argc, char *argv[], const char *fixed_progname, help_handler hlp)
PGDLLIMPORT char * optarg
#define pg_char_to_encoding
const char * get_progname(const char *argv0)
void printfPQExpBuffer(PQExpBuffer str, const char *fmt,...)
void initPQExpBuffer(PQExpBuffer str)
void appendPQExpBuffer(PQExpBuffer str, const char *fmt,...)
void appendPQExpBufferChar(PQExpBuffer str, char ch)
void appendPQExpBufferStr(PQExpBuffer str, const char *data)
const char * fmtId(const char *rawid)
void appendStringLiteralConn(PQExpBuffer buf, const char *str, PGconn *conn)
enum trivalue prompt_password
const char * get_user_name_or_exit(const char *progname)
References appendPQExpBuffer(), appendPQExpBufferChar(), appendPQExpBufferStr(), appendStringLiteralConn(), comment, conn, connectMaintenanceDatabase(), PQExpBufferData::data, dbname, _connParams::dbname, encoding, exit(), fmtId(), get_progname(), get_user_name_or_exit(), getopt_long(), handle_help_version_opts(), help(), icu_rules, initPQExpBuffer(), lc_collate, lc_ctype, locale, locale_provider, no_argument, optarg, optind, _connParams::override_dbname, pg_char_to_encoding, pg_fatal, pg_log_error, pg_log_error_hint, pg_logging_init(), pg_strdup(), PG_TEXTDOMAIN, _connParams::pghost, _connParams::pgport, PGRES_COMMAND_OK, _connParams::pguser, port, PQclear(), PQerrorMessage(), PQexec(), PQfinish(), PQresultStatus(), printf, printfPQExpBuffer(), progname, _connParams::prompt_password, required_argument, set_pglocale_pgservice(), tablespace, TRI_DEFAULT, TRI_NO, TRI_YES, and username.