33 bool echo,
bool fail_ok,
bool allow_password_reuse)
42 if (!allow_password_reuse &&
password)
57 const char *keywords[8];
72 keywords[
i] =
"password";
74 keywords[
i] =
"dbname";
78 keywords[
i] =
"dbname";
81 keywords[
i] =
"fallback_application_name";
91 pg_fatal(
"could not connect to database %s: out of memory",
144 cparams->
dbname =
"postgres";
148 cparams->
dbname =
"template1";
170 (void)
PQcancel(cancel, errbuf,
sizeof(errbuf));
static Datum values[MAXATTR]
#define ALWAYS_SECURE_SEARCH_PATH_SQL
void disconnectDatabase(PGconn *conn)
PGconn * connectDatabase(const ConnParams *cparams, const char *progname, bool echo, bool fail_ok, bool allow_password_reuse)
PGconn * connectMaintenanceDatabase(ConnParams *cparams, const char *progname, bool echo)
PGcancel * PQgetCancel(PGconn *conn)
PGconn * PQconnectdbParams(const char *const *keywords, const char *const *values, int expand_dbname)
PGTransactionStatusType PQtransactionStatus(const PGconn *conn)
int PQconnectionNeedsPassword(const PGconn *conn)
char * PQerrorMessage(const PGconn *conn)
int PQcancel(PGcancel *cancel, char *errbuf, int errbufsize)
ConnStatusType PQstatus(const PGconn *conn)
void PQfinish(PGconn *conn)
void PQfreeCancel(PGcancel *cancel)
Assert(fmt[strlen(fmt) - 1] !='\n')
static PGresult * executeQuery(PGconn *conn, const char *query)
char * simple_prompt(const char *prompt, bool echo)
enum trivalue prompt_password