| /*------------------------------------------------------------------------- |
| * |
| * Facilities for frontend code to connect to and disconnect from databases. |
| * |
| * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group |
| * Portions Copyright (c) 1994, Regents of the University of California |
| * |
| * src/include/fe_utils/connect_utils.h |
| * |
| *------------------------------------------------------------------------- |
| */ |
| #ifndef CONNECT_UTILS_H |
| #define CONNECT_UTILS_H |
| |
| #include "libpq-fe.h" |
| |
| enum trivalue |
| { |
| TRI_DEFAULT, |
| TRI_NO, |
| TRI_YES |
| }; |
| |
| /* Parameters needed by connectDatabase/connectMaintenanceDatabase */ |
| typedef struct _connParams |
| { |
| /* These fields record the actual command line parameters */ |
| const char *dbname; /* this may be a connstring! */ |
| const char *pghost; |
| const char *pgport; |
| const char *pguser; |
| enum trivalue prompt_password; |
| /* If not NULL, this overrides the dbname obtained from command line */ |
| /* (but *only* the DB name, not anything else in the connstring) */ |
| const char *override_dbname; |
| } ConnParams; |
| |
| extern PGconn *connectDatabase(const ConnParams *cparams, |
| const char *progname, |
| bool echo, bool fail_ok, |
| bool allow_password_reuse); |
| |
| extern PGconn *connectMaintenanceDatabase(ConnParams *cparams, |
| const char *progname, bool echo); |
| |
| extern void disconnectDatabase(PGconn *conn); |
| |
| #endif /* CONNECT_UTILS_H */ |