1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-12 21:01:52 +03:00

Logical replication

- Add PUBLICATION catalogs and DDL
- Add SUBSCRIPTION catalog and DDL
- Define logical replication protocol and output plugin
- Add logical replication workers

From: Petr Jelinek <petr@2ndquadrant.com>
Reviewed-by: Steve Singer <steve@ssinger.info>
Reviewed-by: Andres Freund <andres@anarazel.de>
Reviewed-by: Erik Rijkers <er@xs4all.nl>
Reviewed-by: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
This commit is contained in:
Peter Eisentraut
2017-01-19 12:00:00 -05:00
parent ba61a04bc7
commit 665d1fad99
119 changed files with 13354 additions and 95 deletions

View File

@ -50,6 +50,8 @@
#include "catalog/pg_opfamily.h"
#include "catalog/pg_partitioned_table.h"
#include "catalog/pg_proc.h"
#include "catalog/pg_publication.h"
#include "catalog/pg_publication_rel.h"
#include "catalog/pg_range.h"
#include "catalog/pg_rewrite.h"
#include "catalog/pg_seclabel.h"
@ -59,6 +61,7 @@
#include "catalog/pg_shseclabel.h"
#include "catalog/pg_replication_origin.h"
#include "catalog/pg_statistic.h"
#include "catalog/pg_subscription.h"
#include "catalog/pg_tablespace.h"
#include "catalog/pg_transform.h"
#include "catalog/pg_ts_config.h"
@ -658,6 +661,50 @@ static const struct cachedesc cacheinfo[] = {
},
16
},
{PublicationRelationId, /* PUBLICATIONOID */
PublicationObjectIndexId,
1,
{
ObjectIdAttributeNumber,
0,
0,
0
},
8
},
{PublicationRelationId, /* PUBLICATIONNAME */
PublicationNameIndexId,
1,
{
Anum_pg_publication_pubname,
0,
0,
0
},
8
},
{PublicationRelRelationId, /* PUBLICATIONREL */
PublicationRelObjectIndexId,
1,
{
ObjectIdAttributeNumber,
0,
0,
0
},
64
},
{PublicationRelRelationId, /* PUBLICATIONRELMAP */
PublicationRelMapIndexId,
2,
{
Anum_pg_publication_rel_prrelid,
Anum_pg_publication_rel_prpubid,
0,
0
},
64
},
{RewriteRelationId, /* RULERELNAME */
RewriteRelRulenameIndexId,
2,
@ -691,6 +738,28 @@ static const struct cachedesc cacheinfo[] = {
},
128
},
{SubscriptionRelationId, /* SUBSCRIPTIONOID */
SubscriptionObjectIndexId,
1,
{
ObjectIdAttributeNumber,
0,
0,
0
},
4
},
{SubscriptionRelationId, /* SUBSCRIPTIONNAME */
SubscriptionNameIndexId,
2,
{
Anum_pg_subscription_subdbid,
Anum_pg_subscription_subname,
0,
0
},
4
},
{TableSpaceRelationId, /* TABLESPACEOID */
TablespaceOidIndexId,
1,