49 lines
1.4 KiB
C
49 lines
1.4 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* Facilities for frontend code to connect to and disconnect from databases.
|
|
*
|
|
* Portions Copyright (c) 1996-2023, 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 */
|