Re: [COMMITTERS] pgsql: Logical replication
2017-01-21 6:56 GMT+01:00 Amit Langote: > On Sat, Jan 21, 2017 at 1:19 PM, Amit Kapila > wrote: > > On Fri, Jan 20, 2017 at 7:36 PM, Peter Eisentraut > wrote: > >> 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 > >> Reviewed-by: Steve Singer > >> Reviewed-by: Andres Freund > >> Reviewed-by: Erik Rijkers > >> Reviewed-by: Peter Eisentraut > >> > >> > > .. > >> 119 files changed, 13354 insertions(+), 95 deletions(-) > >> > > > > > > Great work, Congrats Peter Jelinek and Thanks to all involved. > > Getting a feature of this magnitude deserves a big round of applause. > > +1, congrats! > +1 pretty big work is done! Pavel > > Thanks, > Amit > > > -- > Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-committers >
Re: [COMMITTERS] pgsql: Logical replication
On Sat, Jan 21, 2017 at 1:19 PM, Amit Kapilawrote: > On Fri, Jan 20, 2017 at 7:36 PM, Peter Eisentraut wrote: >> 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 >> Reviewed-by: Steve Singer >> Reviewed-by: Andres Freund >> Reviewed-by: Erik Rijkers >> Reviewed-by: Peter Eisentraut >> >> > .. >> 119 files changed, 13354 insertions(+), 95 deletions(-) >> > > > Great work, Congrats Peter Jelinek and Thanks to all involved. > Getting a feature of this magnitude deserves a big round of applause. +1, congrats! Thanks, Amit -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
Re: [COMMITTERS] pgsql: Logical replication
On Fri, Jan 20, 2017 at 7:36 PM, Peter Eisentrautwrote: > 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 > Reviewed-by: Steve Singer > Reviewed-by: Andres Freund > Reviewed-by: Erik Rijkers > Reviewed-by: Peter Eisentraut > > .. > 119 files changed, 13354 insertions(+), 95 deletions(-) > Great work, Congrats Peter Jelinek and Thanks to all involved. Getting a feature of this magnitude deserves a big round of applause. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Move some things from builtins.h to new header files
Move some things from builtins.h to new header files This avoids that builtins.h has to include additional header files. Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/f21a563d25dbae153937aec062161184189478b8 Modified Files -- contrib/bloom/blvalidate.c | 1 + contrib/citext/citext.c| 1 + contrib/dblink/dblink.c| 1 + contrib/fuzzystrmatch/fuzzystrmatch.c | 1 + contrib/pageinspect/btreefuncs.c | 1 + contrib/pageinspect/rawpage.c | 1 + contrib/pgrowlocks/pgrowlocks.c| 1 + contrib/pgstattuple/pgstatindex.c | 1 + contrib/pgstattuple/pgstattuple.c | 1 + contrib/postgres_fdw/option.c | 1 + contrib/tsearch2/tsearch2.c| 1 + contrib/unaccent/unaccent.c| 1 + src/backend/access/brin/brin_validate.c| 1 + src/backend/access/gin/ginvalidate.c | 1 + src/backend/access/gist/gistvalidate.c | 1 + src/backend/access/hash/hashvalidate.c | 1 + src/backend/access/nbtree/nbtvalidate.c| 1 + src/backend/access/spgist/spgtextproc.c| 1 + src/backend/access/spgist/spgvalidate.c| 1 + src/backend/catalog/namespace.c| 1 + src/backend/catalog/objectaddress.c| 1 + src/backend/catalog/pg_proc.c | 1 + src/backend/commands/extension.c | 1 + src/backend/commands/indexcmds.c | 1 + src/backend/commands/sequence.c| 1 + src/backend/commands/tablespace.c | 1 + src/backend/commands/variable.c| 1 + src/backend/parser/parse_relation.c| 1 + src/backend/postmaster/postmaster.c| 1 + src/backend/replication/logical/logicalfuncs.c | 1 + src/backend/replication/pgoutput/pgoutput.c| 2 +- src/backend/tsearch/dict_thesaurus.c | 1 + src/backend/tsearch/wparser.c | 1 + src/backend/utils/adt/acl.c| 1 + src/backend/utils/adt/jsonb_gin.c | 1 + src/backend/utils/adt/jsonb_util.c | 1 + src/backend/utils/adt/regexp.c | 1 + src/backend/utils/adt/regproc.c| 2 ++ src/backend/utils/adt/ruleutils.c | 1 + src/backend/utils/adt/selfuncs.c | 1 + src/backend/utils/adt/tid.c| 1 + src/backend/utils/adt/tsvector_op.c| 1 + src/backend/utils/adt/varchar.c| 1 + src/backend/utils/adt/varlena.c| 1 + src/backend/utils/cache/ts_cache.c | 1 + src/backend/utils/fmgr/funcapi.c | 1 + src/backend/utils/init/miscinit.c | 1 + src/backend/utils/misc/guc.c | 1 + src/backend/utils/misc/rls.c | 1 + src/include/utils/builtins.h | 33 +-- src/include/utils/regproc.h| 28 +++ src/include/utils/varlena.h| 37 ++ src/pl/plpgsql/src/pl_comp.c | 1 + src/pl/plpgsql/src/pl_handler.c| 1 + 54 files changed, 118 insertions(+), 33 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Avoid useless respawining the autovacuum launcher at high speed.
Avoid useless respawining the autovacuum launcher at high speed. When (1) autovacuum = off and (2) there's at least one database with an XID age greater than autovacuum_freeze_max_age and (3) all tables in that database that need vacuuming are already being processed by a worker and (4) the autovacuum launcher is started, a kind of infinite loop occurs. The launcher starts a worker and immediately exits. The worker, finding no worker to do, immediately starts the launcher, supposedly so that the next database can be processed. But because datfrozenxid for that database hasn't been advanced yet, the new worker gets put right back into the same database as the old one, where it once again starts the launcher and exits. High-speed ping pong ensues. There are several possible ways to break the cycle; this seems like the safest one. Amit Khandekar (code) and Robert Haas (comments), reviewed by Álvaro Herrera. Discussion: http://postgr.es/m/CAJ3gD9eWejf72HKquKSzax0r+epS=nabqknnykkma0e8c+r...@mail.gmail.com Branch -- REL9_5_STABLE Details --- http://git.postgresql.org/pg/commitdiff/aeaaf62aa57a6b8d35a092b4897a801e1881a9a0 Modified Files -- src/backend/postmaster/autovacuum.c | 24 +++- 1 file changed, 23 insertions(+), 1 deletion(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Avoid useless respawining the autovacuum launcher at high speed.
Avoid useless respawining the autovacuum launcher at high speed. When (1) autovacuum = off and (2) there's at least one database with an XID age greater than autovacuum_freeze_max_age and (3) all tables in that database that need vacuuming are already being processed by a worker and (4) the autovacuum launcher is started, a kind of infinite loop occurs. The launcher starts a worker and immediately exits. The worker, finding no worker to do, immediately starts the launcher, supposedly so that the next database can be processed. But because datfrozenxid for that database hasn't been advanced yet, the new worker gets put right back into the same database as the old one, where it once again starts the launcher and exits. High-speed ping pong ensues. There are several possible ways to break the cycle; this seems like the safest one. Amit Khandekar (code) and Robert Haas (comments), reviewed by Álvaro Herrera. Discussion: http://postgr.es/m/CAJ3gD9eWejf72HKquKSzax0r+epS=nabqknnykkma0e8c+r...@mail.gmail.com Branch -- REL9_6_STABLE Details --- http://git.postgresql.org/pg/commitdiff/746ba76f1e15e2a7de1bda1eab9b1b8d84875ea5 Modified Files -- src/backend/postmaster/autovacuum.c | 24 +++- 1 file changed, 23 insertions(+), 1 deletion(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Avoid useless respawining the autovacuum launcher at high speed.
Avoid useless respawining the autovacuum launcher at high speed. When (1) autovacuum = off and (2) there's at least one database with an XID age greater than autovacuum_freeze_max_age and (3) all tables in that database that need vacuuming are already being processed by a worker and (4) the autovacuum launcher is started, a kind of infinite loop occurs. The launcher starts a worker and immediately exits. The worker, finding no worker to do, immediately starts the launcher, supposedly so that the next database can be processed. But because datfrozenxid for that database hasn't been advanced yet, the new worker gets put right back into the same database as the old one, where it once again starts the launcher and exits. High-speed ping pong ensues. There are several possible ways to break the cycle; this seems like the safest one. Amit Khandekar (code) and Robert Haas (comments), reviewed by Álvaro Herrera. Discussion: http://postgr.es/m/CAJ3gD9eWejf72HKquKSzax0r+epS=nabqknnykkma0e8c+r...@mail.gmail.com Branch -- REL9_3_STABLE Details --- http://git.postgresql.org/pg/commitdiff/5c5788e901e2bc3ec242d0a22de8b7d8a5ddb69b Modified Files -- src/backend/postmaster/autovacuum.c | 24 +++- 1 file changed, 23 insertions(+), 1 deletion(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Avoid useless respawining the autovacuum launcher at high speed.
Avoid useless respawining the autovacuum launcher at high speed. When (1) autovacuum = off and (2) there's at least one database with an XID age greater than autovacuum_freeze_max_age and (3) all tables in that database that need vacuuming are already being processed by a worker and (4) the autovacuum launcher is started, a kind of infinite loop occurs. The launcher starts a worker and immediately exits. The worker, finding no worker to do, immediately starts the launcher, supposedly so that the next database can be processed. But because datfrozenxid for that database hasn't been advanced yet, the new worker gets put right back into the same database as the old one, where it once again starts the launcher and exits. High-speed ping pong ensues. There are several possible ways to break the cycle; this seems like the safest one. Amit Khandekar (code) and Robert Haas (comments), reviewed by Álvaro Herrera. Discussion: http://postgr.es/m/CAJ3gD9eWejf72HKquKSzax0r+epS=nabqknnykkma0e8c+r...@mail.gmail.com Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/c6a389792e08980e395055ac219303cf4357ba33 Modified Files -- src/backend/postmaster/autovacuum.c | 24 +++- 1 file changed, 23 insertions(+), 1 deletion(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Avoid useless respawining the autovacuum launcher at high speed.
Avoid useless respawining the autovacuum launcher at high speed. When (1) autovacuum = off and (2) there's at least one database with an XID age greater than autovacuum_freeze_max_age and (3) all tables in that database that need vacuuming are already being processed by a worker and (4) the autovacuum launcher is started, a kind of infinite loop occurs. The launcher starts a worker and immediately exits. The worker, finding no worker to do, immediately starts the launcher, supposedly so that the next database can be processed. But because datfrozenxid for that database hasn't been advanced yet, the new worker gets put right back into the same database as the old one, where it once again starts the launcher and exits. High-speed ping pong ensues. There are several possible ways to break the cycle; this seems like the safest one. Amit Khandekar (code) and Robert Haas (comments), reviewed by Álvaro Herrera. Discussion: http://postgr.es/m/CAJ3gD9eWejf72HKquKSzax0r+epS=nabqknnykkma0e8c+r...@mail.gmail.com Branch -- REL9_4_STABLE Details --- http://git.postgresql.org/pg/commitdiff/806f9b3d764c35bf584fdb674267e8d910ee08bb Modified Files -- src/backend/postmaster/autovacuum.c | 24 +++- 1 file changed, 23 insertions(+), 1 deletion(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Avoid useless respawining the autovacuum launcher at high speed.
Avoid useless respawining the autovacuum launcher at high speed. When (1) autovacuum = off and (2) there's at least one database with an XID age greater than autovacuum_freeze_max_age and (3) all tables in that database that need vacuuming are already being processed by a worker and (4) the autovacuum launcher is started, a kind of infinite loop occurs. The launcher starts a worker and immediately exits. The worker, finding no worker to do, immediately starts the launcher, supposedly so that the next database can be processed. But because datfrozenxid for that database hasn't been advanced yet, the new worker gets put right back into the same database as the old one, where it once again starts the launcher and exits. High-speed ping pong ensues. There are several possible ways to break the cycle; this seems like the safest one. Amit Khandekar (code) and Robert Haas (comments), reviewed by Álvaro Herrera. Discussion: http://postgr.es/m/CAJ3gD9eWejf72HKquKSzax0r+epS=nabqknnykkma0e8c+r...@mail.gmail.com Branch -- REL9_2_STABLE Details --- http://git.postgresql.org/pg/commitdiff/5dff230eb1c3c72dd9f0e8fbf2040d65b96e1fba Modified Files -- src/backend/postmaster/autovacuum.c | 24 +++- 1 file changed, 23 insertions(+), 1 deletion(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Fix comparison logic in partition_bounds_equal for non-finite bo
Fix comparison logic in partition_bounds_equal for non-finite bounds. If either bound is infinite, then we shouldn't even try to perform a comparison of the values themselves. Rearrange the logic so that we don't. Per buildfarm member skink and Tom Lane. Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/6546ffb35db78365d9f0011d75d16625e6040437 Modified Files -- src/backend/catalog/partition.c | 20 1 file changed, 16 insertions(+), 4 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Record dependencies on owners for logical replication objects
Record dependencies on owners for logical replication objects This was forgotten in 665d1fad99e7b11678b0d5fa24d2898424243cd6 and caused the whole buildfarm to become red for a little while. Author: Petr Jelínek Also fix a typo in a nearby error message. Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/50cf1c80e6be80cc620749824fe9e3cd7f6c118e Modified Files -- src/backend/commands/publicationcmds.c | 2 ++ src/backend/commands/subscriptioncmds.c | 10 -- 2 files changed, 10 insertions(+), 2 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: tests: Use the right Perl operator
tests: Use the right Perl operator We were using != to compare strings, for which "ne" is the right thing. It's not clear why it works everywhere except on Pavan's machine, but it's clearly bogus anyway. Author and reporter: Pavan Deolasee Discussion: https://postgr.es/m/caboikdphshm+px8skoey1_t0otkdo1udzuj4vcju5vet+bj...@mail.gmail.com Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/a600ee9e3fcc43d4497d18d837f1e86148ca7580 Modified Files -- src/test/modules/commit_ts/t/004_restart.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Try to fix non-MSVC Windows builds in the wake of logical replic
Try to fix non-MSVC Windows builds in the wake of logical replication. pgoutput evidently needs to be built without -DBUILDING_DLL. (It seems like a pretty bad idea that these makefiles need to know exactly where all the shlibs are in the tree, or maybe what's bad is putting them under src/backend/. But right now is not the time to redesign that.) Also, remove "override CPPFLAGS" in pgoutput's Makefile. I don't think that that actually has any bad consequences, but it's certainly useless in a directory that has no .h files, and it might be contributing to the failure somehow. Per buildfarm. Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/0502e854640bd024f349c0df46b7dd6812b8c05c Modified Files -- src/backend/replication/pgoutput/Makefile | 2 -- src/makefiles/Makefile.cygwin | 4 +++- src/makefiles/Makefile.win32 | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Allow backslash line continuations in pgbench's meta commands.
Allow backslash line continuations in pgbench's meta commands. A pgbench meta command can now be continued onto additional line(s) of a script file by writing backslash-return. The continuation marker is equivalent to white space in that it separates tokens. Eventually it'd be nice to have the same thing in psql, but that will be a much larger project. Fabien Coelho, reviewed by Rafia Sabih Discussion: https://postgr.es/m/alpine.DEB.2.20.1610031049310.19411@lancre Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/cdc2a70470bdbe3663dc464deb753d6d931bba61 Modified Files -- doc/src/sgml/ref/pgbench.sgml | 6 -- src/bin/pgbench/exprscan.l| 21 +++-- 2 files changed, 23 insertions(+), 4 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Add description of temporary column into pg_replication_slots do
Add description of temporary column into pg_replication_slots doc. Ayumi Ishii Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/954737095061e5b5f1d87fb8cc43f7f8afff64c6 Modified Files -- doc/src/sgml/catalogs.sgml | 9 + 1 file changed, 9 insertions(+) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Paper over pg_upgrade test failure
Paper over pg_upgrade test failure The publication test didn't drop all the publications it was creating when it was probably intending to do that. There is still a bug with dependency tracking in there, but this should at least quiet down the build farm. Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/6c488ea13634897df5f9b5769eb26bbc3d926ce0 Modified Files -- src/test/regress/expected/publication.out | 1 + src/test/regress/sql/publication.sql | 1 + 2 files changed, 2 insertions(+) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
Re: [COMMITTERS] pgsql: Logical replication
* Peter Eisentraut (pete...@gmx.net) wrote: > Logical replication > > - Add PUBLICATION catalogs and DDL > - Add SUBSCRIPTION catalog and DDL > - Define logical replication protocol and output plugin > - Add logical replication workers The buildfarm is rather upset with this. Looks like an issue in pg_upgrade / pg_dump. Thanks! Stephen signature.asc Description: Digital signature
[COMMITTERS] pgsql: Bump catversion
Bump catversion Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/e4c27f5befbfc80a1bf96fc93256dce08b148238 Modified Files -- src/include/catalog/catversion.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Logical replication
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 JelinekReviewed-by: Steve Singer Reviewed-by: Andres Freund Reviewed-by: Erik Rijkers Reviewed-by: Peter Eisentraut Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/665d1fad99e7b11678b0d5fa24d2898424243cd6 Modified Files -- doc/src/sgml/catalogs.sgml | 309 + doc/src/sgml/config.sgml | 41 + doc/src/sgml/filelist.sgml |1 + doc/src/sgml/func.sgml |2 +- doc/src/sgml/logical-replication.sgml | 396 ++ doc/src/sgml/monitoring.sgml | 74 + doc/src/sgml/postgres.sgml |1 + doc/src/sgml/protocol.sgml | 721 ++ doc/src/sgml/ref/allfiles.sgml |6 + doc/src/sgml/ref/alter_publication.sgml| 139 ++ doc/src/sgml/ref/alter_subscription.sgml | 139 ++ doc/src/sgml/ref/create_publication.sgml | 206 +++ doc/src/sgml/ref/create_subscription.sgml | 176 +++ doc/src/sgml/ref/drop_publication.sgml | 107 ++ doc/src/sgml/ref/drop_subscription.sgml| 110 ++ doc/src/sgml/ref/pg_dump.sgml | 21 + doc/src/sgml/ref/psql-ref.sgml | 28 + doc/src/sgml/reference.sgml|6 + src/Makefile |1 + src/backend/access/transam/xact.c |2 + src/backend/catalog/Makefile |7 +- src/backend/catalog/aclchk.c | 57 + src/backend/catalog/catalog.c |8 +- src/backend/catalog/dependency.c | 24 + src/backend/catalog/objectaddress.c| 219 +++ src/backend/catalog/pg_publication.c | 457 +++ src/backend/catalog/pg_shdepend.c | 11 + src/backend/catalog/pg_subscription.c | 207 +++ src/backend/catalog/system_views.sql | 25 + src/backend/commands/Makefile |8 +- src/backend/commands/alter.c | 10 + src/backend/commands/dbcommands.c | 17 + src/backend/commands/define.c | 28 + src/backend/commands/dropcmds.c|4 + src/backend/commands/event_trigger.c |8 + src/backend/commands/publicationcmds.c | 754 +++ src/backend/commands/subscriptioncmds.c| 643 + src/backend/commands/tablecmds.c | 12 + src/backend/executor/Makefile |2 +- src/backend/executor/execMain.c|3 +- src/backend/executor/execReplication.c | 553 src/backend/nodes/copyfuncs.c | 78 ++ src/backend/nodes/equalfuncs.c | 73 + src/backend/parser/gram.y | 262 +++- src/backend/postmaster/bgworker.c | 23 +- src/backend/postmaster/pgstat.c|6 + src/backend/postmaster/postmaster.c|9 + .../libpqwalreceiver/libpqwalreceiver.c| 217 ++- src/backend/replication/logical/Makefile |4 +- src/backend/replication/logical/launcher.c | 759 +++ src/backend/replication/logical/proto.c| 637 + src/backend/replication/logical/relation.c | 489 +++ src/backend/replication/logical/worker.c | 1429 src/backend/replication/pgoutput/Makefile | 32 + src/backend/replication/pgoutput/pgoutput.c| 596 src/backend/replication/walreceiver.c | 20 +- src/backend/storage/ipc/ipci.c |3 + src/backend/storage/lmgr/lwlocknames.txt |2 + src/backend/tcop/utility.c | 83 ++ src/backend/utils/cache/inval.c| 35 +- src/backend/utils/cache/relcache.c | 136 +- src/backend/utils/cache/syscache.c | 69 + src/backend/utils/misc/guc.c | 13 + src/backend/utils/misc/postgresql.conf.sample |1 + src/bin/pg_dump/common.c | 12 + src/bin/pg_dump/pg_backup.h|3 + src/bin/pg_dump/pg_backup_archiver.c |7 +- src/bin/pg_dump/pg_dump.c | 464 +++ src/bin/pg_dump/pg_dump.h | 46 +- src/bin/pg_dump/pg_dump_sort.c | 20 +- src/bin/pg_dump/pg_restore.c |3 +