pgsql: Pre branch pgindent / pgperltidy run

2021-06-28 Thread Andrew Dunstan
Pre branch pgindent / pgperltidy run

Along the way make a slight adjustment to
src/include/utils/queryjumble.h to avoid an unused typedef.

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/e1c1c30f635390b6a3ae4993e8cac213a33e6e3f

Modified Files
--
src/backend/access/heap/hio.c|  4 +--
src/backend/catalog/genbki.pl| 10 
src/backend/catalog/heap.c   |  2 +-
src/backend/executor/nodeModifyTable.c   | 21 
src/backend/replication/logical/reorderbuffer.c  |  4 +--
src/backend/replication/logical/tablesync.c  |  2 +-
src/backend/replication/pgoutput/pgoutput.c  |  3 ++-
src/backend/storage/ipc/procarray.c  |  2 +-
src/bin/pgbench/t/001_pgbench_with_server.pl |  6 ++---
src/include/nodes/execnodes.h|  2 +-
src/include/utils/queryjumble.h  |  4 +--
src/test/perl/PostgresNode.pm|  4 +--
src/test/recovery/t/005_replay_delay.pl  | 32 
src/test/recovery/t/025_stuck_on_old_timeline.pl | 20 +--
src/test/subscription/t/001_rep_changes.pl   | 23 +++--
src/test/subscription/t/010_truncate.pl  |  9 +++
src/test/subscription/t/013_partition.pl |  3 ++-
src/test/subscription/t/020_messages.pl  |  9 ---
src/tools/pgindent/typedefs.list | 10 +---
19 files changed, 94 insertions(+), 76 deletions(-)



pgsql: Branch REL_14_STABLE was created

2021-06-28 Thread noreply
Branch REL_14_STABLE was created.

View: https://git.postgresql.org/pg/shortlog/refs/heads/REL_14_STABLE

pgsql: Stamp HEAD as 15devel.

2021-06-28 Thread Andrew Dunstan
Stamp HEAD as 15devel.

Let the hacking begin ...

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/596b5af1d3675b58d4018acd64217e2f627da3e4

Modified Files
--
configure|   18 +-
configure.ac |2 +-
doc/src/sgml/filelist.sgml   |2 +-
doc/src/sgml/release-14.sgml | 4034 --
doc/src/sgml/release-15.sgml |   16 +
doc/src/sgml/release.sgml|2 +-
src/tools/git_changelog  |2 +-
src/tools/version_stamp.pl   |2 +-
8 files changed, 30 insertions(+), 4048 deletions(-)



pgsql: Add pgindent commit to git-blame-ignore-revs file.

2021-06-28 Thread Peter Geoghegan
Add pgindent commit to git-blame-ignore-revs file.

Add entry for recent commit e1c1c30f.

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/ba135fa537ab5c2fca0d589c826ebb3ecf98b2f1

Modified Files
--
.git-blame-ignore-revs | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)



Re: pgsql: Add pgindent commit to git-blame-ignore-revs file.

2021-06-28 Thread Andrew Dunstan


On 6/28/21 12:26 PM, Peter Geoghegan wrote:
> Add pgindent commit to git-blame-ignore-revs file.
>
> Add entry for recent commit e1c1c30f.
>

Hmm, did I miss something or do we need to update some instructions
somewhere?


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com





Re: pgsql: Pre branch pgindent / pgperltidy run

2021-06-28 Thread Peter Geoghegan
On Mon, Jun 28, 2021 at 8:08 AM Andrew Dunstan  wrote:
> Pre branch pgindent / pgperltidy run

We recently started maintaining a file that lists ignorable commits --
commits that git-blame ignores to produce more helpful output (when an
individual hacker opts in).

See: 
https://postgr.es/m/CAH2-Wz=cVh3GHTP6SdLU-Gnmt2zRdF8vZkcrFdSzXQ=whbw...@mail.gmail.com

I went ahead and committed a new entry into .git-blame-ignore-revs for
this pgindent commit just now. Probably something that you should do
in passing next time.

Thanks
-- 
Peter Geoghegan




Re: pgsql: Add pgindent commit to git-blame-ignore-revs file.

2021-06-28 Thread Peter Geoghegan
On Mon, Jun 28, 2021 at 9:31 AM Andrew Dunstan  wrote:
> Hmm, did I miss something or do we need to update some instructions
> somewhere?

(Responded on the other committers thread just now too.)

I did update the instructions in commit 8e638845, but perhaps I
omitted to update something. What do you think?

-- 
Peter Geoghegan




pgsql: Don't depend on -fwrapv semantics in pgbench's random() function

2021-06-28 Thread Tom Lane
Don't depend on -fwrapv semantics in pgbench's random() function.

