codekingpro/portable-devtools
115k
1/*-------------------------------------------------------------------------2 *3 * replnodes.h4 * definitions for replication grammar parse nodes5 *6 *7 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group8 * Portions Copyright (c) 1994, Regents of the University of California9 *10 * src/include/nodes/replnodes.h11 *12 *-------------------------------------------------------------------------13 */14#ifndef REPLNODES_H15#define REPLNODES_H16 17#include "access/xlogdefs.h"18#include "nodes/pg_list.h"19 20typedef enum ReplicationKind21{22 REPLICATION_KIND_PHYSICAL,23 REPLICATION_KIND_LOGICAL24} ReplicationKind;25 26 27/* ----------------------28 * IDENTIFY_SYSTEM command29 * ----------------------30 */31typedef struct IdentifySystemCmd32{33 NodeTag type;34} IdentifySystemCmd;35 36 37/* ----------------------38 * BASE_BACKUP command39 * ----------------------40 */41typedef struct BaseBackupCmd42{43 NodeTag type;44 List *options;45} BaseBackupCmd;46 47 48/* ----------------------49 * CREATE_REPLICATION_SLOT command50 * ----------------------51 */52typedef struct CreateReplicationSlotCmd53{54 NodeTag type;55 char *slotname;56 ReplicationKind kind;57 char *plugin;58 bool temporary;59 List *options;60} CreateReplicationSlotCmd;61 62 63/* ----------------------64 * DROP_REPLICATION_SLOT command65 * ----------------------66 */67typedef struct DropReplicationSlotCmd68{69 NodeTag type;70 char *slotname;71 bool wait;72} DropReplicationSlotCmd;73 74 75/* ----------------------76 * START_REPLICATION command77 * ----------------------78 */79typedef struct StartReplicationCmd80{81 NodeTag type;82 ReplicationKind kind;83 char *slotname;84 TimeLineID timeline;85 XLogRecPtr startpoint;86 List *options;87} StartReplicationCmd;88 89 90/* ----------------------91 * READ_REPLICATION_SLOT command92 * ----------------------93 */94typedef struct ReadReplicationSlotCmd95{96 NodeTag type;97 char *slotname;98} ReadReplicationSlotCmd;99 100 101/* ----------------------102 * TIMELINE_HISTORY command103 * ----------------------104 */105typedef struct TimeLineHistoryCmd106{107 NodeTag type;108 TimeLineID timeline;109} TimeLineHistoryCmd;110 111#endif /* REPLNODES_H */112 