mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-02-13 09:57:02 +08:00
This includes two new kinds of postmaster processes, walsenders and walreceiver. Walreceiver is responsible for connecting to the primary server and streaming WAL to disk, while walsender runs in the primary server and streams WAL from disk to the client. Documentation still needs work, but the basics are there. We will probably pull the replication section to a new chapter later on, as well as the sections describing file-based replication. But let's do that as a separate patch, so that it's easier to see what has been added/changed. This patch also adds a new section to the chapter about FE/BE protocol, documenting the protocol used by walsender/walreceivxer. Bump catalog version because of two new functions, pg_last_xlog_receive_location() and pg_last_xlog_replay_location(), for monitoring the progress of replication. Fujii Masao, with additional hacking by me
74 lines
1.8 KiB
C
74 lines
1.8 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* bootstrap.h
|
|
* include file for the bootstrapping code
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* $PostgreSQL: pgsql/src/include/bootstrap/bootstrap.h,v 1.55 2010/01/15 09:19:06 heikki Exp $
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef BOOTSTRAP_H
|
|
#define BOOTSTRAP_H
|
|
|
|
#include "nodes/execnodes.h"
|
|
|
|
typedef enum
|
|
{
|
|
CheckerProcess,
|
|
BootstrapProcess,
|
|
StartupProcess,
|
|
BgWriterProcess,
|
|
WalWriterProcess,
|
|
WalReceiverProcess,
|
|
|
|
NUM_AUXPROCTYPES /* Must be last! */
|
|
} AuxProcType;
|
|
|
|
/*
|
|
* MAXATTR is the maximum number of attributes in a relation supported
|
|
* at bootstrap time (i.e., the max possible in a system table).
|
|
*/
|
|
#define MAXATTR 40
|
|
|
|
extern Relation boot_reldesc;
|
|
extern Form_pg_attribute attrtypes[MAXATTR];
|
|
extern int numattr;
|
|
|
|
|
|
extern void AuxiliaryProcessMain(int argc, char *argv[]);
|
|
|
|
extern void err_out(void);
|
|
|
|
extern void closerel(char *name);
|
|
extern void boot_openrel(char *name);
|
|
|
|
extern void DefineAttr(char *name, char *type, int attnum);
|
|
extern void InsertOneTuple(Oid objectid);
|
|
extern void InsertOneValue(char *value, int i);
|
|
extern void InsertOneNull(int i);
|
|
|
|
extern char *MapArrayTypeName(char *s);
|
|
|
|
extern void index_register(Oid heap, Oid ind, IndexInfo *indexInfo);
|
|
extern void build_indices(void);
|
|
|
|
extern void boot_get_type_io_data(Oid typid,
|
|
int16 *typlen,
|
|
bool *typbyval,
|
|
char *typalign,
|
|
char *typdelim,
|
|
Oid *typioparam,
|
|
Oid *typinput,
|
|
Oid *typoutput);
|
|
|
|
extern int boot_yyparse(void);
|
|
|
|
extern int boot_yylex(void);
|
|
extern void boot_yyerror(const char *str);
|
|
|
|
#endif /* BOOTSTRAP_H */
|