diff options
Diffstat (limited to 'src/bin/pg_basebackup/streamutil.h')
-rw-r--r-- | src/bin/pg_basebackup/streamutil.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/bin/pg_basebackup/streamutil.h b/src/bin/pg_basebackup/streamutil.h new file mode 100644 index 0000000..10f87ad --- /dev/null +++ b/src/bin/pg_basebackup/streamutil.h @@ -0,0 +1,53 @@ +/*------------------------------------------------------------------------- + * + * streamutil.h + * + * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group + * + * IDENTIFICATION + * src/bin/pg_basebackup/streamutil.h + *------------------------------------------------------------------------- + */ + +#ifndef STREAMUTIL_H +#define STREAMUTIL_H + +#include "access/xlogdefs.h" +#include "datatype/timestamp.h" +#include "libpq-fe.h" + +extern const char *progname; +extern char *connection_string; +extern char *dbhost; +extern char *dbuser; +extern char *dbport; +extern char *dbname; +extern int dbgetpassword; +extern uint32 WalSegSz; + +/* Connection kept global so we can disconnect easily */ +extern PGconn *conn; + +extern PGconn *GetConnection(void); + +/* Replication commands */ +extern bool CreateReplicationSlot(PGconn *conn, const char *slot_name, + const char *plugin, bool is_temporary, + bool is_physical, bool reserve_wal, + bool slot_exists_ok); +extern bool DropReplicationSlot(PGconn *conn, const char *slot_name); +extern bool RunIdentifySystem(PGconn *conn, char **sysid, + TimeLineID *starttli, + XLogRecPtr *startpos, + char **db_name); +extern bool RetrieveWalSegSize(PGconn *conn); +extern TimestampTz feGetCurrentTimestamp(void); +extern void feTimestampDifference(TimestampTz start_time, TimestampTz stop_time, + long *secs, int *microsecs); + +extern bool feTimestampDifferenceExceeds(TimestampTz start_time, TimestampTz stop_time, + int msec); +extern void fe_sendint64(int64 i, char *buf); +extern int64 fe_recvint64(char *buf); + +#endif /* STREAMUTIL_H */ |