38#define LIBPQ_HAS_PIPELINING 1
40#define LIBPQ_HAS_TRACE_FLAGS 1
44#define LIBPQ_HAS_SSL_LIBRARY_DETECTION 1
48#define LIBPQ_HAS_ASYNC_CANCEL 1
50#define LIBPQ_HAS_CHANGE_PASSWORD 1
52#define LIBPQ_HAS_CHUNK_MODE 1
54#define LIBPQ_HAS_CLOSE_PREPARED 1
56#define LIBPQ_HAS_SEND_PIPELINE_SYNC 1
58#define LIBPQ_HAS_SOCKET_POLL 1
62#define LIBPQ_HAS_FULL_PROTOCOL_VERSION 1
64#define LIBPQ_HAS_PROMPT_OAUTH_DEVICE 1
69#define PG_COPYRES_ATTRS 0x01
70#define PG_COPYRES_TUPLES 0x02
71#define PG_COPYRES_EVENTS 0x04
72#define PG_COPYRES_NOTICEHOOKS 0x08
330 const char *
const *
values,
int expand_dbname);
336 const char *
const *
values,
int expand_dbname);
338 const char *pgoptions,
const char *pgtty,
340 const char *login,
const char *pwd);
342#define PQsetdb(M_PGHOST,M_PGPORT,M_PGOPT,M_PGTTY,M_DBNAME) \
343 PQsetdbLogin(M_PGHOST, M_PGPORT, M_PGOPT, M_PGTTY, M_DBNAME, NULL, NULL)
414 const char *paramName);
482#define PQTRACE_SUPPRESS_TIMESTAMPS (1<<0)
484#define PQTRACE_REGRESS_MODE (1<<1)
494 const Oid *paramTypes,
495 const char *
const *paramValues,
496 const int *paramLengths,
497 const int *paramFormats,
500 const char *query,
int nParams,
501 const Oid *paramTypes);
503 const char *stmtName,
505 const char *
const *paramValues,
506 const int *paramLengths,
507 const int *paramFormats,
511#define PQ_QUERY_PARAM_MAX_LIMIT 65535
517 const Oid *paramTypes,
518 const char *
const *paramValues,
519 const int *paramLengths,
520 const int *paramFormats,
523 const char *query,
int nParams,
524 const Oid *paramTypes);
526 const char *stmtName,
528 const char *
const *paramValues,
529 const int *paramLengths,
530 const int *paramFormats,
568 const char *
const *
values,
int expand_dbname);
633#define PQfreeNotify(ptr) PQfreemem(ptr)
637#define PQnoPasswordSupplied "fe_sendauth: no password supplied\n"
649 char *to,
const char *from,
size_t length,
654 const unsigned char *from,
size_t from_length,
660extern size_t PQescapeString(
char *to,
const char *from,
size_t length);
661extern unsigned char *
PQescapeBytea(
const unsigned char *from,
size_t from_length,
678 const char *fieldSep,
716extern int PQsocketPoll(
int sock,
int forRead,
int forWrite,
747#define SOCKTYPE uintptr_t
static Datum values[MAXATTR]
static PGcancel *volatile cancelConn
int errmsg(const char *fmt,...)
static const JsonPathKeyword keywords[]
@ CONNECTION_AUTHENTICATING
@ CONNECTION_CHECK_STANDBY
@ CONNECTION_AWAITING_RESPONSE
@ CONNECTION_CHECK_WRITABLE
@ CONNECTION_CHECK_TARGET
int PQserverVersion(const PGconn *conn)
char * PQencryptPasswordConn(PGconn *conn, const char *passwd, const char *user, const char *algorithm)
int PQprotocolVersion(const PGconn *conn)
int PQresetStart(PGconn *conn)
int PQsendQueryParams(PGconn *conn, const char *command, int nParams, const Oid *paramTypes, const char *const *paramValues, const int *paramLengths, const int *paramFormats, int resultFormat)
int PQgetlength(const PGresult *res, int tup_num, int field_num)
int PQsetSingleRowMode(PGconn *conn)
void PQsetAuthDataHook(PQauthDataHook_type hook)
char * PQoptions(const PGconn *conn)
int PQbinaryTuples(const PGresult *res)
int PQflush(PGconn *conn)
PGresult * PQcopyResult(const PGresult *src, int flags)
void PQfreemem(void *ptr)
void PQdisplayTuples(const PGresult *res, FILE *fp, int fillAlign, const char *fieldSep, int printHeader, int quiet)
int PQgetline(PGconn *conn, char *buffer, int length)
int(* PQauthDataHook_type)(PGauthData type, PGconn *conn, void *data)
char * PQdb(const PGconn *conn)
void PQinitSSL(int do_init)
Oid PQftype(const PGresult *res, int field_num)
PGresult * PQchangePassword(PGconn *conn, const char *user, const char *passwd)
void(* pgthreadlock_t)(int acquire)
int lo_tell(PGconn *conn, int fd)
void * PQgetssl(PGconn *conn)
char * PQresultVerboseErrorMessage(const PGresult *res, PGVerbosity verbosity, PGContextVisibility show_context)
struct PGoauthBearerRequest PGoauthBearerRequest
PGresult * PQdescribePrepared(PGconn *conn, const char *stmt)
PGresult * PQexecParams(PGconn *conn, const char *command, int nParams, const Oid *paramTypes, const char *const *paramValues, const int *paramLengths, const int *paramFormats, int resultFormat)
int PQexitPipelineMode(PGconn *conn)
PGresult * PQexecPrepared(PGconn *conn, const char *stmtName, int nParams, const char *const *paramValues, const int *paramLengths, const int *paramFormats, int resultFormat)
int PQsendClosePortal(PGconn *conn, const char *portal)
PGcancel * PQgetCancel(PGconn *conn)
int PQsetResultAttrs(PGresult *res, int numAttributes, PGresAttDesc *attDescs)
void PQcancelReset(PGcancelConn *cancelConn)
int lo_close(PGconn *conn, int fd)
struct _PQconninfoOption PQconninfoOption
unsigned char * PQunescapeBytea(const unsigned char *strtext, size_t *retbuflen)
const char * pg_encoding_to_char(int encoding)
PQsslKeyPassHook_OpenSSL_type PQgetSSLKeyPassHook_OpenSSL(void)
void * PQsslStruct(PGconn *conn, const char *struct_name)
int PQfullProtocolVersion(const PGconn *conn)
void PQreset(PGconn *conn)
int PQenterPipelineMode(PGconn *conn)
int PQsocketPoll(int sock, int forRead, int forWrite, pg_usec_time_t end_time)
int lo_truncate64(PGconn *conn, int fd, int64_t len)
size_t PQescapeStringConn(PGconn *conn, char *to, const char *from, size_t length, int *error)
void PQtrace(PGconn *conn, FILE *debug_port)
char * PQport(const PGconn *conn)
PGresult * PQclosePrepared(PGconn *conn, const char *stmt)
PGTransactionStatusType PQtransactionStatus(const PGconn *conn)
PGcancelConn * PQcancelCreate(PGconn *conn)
PQauthDataHook_type PQgetAuthDataHook(void)
char * PQgetvalue(const PGresult *res, int tup_num, int field_num)
void * PQgetgssctx(PGconn *conn)
PGresult * PQclosePortal(PGconn *conn, const char *portal)
PGresult * PQgetResult(PGconn *conn)
ExecStatusType PQresultStatus(const PGresult *res)
Oid PQparamtype(const PGresult *res, int param_num)
PGconn * PQconnectdb(const char *conninfo)
char * PQhost(const PGconn *conn)
int PQnparams(const PGresult *res)
int PQdefaultSSLKeyPassHook_OpenSSL(char *buf, int size, PGconn *conn)
int pg_char_to_encoding(const char *name)
void PQprintTuples(const PGresult *res, FILE *fout, int PrintAttNames, int TerseOutput, int colWidth)
void PQclear(PGresult *res)
int PQsendClosePrepared(PGconn *conn, const char *stmt)
char * PQservice(const PGconn *conn)
char * PQcmdTuples(PGresult *res)
struct _PQprintOpt PQprintOpt
int PQconnectionUsedPassword(const PGconn *conn)
PQconninfoOption * PQconninfo(PGconn *conn)
int PQfformat(const PGresult *res, int field_num)
void(* PQnoticeReceiver)(void *arg, const PGresult *res)
void(* PQnoticeProcessor)(void *arg, const char *message)
int PQendcopy(PGconn *conn)
int PQgssEncInUse(PGconn *conn)
PostgresPollingStatusType PQconnectPoll(PGconn *conn)
int PQdefaultAuthDataHook(PGauthData type, PGconn *conn, void *data)
int PQputCopyEnd(PGconn *conn, const char *errormsg)
void PQconninfoFree(PQconninfoOption *connOptions)
Oid lo_creat(PGconn *conn, int mode)
int PQsendPipelineSync(PGconn *conn)
int(* PQsslKeyPassHook_OpenSSL_type)(char *buf, int size, PGconn *conn)
int lo_read(PGconn *conn, int fd, char *buf, size_t len)
int lo_lseek(PGconn *conn, int fd, int offset, int whence)
int PQntuples(const PGresult *res)
int PQputnbytes(PGconn *conn, const char *buffer, int nbytes)
void PQprint(FILE *fout, const PGresult *res, const PQprintOpt *po)
int pg_valid_server_encoding_id(int encoding)
int PQmblen(const char *s, int encoding)
int PQputline(PGconn *conn, const char *string)
int PQgetlineAsync(PGconn *conn, char *buffer, int bufsize)
int lo_open(PGconn *conn, Oid lobjId, int mode)
PostgresPollingStatusType
char * PQtty(const PGconn *conn)
int PQputCopyData(PGconn *conn, const char *buffer, int nbytes)
PQconninfoOption * PQconninfoParse(const char *conninfo, char **errmsg)
const char * PQparameterStatus(const PGconn *conn, const char *paramName)
PGresult * PQmakeEmptyPGresult(PGconn *conn, ExecStatusType status)
ConnStatusType PQcancelStatus(const PGcancelConn *cancelConn)
int64_t lo_lseek64(PGconn *conn, int fd, int64_t offset, int whence)
PGresult * PQprepare(PGconn *conn, const char *stmtName, const char *query, int nParams, const Oid *paramTypes)
int64_t lo_tell64(PGconn *conn, int fd)
int lo_write(PGconn *conn, int fd, const char *buf, size_t len)
int PQconnectionNeedsPassword(const PGconn *conn)
char * PQresultErrorMessage(const PGresult *res)
char * PQencryptPassword(const char *passwd, const char *user)
char * PQpass(const PGconn *conn)
void PQinitOpenSSL(int do_ssl, int do_crypto)
int PQcancelBlocking(PGcancelConn *cancelConn)
int lo_truncate(PGconn *conn, int fd, size_t len)
int PQsendDescribePrepared(PGconn *conn, const char *stmt)
char * PQfname(const PGresult *res, int field_num)
Oid lo_create(PGconn *conn, Oid lobjId)
PostgresPollingStatusType PQresetPoll(PGconn *conn)
int PQsslInUse(PGconn *conn)
int PQconnectionUsedGSSAPI(const PGconn *conn)
size_t PQescapeString(char *to, const char *from, size_t length)
int PQconsumeInput(PGconn *conn)
int PQcancel(PGcancel *cancel, char *errbuf, int errbufsize)
@ PQAUTHDATA_PROMPT_OAUTH_DEVICE
@ PQAUTHDATA_OAUTH_BEARER_TOKEN
ConnStatusType PQstatus(const PGconn *conn)
PGconn * PQconnectStart(const char *conninfo)
Oid PQftable(const PGresult *res, int field_num)
int PQfnumber(const PGresult *res, const char *field_name)
unsigned char * PQescapeBytea(const unsigned char *from, size_t from_length, size_t *to_length)
int PQsetnonblocking(PGconn *conn, int arg)
int PQclientEncoding(const PGconn *conn)
PGconn * PQconnectStartParams(const char *const *keywords, const char *const *values, int expand_dbname)
char * PQescapeLiteral(PGconn *conn, const char *str, size_t len)
void PQfinish(PGconn *conn)
PGresult * PQfn(PGconn *conn, int fnid, int *result_buf, int *result_len, int result_is_int, const PQArgBlock *args, int nargs)
PGPing PQping(const char *conninfo)
int PQsendPrepare(PGconn *conn, const char *stmtName, const char *query, int nParams, const Oid *paramTypes)
PGresult * PQdescribePortal(PGconn *conn, const char *portal)
int PQfmod(const PGresult *res, int field_num)
PGContextVisibility PQsetErrorContextVisibility(PGconn *conn, PGContextVisibility show_context)
int PQdsplen(const char *s, int encoding)
int PQgetisnull(const PGresult *res, int tup_num, int field_num)
int PQftablecol(const PGresult *res, int field_num)
int PQsetChunkedRowsMode(PGconn *conn, int chunkSize)
const char * PQsslAttribute(PGconn *conn, const char *attribute_name)
char * PQresultErrorField(const PGresult *res, int fieldcode)
int PQsetvalue(PGresult *res, int tup_num, int field_num, char *value, int len)
int PQsendQuery(PGconn *conn, const char *query)
char * PQcmdStatus(PGresult *res)
int PQpipelineSync(PGconn *conn)
PostgresPollingStatusType PQcancelPoll(PGcancelConn *cancelConn)
char * PQoidStatus(const PGresult *res)
PQnoticeReceiver PQsetNoticeReceiver(PGconn *conn, PQnoticeReceiver proc, void *arg)
int PQsendDescribePortal(PGconn *conn, const char *portal)
void PQcancelFinish(PGcancelConn *cancelConn)
PGconn * PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions, const char *pgtty, const char *dbName, const char *login, const char *pwd)
struct _PGpromptOAuthDevice PGpromptOAuthDevice
void PQsetTraceFlags(PGconn *conn, int flags)
char * PQhostaddr(const PGconn *conn)
char * PQresStatus(ExecStatusType status)
size_t PQresultMemorySize(const PGresult *res)
int PQbackendPID(const PGconn *conn)
void * PQresultAlloc(PGresult *res, size_t nBytes)
PQconninfoOption * PQconndefaults(void)
int PQisBusy(PGconn *conn)
PGresult * PQexec(PGconn *conn, const char *query)
pg_usec_time_t PQgetCurrentTimeUSec(void)
unsigned char * PQescapeByteaConn(PGconn *conn, const unsigned char *from, size_t from_length, size_t *to_length)
int PQsendQueryPrepared(PGconn *conn, const char *stmtName, int nParams, const char *const *paramValues, const int *paramLengths, const int *paramFormats, int resultFormat)
char * PQescapeIdentifier(PGconn *conn, const char *str, size_t len)
int PQsendFlushRequest(PGconn *conn)
int PQrequestCancel(PGconn *conn)
void PQfreeCancel(PGcancel *cancel)
char * PQuser(const PGconn *conn)
int PQcancelSocket(const PGcancelConn *cancelConn)
PGpipelineStatus PQpipelineStatus(const PGconn *conn)
int lo_unlink(PGconn *conn, Oid lobjId)
int PQisnonblocking(const PGconn *conn)
void PQuntrace(PGconn *conn)
PGVerbosity PQsetErrorVerbosity(PGconn *conn, PGVerbosity verbosity)
PQnoticeProcessor PQsetNoticeProcessor(PGconn *conn, PQnoticeProcessor proc, void *arg)
char * PQcancelErrorMessage(const PGcancelConn *cancelConn)
Oid lo_import(PGconn *conn, const char *filename)
Oid PQoidValue(const PGresult *res)
int PQmblenBounded(const char *s, int encoding)
int lo_export(PGconn *conn, Oid lobjId, const char *filename)
const char *const * PQsslAttributeNames(PGconn *conn)
int PQcancelStart(PGcancelConn *cancelConn)
int PQnfields(const PGresult *res)
char * PQerrorMessage(const PGconn *conn)
Oid lo_import_with_oid(PGconn *conn, const char *filename, Oid lobjId)
void PQsetSSLKeyPassHook_OpenSSL(PQsslKeyPassHook_OpenSSL_type hook)
PGPing PQpingParams(const char *const *keywords, const char *const *values, int expand_dbname)
int PQsocket(const PGconn *conn)
int PQfsize(const PGresult *res, int field_num)
PGnotify * PQnotifies(PGconn *conn)
int PQsetClientEncoding(PGconn *conn, const char *encoding)
PGconn * PQconnectdbParams(const char *const *keywords, const char *const *values, int expand_dbname)
struct pgresAttDesc PGresAttDesc
pgthreadlock_t PQregisterThreadLock(pgthreadlock_t newhandler)
int PQgetCopyData(PGconn *conn, char **buffer, int async)
static PgChecksumMode mode
static void do_init(void)
static const char * pghost
static const char * pgport
static const char * dbName
static int fd(const char *x, int i)
void(* cleanup)(PGconn *conn, struct PGoauthBearerRequest *request)
const char * openid_configuration
PostgresPollingStatusType(* async)(PGconn *conn, struct PGoauthBearerRequest *request, SOCKTYPE *altsock)
const char * verification_uri_complete
const char * verification_uri