Instead use the common/int.h functions to check for integer overflow
in a more C-standard-compliant fashion.  This is motivated by recent
failures on buildfarm member moonjelly, where it appears that
development-tip gcc is optimizing without regard to the -fwrapv
switch.  Presumably that's a gcc bug that will be fixed soon, but
we might as well install cleaner coding here rather than wait.

(This does not address the question of whether we'll ever be able
to get rid of using -fwrapv.  Testing shows that this spot is the
only place where doing so creates visible regression test failures,
but unfortunately that proves very little.)

Back-patch to v12.  The common/int.h functions exist in v11, but
that branch doesn't use them in any client-side code.  I judge
that this case isn't interesting enough in the real world to take
even a small risk of issues from being the first such use.

Tom Lane and Fabien Coelho

Discussion: https://postgr.es/m/73927.1624815...@sss.pgh.pa.us

Branch
--
REL_14_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/203c5aaaba56715168c1e80a45d4929120c9281b

Modified Files
--
src/bin/pgbench/pgbench.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)



pgsql: Don't depend on -fwrapv semantics in pgbench's random() function

2021-06-28 Thread Tom Lane
Don't depend on -fwrapv semantics in pgbench's random() function.

Instead use the common/int.h functions to check for integer overflow
in a more C-standard-compliant fashion.  This is motivated by recent
failures on buildfarm member moonjelly, where it appears that
development-tip gcc is optimizing without regard to the -fwrapv
switch.  Presumably that's a gcc bug that will be fixed soon, but
we might as well install cleaner coding here rather than wait.

(This does not address the question of whether we'll ever be able
to get rid of using -fwrapv.  Testing shows that this spot is the
only place where doing so creates visible regression test failures,
but unfortunately that proves very little.)

Back-patch to v12.  The common/int.h functions exist in v11, but
that branch doesn't use them in any client-side code.  I judge
that this case isn't interesting enough in the real world to take
even a small risk of issues from being the first such use.

Tom Lane and Fabien Coelho

Discussion: https://postgr.es/m/73927.1624815...@sss.pgh.pa.us

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/01697e92a460b10fde43707b29391c8deb69573e

Modified Files
--
src/bin/pgbench/pgbench.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)



pgsql: Don't depend on -fwrapv semantics in pgbench's random() function

2021-06-28 Thread Tom Lane
Don't depend on -fwrapv semantics in pgbench's random() function.

Instead use the common/int.h functions to check for integer overflow
in a more C-standard-compliant fashion.  This is motivated by recent
failures on buildfarm member moonjelly, where it appears that
development-tip gcc is optimizing without regard to the -fwrapv
switch.  Presumably that's a gcc bug that will be fixed soon, but
we might as well install cleaner coding here rather than wait.

(This does not address the question of whether we'll ever be able
to get rid of using -fwrapv.  Testing shows that this spot is the
only place where doing so creates visible regression test failures,
but unfortunately that proves very little.)

Back-patch to v12.  The common/int.h functions exist in v11, but
that branch doesn't use them in any client-side code.  I judge
that this case isn't interesting enough in the real world to take
even a small risk of issues from being the first such use.

Tom Lane and Fabien Coelho

Discussion: https://postgr.es/m/73927.1624815...@sss.pgh.pa.us

Branch
--
REL_12_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/3fd334795e268ad49a48bde8fdba69b9a19f08cb

Modified Files
--
src/bin/pgbench/pgbench.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)



pgsql: Don't depend on -fwrapv semantics in pgbench's random() function

2021-06-28 Thread Tom Lane
Don't depend on -fwrapv semantics in pgbench's random() function.

Instead use the common/int.h functions to check for integer overflow
in a more C-standard-compliant fashion.  This is motivated by recent
failures on buildfarm member moonjelly, where it appears that
development-tip gcc is optimizing without regard to the -fwrapv
switch.  Presumably that's a gcc bug that will be fixed soon, but
we might as well install cleaner coding here rather than wait.

(This does not address the question of whether we'll ever be able
to get rid of using -fwrapv.  Testing shows that this spot is the
only place where doing so creates visible regression test failures,
but unfortunately that proves very little.)

Back-patch to v12.  The common/int.h functions exist in v11, but
that branch doesn't use them in any client-side code.  I judge
that this case isn't interesting enough in the real world to take
even a small risk of issues from being the first such use.

Tom Lane and Fabien Coelho

Discussion: https://postgr.es/m/73927.1624815...@sss.pgh.pa.us

Branch
--
REL_13_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/be567deb3ac952e41edc81b8c08a0dc6115c5f62

Modified Files
--
src/bin/pgbench/pgbench.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)



