1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
/* Copyright (c) 2007-2019, Mark Wong */
#ifndef _PG_H_
#define _PG_H_
#include <libpq-fe.h>
struct pg_conninfo_ctx
{
PGconn *connection;
int persistent;
const char *values[6];
};
void connect_to_db(struct pg_conninfo_ctx *);
void disconnect_from_db(struct pg_conninfo_ctx *);
PGresult *pg_locks(PGconn *, int);
PGresult *pg_processes(PGconn *);
PGresult *pg_replication(PGconn *);
PGresult *pg_query(PGconn *, int);
enum BackendState
{
STATE_UNDEFINED,
STATE_IDLE,
STATE_RUNNING,
STATE_IDLEINTRANSACTION,
STATE_FASTPATH,
STATE_IDLEINTRANSACTION_ABORTED,
STATE_DISABLED
};
enum pg_stat_activity
{
PROC_PID = 0,
PROC_QUERY,
PROC_STATE,
PROC_USENAME,
PROC_XSTART,
PROC_QSTART,
PROC_LOCKS
};
enum pg_stat_replication
{
REP_PID = 0,
REP_USENAME,
REP_APPLICATION_NAME,
REP_CLIENT_ADDR,
REP_STATE,
REP_WAL_INSERT,
REP_SENT,
REP_WRITE,
REP_FLUSH,
REP_REPLAY,
REP_SENT_LAG,
REP_WRITE_LAG,
REP_FLUSH_LAG,
REP_REPLAY_LAG
};
#endif /* _PG_H_ */
|