mirror of
https://github.com/postgres/postgres.git
synced 2025-10-19 15:49:24 +03:00
Add contrib/pg_walinspect.
Provides similar functionality to pg_waldump, but from a SQL interface rather than a separate utility. Author: Bharath Rupireddy Reviewed-by: Greg Stark, Kyotaro Horiguchi, Andres Freund, Ashutosh Sharma, Nitin Jadhav, RKN Sai Krishna Discussion: https://postgr.es/m/CALj2ACUGUYXsEQdKhEdsBzhGEyF3xggvLdD8C0VT72TNEfOiog%40mail.gmail.com
This commit is contained in:
@@ -31,7 +31,7 @@ extern XLogRecPtr XactLastRecEnd;
|
||||
extern PGDLLIMPORT XLogRecPtr XactLastCommitEnd;
|
||||
|
||||
/* these variables are GUC parameters related to XLOG */
|
||||
extern int wal_segment_size;
|
||||
extern PGDLLIMPORT int wal_segment_size;
|
||||
extern int min_wal_size_mb;
|
||||
extern int max_wal_size_mb;
|
||||
extern int wal_keep_size_mb;
|
||||
|
@@ -320,7 +320,7 @@ typedef struct RmgrData
|
||||
struct XLogRecordBuffer *buf);
|
||||
} RmgrData;
|
||||
|
||||
extern RmgrData RmgrTable[];
|
||||
extern PGDLLIMPORT RmgrData RmgrTable[];
|
||||
extern void RmgrStartup(void);
|
||||
extern void RmgrCleanup(void);
|
||||
extern void RmgrNotFound(RmgrId rmid);
|
||||
@@ -350,6 +350,10 @@ extern XLogRecPtr RequestXLogSwitch(bool mark_unimportant);
|
||||
|
||||
extern void GetOldestRestartPoint(XLogRecPtr *oldrecptr, TimeLineID *oldtli);
|
||||
|
||||
extern void XLogRecGetBlockRefInfo(XLogReaderState *record, bool pretty,
|
||||
bool detailed_format, StringInfo buf,
|
||||
uint32 *fpi_len);
|
||||
|
||||
/*
|
||||
* Exported for the functions in timeline.c and xlogarchive.c. Only valid
|
||||
* in the startup process.
|
||||
|
@@ -344,9 +344,7 @@ extern void XLogReaderSetDecodeBuffer(XLogReaderState *state,
|
||||
|
||||
/* Position the XLogReader to given record */
|
||||
extern void XLogBeginRead(XLogReaderState *state, XLogRecPtr RecPtr);
|
||||
#ifdef FRONTEND
|
||||
extern XLogRecPtr XLogFindNextRecord(XLogReaderState *state, XLogRecPtr RecPtr);
|
||||
#endif /* FRONTEND */
|
||||
|
||||
/* Return values from XLogPageReadCB. */
|
||||
typedef enum XLogPageReadResult
|
||||
|
40
src/include/access/xlogstats.h
Normal file
40
src/include/access/xlogstats.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* xlogstats.h
|
||||
* Definitions for WAL Statitstics
|
||||
*
|
||||
* Copyright (c) 2022, PostgreSQL Global Development Group
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* src/include/access/xlogstats.h
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef XLOGSTATS_H
|
||||
#define XLOGSTATS_H
|
||||
|
||||
#define MAX_XLINFO_TYPES 16
|
||||
|
||||
typedef struct XLogRecStats
|
||||
{
|
||||
uint64 count;
|
||||
uint64 rec_len;
|
||||
uint64 fpi_len;
|
||||
} XLogRecStats;
|
||||
|
||||
typedef struct XLogStats
|
||||
{
|
||||
uint64 count;
|
||||
#ifdef FRONTEND
|
||||
XLogRecPtr startptr;
|
||||
XLogRecPtr endptr;
|
||||
#endif
|
||||
XLogRecStats rmgr_stats[RM_MAX_ID + 1];
|
||||
XLogRecStats record_stats[RM_MAX_ID + 1][MAX_XLINFO_TYPES];
|
||||
} XLogStats;
|
||||
|
||||
extern void XLogRecGetLen(XLogReaderState *record, uint32 *rec_len,
|
||||
uint32 *fpi_len);
|
||||
extern void XLogRecStoreStats(XLogStats *stats, XLogReaderState *record);
|
||||
|
||||
#endif /* XLOGSTATS_H */
|
@@ -93,6 +93,10 @@ extern void FreeFakeRelcacheEntry(Relation fakerel);
|
||||
extern int read_local_xlog_page(XLogReaderState *state,
|
||||
XLogRecPtr targetPagePtr, int reqLen,
|
||||
XLogRecPtr targetRecPtr, char *cur_page);
|
||||
extern int read_local_xlog_page_no_wait(XLogReaderState *state,
|
||||
XLogRecPtr targetPagePtr, int reqLen,
|
||||
XLogRecPtr targetRecPtr,
|
||||
char *cur_page);
|
||||
extern void wal_segment_open(XLogReaderState *state,
|
||||
XLogSegNo nextSegNo,
|
||||
TimeLineID *tli_p);
|
||||
|
Reference in New Issue
Block a user