You've already forked pgbackrest
mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-07-05 00:28:52 +02:00
Add WAL info to PostgreSQL interface.
This allows the WAL header to be read for any supported version on PostgreSQL.
This commit is contained in:
@ -33,6 +33,15 @@ typedef struct PgControl
|
||||
bool pageChecksum;
|
||||
} PgControl;
|
||||
|
||||
/***********************************************************************************************************************************
|
||||
PostgreSQL WAL Info
|
||||
***********************************************************************************************************************************/
|
||||
typedef struct PgWal
|
||||
{
|
||||
unsigned int version;
|
||||
uint64_t systemId;
|
||||
} PgWal;
|
||||
|
||||
/***********************************************************************************************************************************
|
||||
Functions
|
||||
***********************************************************************************************************************************/
|
||||
@ -41,21 +50,31 @@ PgControl pgControlFromBuffer(const Buffer *controlFile);
|
||||
unsigned int pgVersionFromStr(const String *version);
|
||||
String *pgVersionToStr(unsigned int version);
|
||||
|
||||
PgWal pgWalFromFile(const String *walFile);
|
||||
PgWal pgWalFromBuffer(const Buffer *walBuffer);
|
||||
|
||||
/***********************************************************************************************************************************
|
||||
Test Functions
|
||||
***********************************************************************************************************************************/
|
||||
#ifdef DEBUG
|
||||
Buffer *pgControlTestToBuffer(PgControl pgControl);
|
||||
void pgWalTestToBuffer(PgWal pgWal, Buffer *walBuffer);
|
||||
#endif
|
||||
|
||||
/***********************************************************************************************************************************
|
||||
Macros for function logging
|
||||
***********************************************************************************************************************************/
|
||||
String *pgControlToLog(const PgControl *pgControl);
|
||||
String *pgWalToLog(const PgWal *pgWal);
|
||||
|
||||
#define FUNCTION_LOG_PG_CONTROL_TYPE \
|
||||
PgControl
|
||||
#define FUNCTION_LOG_PG_CONTROL_FORMAT(value, buffer, bufferSize) \
|
||||
FUNCTION_LOG_STRING_OBJECT_FORMAT(&value, pgControlToLog, buffer, bufferSize)
|
||||
|
||||
#define FUNCTION_LOG_PG_WAL_TYPE \
|
||||
PgWal
|
||||
#define FUNCTION_LOG_PG_WAL_FORMAT(value, buffer, bufferSize) \
|
||||
FUNCTION_LOG_STRING_OBJECT_FORMAT(&value, pgWalToLog, buffer, bufferSize)
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user