Re: pgsql: Add pgindent commit to git-blame-ignore-revs file.

2021-06-28 Thread Alvaro Herrera
On 2021-Jun-28, Peter Geoghegan wrote:

> On Mon, Jun 28, 2021 at 9:31 AM Andrew Dunstan  wrote:
> > Hmm, did I miss something or do we need to update some instructions
> > somewhere?
> 
> (Responded on the other committers thread just now too.)
> 
> I did update the instructions in commit 8e638845, but perhaps I
> omitted to update something. What do you think?

I think it would be useful to have the "git log" instructions in
src/tools/RELEASE_CHANGES, not just in the .git-blame-ignore-revs file
itself.


... and now that I look at running that command, I notice that the date
format it generates for me is different from what it did for you:

e1c1c30f635390b6a3ae4993e8cac213a33e6e3f # Mon Jun 28 11:05:54 2021 -0400 
# Pre branch pgindent / pgperltidy run


This is what you committed:

+e1c1c30f635390b6a3ae4993e8cac213a33e6e3f # 2021-06-28 11:05:54 -0400
+# Pre branch pgindent / pgperltidy run

Is it worth documenting whatever is causing the output to be this?
I'm sure many of us would be bothered if the date format was not always
the same in future entries.

-- 
Álvaro Herrera   Valdivia, Chile
"Linux transformó mi computadora, de una `máquina para hacer cosas',
en un aparato realmente entretenido, sobre el cual cada día aprendo
algo nuevo" (Jaime Salinas)




Re: pgsql: Add pgindent commit to git-blame-ignore-revs file.

2021-06-28 Thread Tom Lane
Peter Geoghegan  writes:
> On Mon, Jun 28, 2021 at 9:31 AM Andrew Dunstan  wrote:
>> Hmm, did I miss something or do we need to update some instructions
>> somewhere?

> I did update the instructions in commit 8e638845, but perhaps I
> omitted to update something. What do you think?

The instructions for "Starting a New Development Cycle" perhaps need
a specific "see src/tools/pgindent/README".  I'd be inclined to
remove the separate mention of .git-blame-ignore-revs from "Pre-Beta
Tasks", too.  If you didn't read pgindent/README you might miss
more than just this.

regards, tom lane




Re: pgsql: Add pgindent commit to git-blame-ignore-revs file.

2021-06-28 Thread Peter Geoghegan
On Mon, Jun 28, 2021 at 9:43 AM Alvaro Herrera  wrote:
> ... and now that I look at running that command, I notice that the date
> format it generates for me is different from what it did for you:

This is because our global git configs differ.

> Is it worth documenting whatever is causing the output to be this?
> I'm sure many of us would be bothered if the date format was not always
> the same in future entries.

I handled this in passing by making the instructions specify
"--date=iso", just for consistency. It's now:

git log --pretty=format:"%H # %cd %n# %s" $PGINDENTGITHASH -1 --date=iso

This shows the pgindent-commit author's timestamp in the author's own
timezone, plus ISO format. I believe that this addresses your concern.

I'll consider the question of changing exactly how things are
documented and hook into the release process separately, in my
response to Tom.

-- 
Peter Geoghegan




pgsql: Don't use abort(3) in libpq's fe-print.c.

2021-06-28 Thread Tom Lane
Don't use abort(3) in libpq's fe-print.c.

Causing a core dump on out-of-memory seems pretty unfriendly,
and surely is far outside the expected behavior of a general-purpose
library.  Just print an error message (as we did already) and return.
These functions unfortunately don't have an error return convention,
but code using them is probably just looking for a quick-n-dirty
print method and wouldn't bother to check anyway.

Although these functions are semi-deprecated, it still seems
appropriate to back-patch this.  In passing, also back-patch
b90e6cef1, just to reduce cosmetic differences between the
branches.

Discussion: https://postgr.es/m/3122443.1624735...@sss.pgh.pa.us

Branch
--
REL_13_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/1603deca34ef403fc40d471ba6512d9f170ba7b5

Modified Files
--
src/interfaces/libpq/fe-print.c | 81 -
1 file changed, 47 insertions(+), 34 deletions(-)



pgsql: Don't use abort(3) in libpq's fe-print.c.

2021-06-28 Thread Tom Lane
Don't use abort(3) in libpq's fe-print.c.

Causing a core dump on out-of-memory seems pretty unfriendly,
and surely is far outside the expected behavior of a general-purpose
library.  Just print an error message (as we did already) and return.
These functions unfortunately don't have an error return convention,
but code using them is probably just looking for a quick-n-dirty
print method and wouldn't bother to check anyway.

Although these functions are semi-deprecated, it still seems
appropriate to back-patch this.  In passing, also back-patch
b90e6cef1, just to reduce cosmetic differences between the
branches.

