PostgreSQL Source Code  git master
replnodes.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * replnodes.h
4  * definitions for replication grammar parse nodes
5  *
6  *
7  * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/nodes/replnodes.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef REPLNODES_H
15 #define REPLNODES_H
16 
17 #include "access/xlogdefs.h"
18 #include "nodes/pg_list.h"
19 
20 typedef enum ReplicationKind
21 {
25 
26 
27 /* ----------------------
28  * IDENTIFY_SYSTEM command
29  * ----------------------
30  */
31 typedef struct IdentifySystemCmd
32 {
35 
36 
37 /* ----------------------
38  * BASE_BACKUP command
39  * ----------------------
40  */
41 typedef struct BaseBackupCmd
42 {
46 
47 
48 /* ----------------------
49  * CREATE_REPLICATION_SLOT command
50  * ----------------------
51  */
53 {
55  char *slotname;
57  char *plugin;
58  bool temporary;
61 
62 
63 /* ----------------------
64  * DROP_REPLICATION_SLOT command
65  * ----------------------
66  */
67 typedef struct DropReplicationSlotCmd
68 {
70  char *slotname;
71  bool wait;
73 
74 
75 /* ----------------------
76  * ALTER_REPLICATION_SLOT command
77  * ----------------------
78  */
80 {
82  char *slotname;
85 
86 
87 /* ----------------------
88  * START_REPLICATION command
89  * ----------------------
90  */
91 typedef struct StartReplicationCmd
92 {
95  char *slotname;
100 
101 
102 /* ----------------------
103  * READ_REPLICATION_SLOT command
104  * ----------------------
105  */
107 {
109  char *slotname;
111 
112 
113 /* ----------------------
114  * TIMELINE_HISTORY command
115  * ----------------------
116  */
117 typedef struct TimeLineHistoryCmd
118 {
122 
123 /* ----------------------
124  * UPLOAD_MANIFEST command
125  * ----------------------
126  */
127 typedef struct UploadManifestCmd
128 {
131 
132 #endif /* REPLNODES_H */
NodeTag
Definition: nodes.h:27
struct AlterReplicationSlotCmd AlterReplicationSlotCmd
struct UploadManifestCmd UploadManifestCmd
struct IdentifySystemCmd IdentifySystemCmd
struct CreateReplicationSlotCmd CreateReplicationSlotCmd
ReplicationKind
Definition: replnodes.h:21
@ REPLICATION_KIND_PHYSICAL
Definition: replnodes.h:22
@ REPLICATION_KIND_LOGICAL
Definition: replnodes.h:23
struct DropReplicationSlotCmd DropReplicationSlotCmd
struct ReadReplicationSlotCmd ReadReplicationSlotCmd
struct StartReplicationCmd StartReplicationCmd
struct TimeLineHistoryCmd TimeLineHistoryCmd
struct BaseBackupCmd BaseBackupCmd
NodeTag type
Definition: replnodes.h:43
List * options
Definition: replnodes.h:44
ReplicationKind kind
Definition: replnodes.h:56
Definition: pg_list.h:54
XLogRecPtr startpoint
Definition: replnodes.h:97
ReplicationKind kind
Definition: replnodes.h:94
TimeLineID timeline
Definition: replnodes.h:96
TimeLineID timeline
Definition: replnodes.h:120
uint64 XLogRecPtr
Definition: xlogdefs.h:21
uint32 TimeLineID
Definition: xlogdefs.h:59