Re: [COMMITTERS] pgsql: Logical replication

2017-01-20 Thread Pavel Stehule
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

2017-01-20 Thread 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!

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

2017-01-20 Thread Amit Kapila
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.


-- 
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

2017-01-20 Thread Peter Eisentraut
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.

2017-01-20 Thread Robert Haas
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.

2017-01-20 Thread Robert Haas
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.

2017-01-20 Thread Robert Haas
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.

2017-01-20 Thread Robert Haas
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.

2017-01-20 Thread Robert Haas
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.

2017-01-20 Thread Robert Haas
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

2017-01-20 Thread Robert Haas
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

2017-01-20 Thread Alvaro Herrera
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

2017-01-20 Thread Alvaro Herrera
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

2017-01-20 Thread Tom Lane
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.

2017-01-20 Thread Tom Lane
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

2017-01-20 Thread Fujii Masao
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

2017-01-20 Thread Peter Eisentraut
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

2017-01-20 Thread Stephen Frost
* 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

2017-01-20 Thread Peter Eisentraut
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

2017-01-20 Thread Peter Eisentraut
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 

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 +