mirror of
https://github.com/postgres/postgres.git
synced 2025-06-30 21:42:05 +03:00
Make recovery from WAL be restartable, by executing a checkpoint-like
operation every so often. This improves the usefulness of PITR log shipping for hot standby: formerly, if the standby server crashed, it was necessary to restart it from the last base backup and replay all the WAL since then. Now it will only need to reread about the same amount of WAL as the master server would. The behavior might also come in handy during a long PITR replay sequence. Simon Riggs, with some editorialization by Tom Lane.
This commit is contained in:
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Resource managers definition
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/backend/access/transam/rmgr.c,v 1.23 2006/07/11 17:26:58 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/access/transam/rmgr.c,v 1.24 2006/08/07 16:57:56 tgl Exp $
|
||||
*/
|
||||
#include "postgres.h"
|
||||
|
||||
@ -23,20 +23,20 @@
|
||||
|
||||
|
||||
const RmgrData RmgrTable[RM_MAX_ID + 1] = {
|
||||
{"XLOG", xlog_redo, xlog_desc, NULL, NULL},
|
||||
{"Transaction", xact_redo, xact_desc, NULL, NULL},
|
||||
{"Storage", smgr_redo, smgr_desc, NULL, NULL},
|
||||
{"CLOG", clog_redo, clog_desc, NULL, NULL},
|
||||
{"Database", dbase_redo, dbase_desc, NULL, NULL},
|
||||
{"Tablespace", tblspc_redo, tblspc_desc, NULL, NULL},
|
||||
{"MultiXact", multixact_redo, multixact_desc, NULL, NULL},
|
||||
{"Reserved 7", NULL, NULL, NULL, NULL},
|
||||
{"Reserved 8", NULL, NULL, NULL, NULL},
|
||||
{"Reserved 9", NULL, NULL, NULL, NULL},
|
||||
{"Heap", heap_redo, heap_desc, NULL, NULL},
|
||||
{"Btree", btree_redo, btree_desc, btree_xlog_startup, btree_xlog_cleanup},
|
||||
{"Hash", hash_redo, hash_desc, NULL, NULL},
|
||||
{"Gin", gin_redo, gin_desc, gin_xlog_startup, gin_xlog_cleanup},
|
||||
{"Gist", gist_redo, gist_desc, gist_xlog_startup, gist_xlog_cleanup},
|
||||
{"Sequence", seq_redo, seq_desc, NULL, NULL}
|
||||
{"XLOG", xlog_redo, xlog_desc, NULL, NULL, NULL},
|
||||
{"Transaction", xact_redo, xact_desc, NULL, NULL, NULL},
|
||||
{"Storage", smgr_redo, smgr_desc, NULL, NULL, NULL},
|
||||
{"CLOG", clog_redo, clog_desc, NULL, NULL, NULL},
|
||||
{"Database", dbase_redo, dbase_desc, NULL, NULL, NULL},
|
||||
{"Tablespace", tblspc_redo, tblspc_desc, NULL, NULL, NULL},
|
||||
{"MultiXact", multixact_redo, multixact_desc, NULL, NULL, NULL},
|
||||
{"Reserved 7", NULL, NULL, NULL, NULL, NULL},
|
||||
{"Reserved 8", NULL, NULL, NULL, NULL, NULL},
|
||||
{"Reserved 9", NULL, NULL, NULL, NULL, NULL},
|
||||
{"Heap", heap_redo, heap_desc, NULL, NULL, NULL},
|
||||
{"Btree", btree_redo, btree_desc, btree_xlog_startup, btree_xlog_cleanup, btree_safe_restartpoint},
|
||||
{"Hash", hash_redo, hash_desc, NULL, NULL, NULL},
|
||||
{"Gin", gin_redo, gin_desc, gin_xlog_startup, gin_xlog_cleanup, gin_safe_restartpoint},
|
||||
{"Gist", gist_redo, gist_desc, gist_xlog_startup, gist_xlog_cleanup, gist_safe_restartpoint},
|
||||
{"Sequence", seq_redo, seq_desc, NULL, NULL, NULL}
|
||||
};
|
||||
|
Reference in New Issue
Block a user