Discussion: https://postgr.es/m/3122443.1624735...@sss.pgh.pa.us

Branch
--
REL_12_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/240d56fc4351a6729ec9ddf94a3d338a1e4868ab

Modified Files
--
src/interfaces/libpq/fe-print.c | 81 -
1 file changed, 47 insertions(+), 34 deletions(-)



pgsql: Don't use abort(3) in libpq's fe-print.c.

2021-06-28 Thread Tom Lane
Don't use abort(3) in libpq's fe-print.c.

Causing a core dump on out-of-memory seems pretty unfriendly,
and surely is far outside the expected behavior of a general-purpose
library.  Just print an error message (as we did already) and return.
These functions unfortunately don't have an error return convention,
but code using them is probably just looking for a quick-n-dirty
print method and wouldn't bother to check anyway.

Although these functions are semi-deprecated, it still seems
appropriate to back-patch this.  In passing, also back-patch
b90e6cef1, just to reduce cosmetic differences between the
branches.

Discussion: https://postgr.es/m/3122443.1624735...@sss.pgh.pa.us

Branch
--
REL_14_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/cf1f545bf281d3dcb7b44e6b7f21a9369024fbf0

Modified Files
--
src/interfaces/libpq/fe-print.c | 81 -
1 file changed, 47 insertions(+), 34 deletions(-)



pgsql: Don't use abort(3) in libpq's fe-print.c.

2021-06-28 Thread Tom Lane
Don't use abort(3) in libpq's fe-print.c.

Causing a core dump on out-of-memory seems pretty unfriendly,
and surely is far outside the expected behavior of a general-purpose
library.  Just print an error message (as we did already) and return.
These functions unfortunately don't have an error return convention,
but code using them is probably just looking for a quick-n-dirty
print method and wouldn't bother to check anyway.

Although these functions are semi-deprecated, it still seems
appropriate to back-patch this.  In passing, also back-patch
b90e6cef1, just to reduce cosmetic differences between the
branches.

Discussion: https://postgr.es/m/3122443.1624735...@sss.pgh.pa.us

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/6f5d9bce57a7bb29ba61f0bf4fd465a26de9fc28

Modified Files
--
src/interfaces/libpq/fe-print.c | 81 -
1 file changed, 47 insertions(+), 34 deletions(-)



pgsql: Don't use abort(3) in libpq's fe-print.c.

2021-06-28 Thread Tom Lane
Don't use abort(3) in libpq's fe-print.c.

Causing a core dump on out-of-memory seems pretty unfriendly,
and surely is far outside the expected behavior of a general-purpose
library.  Just print an error message (as we did already) and return.
These functions unfortunately don't have an error return convention,
but code using them is probably just looking for a quick-n-dirty
print method and wouldn't bother to check anyway.

Although these functions are semi-deprecated, it still seems
appropriate to back-patch this.  In passing, also back-patch
b90e6cef1, just to reduce cosmetic differences between the
branches.

Discussion: https://postgr.es/m/3122443.1624735...@sss.pgh.pa.us

Branch
--
REL9_6_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/b54be47cdc2d225d8134b197edae9c075146e76d

Modified Files
--
src/interfaces/libpq/fe-print.c | 85 -
1 file changed, 49 insertions(+), 36 deletions(-)



pgsql: Don't use abort(3) in libpq's fe-print.c.

2021-06-28 Thread Tom Lane
Don't use abort(3) in libpq's fe-print.c.

Causing a core dump on out-of-memory seems pretty unfriendly,
and surely is far outside the expected behavior of a general-purpose
library.  Just print an error message (as we did already) and return.
These functions unfortunately don't have an error return convention,
but code using them is probably just looking for a quick-n-dirty
print method and wouldn't bother to check anyway.

Although these functions are semi-deprecated, it still seems
appropriate to back-patch this.  In passing, also back-patch
b90e6cef1, just to reduce cosmetic differences between the
branches.

Discussion: https://postgr.es/m/3122443.1624735...@sss.pgh.pa.us

Branch
--
REL_10_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/06a2b2fe55807c120b1e27bc6043244518c7de65

Modified Files
--
src/interfaces/libpq/fe-print.c | 85 -
1 file changed, 49 insertions(+), 36 deletions(-)



pgsql: Don't use abort(3) in libpq's fe-print.c.

2021-06-28 Thread Tom Lane
Don't use abort(3) in libpq's fe-print.c.

Causing a core dump on out-of-memory seems pretty unfriendly,
and surely is far outside the expected behavior of a general-purpose
library.  Just print an error message (as we did already) and return.
These functions unfortunately don't have an error return convention,
but code using them is probably just looking for a quick-n-dirty
print method and wouldn't bother to check anyway.

