2010-01-15 10:19:10 +01:00
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
#
|
|
|
|
# Makefile--
|
|
|
|
# Makefile for src/backend/replication
|
|
|
|
#
|
|
|
|
# IDENTIFICATION
|
2010-09-20 22:08:53 +02:00
|
|
|
# src/backend/replication/Makefile
|
2010-01-15 10:19:10 +01:00
|
|
|
#
|
|
|
|
#-------------------------------------------------------------------------
|
|
|
|
|
|
|
|
subdir = src/backend/replication
|
|
|
|
top_builddir = ../../..
|
|
|
|
include $(top_builddir)/src/Makefile.global
|
|
|
|
|
2014-09-25 15:22:26 +02:00
|
|
|
override CPPFLAGS := -I. -I$(srcdir) $(CPPFLAGS)
|
2011-06-22 19:20:03 +02:00
|
|
|
|
2019-11-05 23:41:07 +01:00
|
|
|
OBJS = \
|
2020-04-20 20:37:38 +02:00
|
|
|
backup_manifest.o \
|
2019-11-05 23:41:07 +01:00
|
|
|
basebackup.o \
|
|
|
|
repl_gram.o \
|
|
|
|
slot.o \
|
|
|
|
slotfuncs.o \
|
|
|
|
syncrep.o \
|
|
|
|
syncrep_gram.o \
|
|
|
|
walreceiver.o \
|
|
|
|
walreceiverfuncs.o \
|
|
|
|
walsender.o
|
2010-01-15 10:19:10 +01:00
|
|
|
|
Introduce logical decoding.
This feature, building on previous commits, allows the write-ahead log
stream to be decoded into a series of logical changes; that is,
inserts, updates, and deletes and the transactions which contain them.
It is capable of handling decoding even across changes to the schema
of the effected tables. The output format is controlled by a
so-called "output plugin"; an example is included. To make use of
this in a real replication system, the output plugin will need to be
modified to produce output in the format appropriate to that system,
and to perform filtering.
Currently, information can be extracted from the logical decoding
system only via SQL; future commits will add the ability to stream
changes via walsender.
Andres Freund, with review and other contributions from many other
people, including Álvaro Herrera, Abhijit Menon-Sen, Peter Gheogegan,
Kevin Grittner, Robert Haas, Heikki Linnakangas, Fujii Masao, Abhijit
Menon-Sen, Michael Paquier, Simon Riggs, Craig Ringer, and Steve
Singer.
2014-03-03 22:32:18 +01:00
|
|
|
SUBDIRS = logical
|
|
|
|
|
2010-01-15 10:19:10 +01:00
|
|
|
include $(top_srcdir)/src/backend/common.mk
|
2011-01-14 16:30:33 +01:00
|
|
|
|
|
|
|
# repl_scanner is compiled as part of repl_gram
|
|
|
|
repl_gram.o: repl_scanner.c
|
|
|
|
|
2017-05-20 00:05:20 +02:00
|
|
|
# syncrep_scanner is compiled as part of syncrep_gram
|
Support multiple synchronous standby servers.
Previously synchronous replication offered only the ability to confirm
that all changes made by a transaction had been transferred to at most
one synchronous standby server.
This commit extends synchronous replication so that it supports multiple
synchronous standby servers. It enables users to consider one or more
standby servers as synchronous, and increase the level of transaction
durability by ensuring that transaction commits wait for replies from
all of those synchronous standbys.
Multiple synchronous standby servers are configured in
synchronous_standby_names which is extended to support new syntax of
'num_sync ( standby_name [ , ... ] )', where num_sync specifies
the number of synchronous standbys that transaction commits need to
wait for replies from and standby_name is the name of a standby
server.
The syntax of 'standby_name [ , ... ]' which was used in 9.5 or before
is also still supported. It's the same as new syntax with num_sync=1.
This commit doesn't include "quorum commit" feature which was discussed
in pgsql-hackers. Synchronous standbys are chosen based on their priorities.
synchronous_standby_names determines the priority of each standby for
being chosen as a synchronous standby. The standbys whose names appear
earlier in the list are given higher priority and will be considered as
synchronous. Other standby servers appearing later in this list
represent potential synchronous standbys.
The regression test for multiple synchronous standbys is not included
in this commit. It should come later.
Authors: Sawada Masahiko, Beena Emerson, Michael Paquier, Fujii Masao
Reviewed-By: Kyotaro Horiguchi, Amit Kapila, Robert Haas, Simon Riggs,
Amit Langote, Thomas Munro, Sameer Thakur, Suraj Kharage, Abhijit Menon-Sen,
Rajeev Rastogi
Many thanks to the various individuals who were involved in
discussing and developing this feature.
2016-04-06 10:18:25 +02:00
|
|
|
syncrep_gram.o: syncrep_scanner.c
|
|
|
|
|
|
|
|
# repl_gram.c, repl_scanner.c, syncrep_gram.c and syncrep_scanner.c
|
|
|
|
# are in the distribution tarball, so they are not cleaned here.
|
2017-05-20 00:05:20 +02:00
|
|
|
# (Our parent Makefile takes care of them during maintainer-clean.)
|