summaryrefslogtreecommitdiffstats
path: root/pg.h
blob: 98d9e3b4205a65faa0c909abdf1b3816c9d10cae (plain)
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_ */