Although these functions are semi-deprecated, it still seems
appropriate to back-patch this.  In passing, also back-patch
b90e6cef1, just to reduce cosmetic differences between the
branches.

Discussion: https://postgr.es/m/3122443.1624735...@sss.pgh.pa.us

Branch
--
REL_11_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/34c24e5a4337abf9d385558f6beaafb92d3a919d

Modified Files
--
src/interfaces/libpq/fe-print.c | 85 -
1 file changed, 49 insertions(+), 36 deletions(-)



Re: pgsql: Add pgindent commit to git-blame-ignore-revs file.

2021-06-28 Thread Peter Geoghegan
On Mon, Jun 28, 2021 at 9:47 AM Tom Lane  wrote:
> The instructions for "Starting a New Development Cycle" perhaps need
> a specific "see src/tools/pgindent/README".  I'd be inclined to
> remove the separate mention of .git-blame-ignore-revs from "Pre-Beta
> Tasks", too.  If you didn't read pgindent/README you might miss
> more than just this.

How about the approach taken in the attached patch?

I think that leaving the snippet on adding new entries to the file at
the top of the file is the right approach. I haven't changed that. I
do point this out explicitly, though.

-- 
Peter Geoghegan


0001-Improve-.git-blame-ignore-revs-release-workflow.patch
Description: Binary data


Re: pgsql: Add pgindent commit to git-blame-ignore-revs file.

2021-06-28 Thread Tom Lane
Peter Geoghegan  writes:
> On Mon, Jun 28, 2021 at 9:47 AM Tom Lane  wrote:
>> The instructions for "Starting a New Development Cycle" perhaps need
>> a specific "see src/tools/pgindent/README".  I'd be inclined to
>> remove the separate mention of .git-blame-ignore-revs from "Pre-Beta
>> Tasks", too.  If you didn't read pgindent/README you might miss
>> more than just this.

> How about the approach taken in the attached patch?

WFM.

regards, tom lane




pgsql: Improve pgindent release workflow.

2021-06-28 Thread Peter Geoghegan
Improve pgindent release workflow.

Update RELEASE_CHANGES to direct the reader towards completing the steps
outlined in the pgindent README, both as a pre-beta task and as a task
to be performed when starting a new development cycle.

This makes it less likely that somebody will miss updating the
.git-blame-ignore-revs file when running pgindent against the tree as a
routine release change task.

Author: Peter Geoghegan 
Reviewed-By: Tom Lane 
Discussion: 
https://postgr.es/m/CAH2-Wz=2pjf4as8dwecarsxxlkganymq-s0uegqhhbhhqdk...@mail.gmail.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/bc49ab3c277b6b478bdad80c1ae36f926a33b4a6

Modified Files
--
src/tools/RELEASE_CHANGES | 8 ++--
src/tools/pgindent/README | 3 ++-
2 files changed, 4 insertions(+), 7 deletions(-)



Re: pgsql: Add pgindent commit to git-blame-ignore-revs file.

2021-06-28 Thread Peter Geoghegan
On Mon, Jun 28, 2021 at 12:53 PM Tom Lane  wrote:
> > How about the approach taken in the attached patch?
>
> WFM.

Pushed. Thanks.

-- 
Peter Geoghegan




pgsql: Doc: further updates for RELEASE_CHANGES process notes.

2021-06-28 Thread Tom Lane
Doc: further updates for RELEASE_CHANGES process notes.

Mention expectations for email notifications of appropriate lists
when a branch is made or retired.

(I've been doing that informally for years, but it's better to have
it written down.)

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/14b2ffaf7ffdd199937e8bcba8b459da5491bcb6

Modified Files
--
src/tools/RELEASE_CHANGES | 14 --
1 file changed, 12 insertions(+), 2 deletions(-)



pgsql: doc: Improve PG14 release notes

2021-06-28 Thread Bruce Momjian
doc:  Improve PG14 release notes

Mostly markup improvements.

Reported-by: Justin Pryzby

Discussion: https://postgr.es/m/20210625230456.gp29...@telsasoft.com

Backpatch-through: 14 only

Branch
--
REL_14_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/caa0f07d2d4b69cd53b5bf7c847d9d65eadbbfee

Modified Files
--
doc/src/sgml/release-14.sgml | 77 +---
1 file changed, 43 insertions(+), 34 deletions(-)



pgsql: Remove XLogFileInit() ability to unlink a pre-existing file.

2021-06-28 Thread Noah Misch
Remove XLogFileInit() ability to unlink a pre-existing file.

Only initdb used it.  initdb refuses to operate on a non-empty directory
and generally does not cope with pre-existing files of other kinds.
Hence, use the opportunity to simplify.

