mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-15 17:40:22 +02:00
56c7d8d455
This will write the received transaction log into a file called pg_wal.tar(.gz) next to the other tarfiles instead of writing it to base.tar. When using fetch mode, the transaction log is still written to base.tar like before, and when used against a pre-10 server, the file is named pg_xlog.tar. To do this, implement a new concept of a "walmethod", which is responsible for writing the WAL. Two implementations exist, one that writes to a plain directory (which is also used by pg_receivexlog) and one that writes to a tar file with optional compression. Reviewed by Michael Paquier
27 lines
812 B
C
27 lines
812 B
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* pgtar.h
|
|
* Functions for manipulating tarfile datastructures (src/port/tar.c)
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/pgtar.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
enum tarError
|
|
{
|
|
TAR_OK = 0,
|
|
TAR_NAME_TOO_LONG,
|
|
TAR_SYMLINK_TOO_LONG
|
|
};
|
|
|
|
extern enum tarError tarCreateHeader(char *h, const char *filename, const char *linktarget,
|
|
pgoff_t size, mode_t mode, uid_t uid, gid_t gid, time_t mtime);
|
|
extern uint64 read_tar_number(const char *s, int len);
|
|
extern void print_tar_number(char *s, int len, uint64 val);
|
|
extern int tarChecksum(char *header);
|