mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			110 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*-------------------------------------------------------------------------
 | 
						|
 *
 | 
						|
 * replnodes.h
 | 
						|
 *	  definitions for replication grammar parse nodes
 | 
						|
 *
 | 
						|
 *
 | 
						|
 * Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
 | 
						|
 * Portions Copyright (c) 1994, Regents of the University of California
 | 
						|
 *
 | 
						|
 * src/include/nodes/replnodes.h
 | 
						|
 *
 | 
						|
 *-------------------------------------------------------------------------
 | 
						|
 */
 | 
						|
#ifndef REPLNODES_H
 | 
						|
#define REPLNODES_H
 | 
						|
 | 
						|
#include "access/xlogdefs.h"
 | 
						|
#include "nodes/pg_list.h"
 | 
						|
 | 
						|
typedef enum ReplicationKind
 | 
						|
{
 | 
						|
	REPLICATION_KIND_PHYSICAL,
 | 
						|
	REPLICATION_KIND_LOGICAL
 | 
						|
} ReplicationKind;
 | 
						|
 | 
						|
 | 
						|
/* ----------------------
 | 
						|
 *		IDENTIFY_SYSTEM command
 | 
						|
 * ----------------------
 | 
						|
 */
 | 
						|
typedef struct IdentifySystemCmd
 | 
						|
{
 | 
						|
	NodeTag		type;
 | 
						|
} IdentifySystemCmd;
 | 
						|
 | 
						|
 | 
						|
/* ----------------------
 | 
						|
 *		BASE_BACKUP command
 | 
						|
 * ----------------------
 | 
						|
 */
 | 
						|
typedef struct BaseBackupCmd
 | 
						|
{
 | 
						|
	NodeTag		type;
 | 
						|
	List	   *options;
 | 
						|
} BaseBackupCmd;
 | 
						|
 | 
						|
 | 
						|
/* ----------------------
 | 
						|
 *		CREATE_REPLICATION_SLOT command
 | 
						|
 * ----------------------
 | 
						|
 */
 | 
						|
typedef struct CreateReplicationSlotCmd
 | 
						|
{
 | 
						|
	NodeTag		type;
 | 
						|
	char	   *slotname;
 | 
						|
	ReplicationKind kind;
 | 
						|
	char	   *plugin;
 | 
						|
	bool		temporary;
 | 
						|
	List	   *options;
 | 
						|
} CreateReplicationSlotCmd;
 | 
						|
 | 
						|
 | 
						|
/* ----------------------
 | 
						|
 *		DROP_REPLICATION_SLOT command
 | 
						|
 * ----------------------
 | 
						|
 */
 | 
						|
typedef struct DropReplicationSlotCmd
 | 
						|
{
 | 
						|
	NodeTag		type;
 | 
						|
	char	   *slotname;
 | 
						|
	bool		wait;
 | 
						|
} DropReplicationSlotCmd;
 | 
						|
 | 
						|
 | 
						|
/* ----------------------
 | 
						|
 *		START_REPLICATION command
 | 
						|
 * ----------------------
 | 
						|
 */
 | 
						|
typedef struct StartReplicationCmd
 | 
						|
{
 | 
						|
	NodeTag		type;
 | 
						|
	ReplicationKind kind;
 | 
						|
	char	   *slotname;
 | 
						|
	TimeLineID	timeline;
 | 
						|
	XLogRecPtr	startpoint;
 | 
						|
	List	   *options;
 | 
						|
} StartReplicationCmd;
 | 
						|
 | 
						|
 | 
						|
/* ----------------------
 | 
						|
 *		TIMELINE_HISTORY command
 | 
						|
 * ----------------------
 | 
						|
 */
 | 
						|
typedef struct TimeLineHistoryCmd
 | 
						|
{
 | 
						|
	NodeTag		type;
 | 
						|
	TimeLineID	timeline;
 | 
						|
} TimeLineHistoryCmd;
 | 
						|
 | 
						|
/* ----------------------
 | 
						|
 *		SQL commands
 | 
						|
 * ----------------------
 | 
						|
 */
 | 
						|
typedef struct SQLCmd
 | 
						|
{
 | 
						|
	NodeTag		type;
 | 
						|
} SQLCmd;
 | 
						|
 | 
						|
#endif							/* REPLNODES_H */
 |