Discussion: https://postgr.es/m/20210202151416.gb3304...@rfd.leadboat.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/421484f79c0b80209fa766eb00dbc2453a753273

Modified Files
--
src/backend/access/transam/xlog.c | 61 ++-
src/backend/replication/walreceiver.c |  5 ++-
src/include/access/xlog.h |  2 +-
3 files changed, 28 insertions(+), 40 deletions(-)



pgsql: Dump public schema ownership and security labels.

2021-06-28 Thread Noah Misch
Dump public schema ownership and security labels.

As a side effect, this corrects dumps of public schema ACLs in databases
where the DBA dropped and recreated that schema.

Reviewed by Asif Rehman.

Discussion: https://postgr.es/m/20201229134924.ga1431...@rfd.leadboat.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/a7a7be1f2fa6b9f0f48e69f12256d8f588af729b

Modified Files
--
src/bin/pg_dump/dumputils.c | 15 +++--
src/bin/pg_dump/dumputils.h |  1 +
src/bin/pg_dump/pg_backup_archiver.c| 21 ---
src/bin/pg_dump/pg_dump.c   | 98 +
src/bin/pg_dump/pg_dump.h   |  2 +
src/bin/pg_dump/t/002_pg_dump.pl| 75 --
src/test/modules/test_pg_dump/t/001_base.pl |  8 +++
7 files changed, 177 insertions(+), 43 deletions(-)



pgsql: Remove XLogFileInit() ability to skip ControlFileLock.

2021-06-28 Thread Noah Misch
Remove XLogFileInit() ability to skip ControlFileLock.

Cold paths, initdb and end-of-recovery, used it.  Don't optimize them.

Discussion: https://postgr.es/m/20210202151416.gb3304...@rfd.leadboat.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/c53c6b98d38a4d238b2fe2ddcea63c33b0a61376

Modified Files
--
src/backend/access/transam/xlog.c | 46 +++
src/backend/replication/walreceiver.c |  2 +-
src/include/access/xlog.h |  2 +-
3 files changed, 16 insertions(+), 34 deletions(-)



pgsql: Don't ERROR on PreallocXlogFiles() race condition.

2021-06-28 Thread Noah Misch
Don't ERROR on PreallocXlogFiles() race condition.

Before a restartpoint finishes PreallocXlogFiles(), a startup process
KeepFileRestoredFromArchive() call can unlink the preallocated segment.
If a CHECKPOINT sql command had elicited the restartpoint experiencing
the race condition, that sql command failed.  Moreover, the restartpoint
omitted its log_checkpoints message and some inessential resource
reclamation.  Prevent the ERROR by skipping open() of the segment.
Since these consequences are so minor, no back-patch.

Discussion: https://postgr.es/m/20210202151416.gb3304...@rfd.leadboat.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/2b3e4672f7602a6bb46a0735a1b41b635508b290

Modified Files
--
src/backend/access/transam/xlog.c | 79 +--
src/backend/replication/walreceiver.c |  4 +-
src/include/access/xlog.h |  2 +-
3 files changed, 58 insertions(+), 27 deletions(-)



pgsql: Skip WAL recycling and preallocation during archive recovery.

2021-06-28 Thread Noah Misch
Skip WAL recycling and preallocation during archive recovery.

The previous commit addressed the chief consequences of a race condition
between InstallXLogFileSegment() and KeepFileRestoredFromArchive().  Fix
three lesser consequences.  A spurious durable_rename_excl() LOG message
remained possible.  KeepFileRestoredFromArchive() wasted the proceeds of
WAL recycling and preallocation.  Finally, XLogFileInitInternal() could
return a descriptor for a file that KeepFileRestoredFromArchive() had
already unlinked.  That felt like a recipe for future bugs.

Discussion: https://postgr.es/m/20210202151416.gb3304...@rfd.leadboat.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/cc2c7d65fc27e877c9f407587b0b92d46cd6dd16

Modified Files
--
src/backend/access/transam/xlog.c | 65 ++-
1 file changed, 57 insertions(+), 8 deletions(-)



pgsql: In XLogFileInit(), fix *use_existent postcondition to suit calle

2021-06-28 Thread Noah Misch
In XLogFileInit(), fix *use_existent postcondition to suit callers.

Infrequently, the mismatch caused log_checkpoints messages and
TRACE_POSTGRESQL_CHECKPOINT_DONE() to witness an "added" count too high
by one.  Since that consequence is so minor, no back-patch.

Discussion: https://postgr.es/m/20210202151416.gb3304...@rfd.leadboat.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/85656bc3050f0846f53de95768b0f9f9df410560

