mirror of https://github.com/postgres/postgres
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.0 KiB
65 lines
2.0 KiB
/*-------------------------------------------------------------------------
|
|
*
|
|
* 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"
|
|
#include "pqexpbuffer.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, bool two_phase);
|
|
extern bool DropReplicationSlot(PGconn *conn, const char *slot_name);
|
|
extern bool RunIdentifySystem(PGconn *conn, char **sysid,
|
|
TimeLineID *starttli,
|
|
XLogRecPtr *startpos,
|
|
char **db_name);
|
|
|
|
extern void AppendPlainCommandOption(PQExpBuffer buf,
|
|
bool use_new_option_syntax,
|
|
char *option_value);
|
|
extern void AppendStringCommandOption(PQExpBuffer buf,
|
|
bool use_new_option_syntax,
|
|
char *option_name, char *option_value);
|
|
extern void AppendIntegerCommandOption(PQExpBuffer buf,
|
|
bool use_new_option_syntax,
|
|
char *option_name, int32 option_value);
|
|
|
|
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 */
|
|
|