Modified Files
--
src/backend/access/transam/xlog.c | 13 ++---
1 file changed, 6 insertions(+), 7 deletions(-)



pgsql: Dump COMMENT ON SCHEMA public.

2021-06-28 Thread Noah Misch
Dump COMMENT ON SCHEMA public.

As we do for other attributes of the public schema, omit the COMMENT
command when its payload would match what initdb had installed.  For
dumps that do carry this new COMMENT command, non-superusers restoring
them are likely to get an error.

Reviewed by Asif Rehman.

Discussion: 
https://postgr.es/m/ab48a34c-60f6-e388-502a-3e5fe46a2...@postgresfriends.org

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/7ac10f692054e2690aa6f80efdd98bd283c94b10

Modified Files
--
src/bin/pg_dump/pg_dump.c| 84 
src/bin/pg_dump/t/002_pg_dump.pl | 14 +-
src/include/catalog/pg_namespace.dat |  1 +
3 files changed, 79 insertions(+), 20 deletions(-)



pgsql: Add support for LZ4 with compression of full-page writes in WAL

2021-06-28 Thread Michael Paquier
Add support for LZ4 with compression of full-page writes in WAL

The logic is implemented so as there can be a choice in the compression
used when building a WAL record, and an extra per-record bit is used to
track down if a block is compressed with PGLZ, LZ4 or nothing.

wal_compression, the existing parameter, is changed to an enum with
support for the following backward-compatible values:
- "off", the default, to not use compression.
- "pglz" or "on", to compress FPWs with PGLZ.
- "lz4", the new mode, to compress FPWs with LZ4.

Benchmarking has showed that LZ4 outclasses easily PGLZ.  ZSTD would be
also an interesting choice, but going just with LZ4 for now makes the
patch minimalistic as toast compression is already able to use LZ4, so
there is no need to worry about any build-related needs for this
implementation.

Author: Andrey Borodin, Justin Pryzby
Reviewed-by: Dilip Kumar, Michael Paquier
Discussion: 
https://postgr.es/m/3037310d-ecb7-4bf1-af20-01c10bb33...@yandex-team.ru

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/4035cd5d4eee4dae797bfc77ab07f8dcd8781b41

Modified Files
--
doc/src/sgml/config.sgml  | 14 +++--
doc/src/sgml/install-windows.sgml |  2 +-
doc/src/sgml/installation.sgml|  5 +-
doc/src/sgml/standalone-profile.xsl   |  4 ++
src/backend/access/transam/xlog.c |  2 +-
src/backend/access/transam/xloginsert.c   | 73 +++
src/backend/access/transam/xlogreader.c   | 58 -
src/backend/utils/misc/guc.c  | 36 +
src/backend/utils/misc/postgresql.conf.sample |  3 +-
src/bin/pg_waldump/pg_waldump.c   | 19 +--
src/include/access/xlog.h | 10 +++-
src/include/access/xlogrecord.h   | 16 +++---
src/tools/pgindent/typedefs.list  |  1 +
13 files changed, 191 insertions(+), 52 deletions(-)



pgsql: Fix compilation warning in xloginsert.c

2021-06-28 Thread Michael Paquier
Fix compilation warning in xloginsert.c

This is reproducible with gcc using at least -O0.  The last checks
validating the compression of a block could not be reached with this
variable not set, but let's be clean.

Oversight in 4035cd5, per buildfarm member lapwing.

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/47f514dd9a0022a04d321b627b2e991cb85396e2

Modified Files
--
src/backend/access/transam/xloginsert.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)



Re: pgsql: Add support for LZ4 with compression of full-page writes in WAL

2021-06-28 Thread Tom Lane
Michael Paquier  writes:
> Add support for LZ4 with compression of full-page writes in WAL

Should this not have included a bump of XLOG_PAGE_MAGIC?

regards, tom lane




pgsql: Bump XLOG_PAGE_MAGIC for format changes related to FPW compressi

2021-06-28 Thread Michael Paquier
Bump XLOG_PAGE_MAGIC for format changes related to FPW compression

Oversight in 4035cd5, spotted by Tom Lane.

Discussion: https://postgr.es/m/365778.1624941...@sss.pgh.pa.us

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/445e36ad4e14480a3c97d0f973a3532912424e85

Modified Files
--
src/include/access/xlog_internal.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)



Re: pgsql: Add support for LZ4 with compression of full-page writes in WAL

2021-06-28 Thread Michael Paquier
On Tue, Jun 29, 2021 at 12:40:13AM -0400, Tom Lane wrote:
> Should this not have included a bump of XLOG_PAGE_MAGIC?

It should, thanks!  Fixed now.
--
Michael


signature.asc
Description: PGP signature


pgsql: Add index OID macro argument to DECLARE_INDEX

2021-06-28 Thread Peter Eisentraut
Add index OID macro argument to DECLARE_INDEX

Instead of defining symbols such as AmOidIndexId explicitly, include
them as an argument of DECLARE_INDEX() and have genbki.pl generate the
way as the table OID symbols from the CATALOG() declaration.

Reviewed-by: John Naylor 
Discussion: 
https://www.postgresql.org/message-id/flat/ccef1e46-a404-25b1-9b4c-85f2c08e1f28%40enterprisedb.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/6a6389a08b228aa6bd21ced7a9c5151bf6f7f0a2

Modified Files
--
src/backend/catalog/Catalog.pm|  5 +++--
src/backend/catalog/genbki.pl |  8 
src/backend/utils/cache/syscache.c|  4 ++--
src/include/catalog/genbki.h  |  6 +++---
src/include/catalog/pg_aggregate.h|  3 +--
src/include/catalog/pg_am.h   |  6 ++
src/include/catalog/pg_amop.h |  9 +++--
src/include/catalog/pg_amproc.h   |  6 ++
src/include/catalog/pg_attrdef.h  |  6 ++
src/include/catalog/pg_attribute.h|  6 ++
src/include/catalog/pg_auth_members.h |  6 ++
src/include/catalog/pg_authid.h   |  6 ++
src/include/catalog/pg_cast.h |  6 ++
src/include/catalog/pg_class.h|  9 +++--
src/include/catalog/pg_collation.h|  6 ++
src/include/catalog/pg_constraint.h   | 15 +--
src/include/catalog/pg_conversion.h   |  9 +++--
src/include/catalog/pg_database.h |  6 ++
src/include/catalog/pg_db_role_setting.h  |  3 +--
src/include/catalog/pg_default_acl.h  |  6 ++
src/include/catalog/pg_depend.h   |  6 ++
src/include/catalog/pg_description.h  |  3 +--
src/include/catalog/pg_enum.h |  9 +++--
src/include/catalog/pg_event_trigger.h|  6 ++
src/include/catalog/pg_extension.h|  6 ++
src/include/catalog/pg_foreign_data_wrapper.h |  6 ++
src/include/catalog/pg_foreign_server.h   |  6 ++
src/include/catalog/pg_foreign_table.h|  3 +--
src/include/catalog/pg_index.h|  6 ++
src/include/catalog/pg_inherits.h |  6 ++
src/include/catalog/pg_init_privs.h   |  3 +--
src/include/catalog/pg_language.h |  6 ++
src/include/catalog/pg_largeobject.h  |  3 +--
src/include/catalog/pg_largeobject_metadata.h |  3 +--
src/include/catalog/pg_namespace.h|  6 ++
src/include/catalog/pg_opclass.h  |  6 ++
src/include/catalog/pg_operator.h |  6 ++
src/include/catalog/pg_opfamily.h |  6 ++
src/include/catalog/pg_partitioned_table.h|  3 +--
src/include/catalog/pg_policy.h   |  6 ++
src/include/catalog/pg_proc.h |  6 ++
src/include/catalog/pg_publication.h  |  6 ++
src/include/catalog/pg_publication_rel.h  |  6 ++
src/include/catalog/pg_range.h|  8 ++--
src/include/catalog/pg_replication_origin.h   |  6 ++
src/include/catalog/pg_rewrite.h  |  6 ++
src/include/catalog/pg_seclabel.h |  3 +--
src/include/catalog/pg_sequence.h |  3 +--
src/include/catalog/pg_shdepend.h |  6 ++
src/include/catalog/pg_shdescription.h|  3 +--
src/include/catalog/pg_shseclabel.h   |  3 +--
src/include/catalog/pg_statistic.h|  3 +--
src/include/catalog/pg_statistic_ext.h|  9 +++--
src/include/catalog/pg_statistic_ext_data.h   |  3 +--
src/include/catalog/pg_subscription.h |  6 ++
src/include/catalog/pg_subscription_rel.h |  3 +--
src/include/catalog/pg_tablespace.h   |  6 ++
src/include/catalog/pg_transform.h|  6 ++
src/include/catalog/pg_trigger.h  |  9 +++--
src/include/catalog/pg_ts_config.h|  6 ++
src/include/catalog/pg_ts_config_map.h|  3 +--
src/include/catalog/pg_ts_dict.h  |  6 ++
src/include/catalog/pg_ts_parser.h|  6 ++
src/include/catalog/pg_ts_template.h  |  6 ++
src/include/catalog/pg_type.h |  6 ++
src/include/catalog/pg_user_mapping.h |  6 ++
66 files changed, 133 insertions(+), 243 deletions(-)