pgsql: Doc: clarify NULLS NOT DISTINCT use in unique indexes

2023-04-20 Thread David Rowley
Doc: clarify NULLS NOT DISTINCT use in unique indexes

indexes-unique.html mentioned nothing about the availability of NULLS NOT
DISTINCT to modify the NULLs-are-not-equal behavior of unique indexes.
Add this to the synopsis and clarify what it does regarding NULLs.

Author: David Gilman, David Rowley
Reviewed-by: Corey Huinker
Discussion: 
https://postgr.es/m/CALBH9DDr3NLqzWop1z5uZE-M5G_GYUuAeHFHQeyzFbNd8W0d=q...@mail.gmail.com
Backpatch-through: 15, where NULLS NOT DISTINCT was added

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/0d0aeb04c1277edb0733cbf5bf4243c47a439015

Modified Files
--
doc/src/sgml/indices.sgml | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)



pgsql: Doc: clarify NULLS NOT DISTINCT use in unique indexes

2023-04-20 Thread David Rowley
Doc: clarify NULLS NOT DISTINCT use in unique indexes

indexes-unique.html mentioned nothing about the availability of NULLS NOT
DISTINCT to modify the NULLs-are-not-equal behavior of unique indexes.
Add this to the synopsis and clarify what it does regarding NULLs.

Author: David Gilman, David Rowley
Reviewed-by: Corey Huinker
Discussion: 
https://postgr.es/m/CALBH9DDr3NLqzWop1z5uZE-M5G_GYUuAeHFHQeyzFbNd8W0d=q...@mail.gmail.com
Backpatch-through: 15, where NULLS NOT DISTINCT was added

Branch
--
REL_15_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/94d73f9abdf13e6dd93d96d0e4b197479c8756de

Modified Files
--
doc/src/sgml/indices.sgml | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)



Re: pgsql: Fix list_copy_head() with empty Lists

2023-04-20 Thread Tom Lane
David Rowley  writes:
> Fix list_copy_head() with empty Lists

> list_copy_head() given an empty List would crash from trying to
> dereference the List to obtain its length.  Since NIL is how we represent
> an empty List, we should just be returning another empty List in this
> case.

I see that list_copy_head exists in v15 as well.  It appears to have
no callers there, but we'd better fix it anyway in case somebody
back-patches a fix that uses it.

Or, maybe, remove it in 15?

regards, tom lane




pgsql: Fix autovacuum cost debug logging

2023-04-20 Thread Daniel Gustafsson
Fix autovacuum cost debug logging

Commit 7d71d3dd0 introduced finer grained updates of autovacuum option
changes by increasing the frequency of reading the configuration file.
The debug logging of cost parameter was however changed such that some
initial values weren't logged.  Fix by changing logging to use the old
frequency of logging regardless of them changing.

Also avoid taking a log for rendering the log message unless the set
loglevel is such that the log entry will be emitted.

Author: Masahiko Sawada 
Discussion: 
https://postgr.es/m/CAD21AoBS7o6Ljt_vfqPQPf67AhzKu3fR0iqk8B=vvyczmug...@mail.gmail.com

Branch
--
master

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

Modified Files
--
src/backend/postmaster/autovacuum.c | 15 +--
1 file changed, 5 insertions(+), 10 deletions(-)



Re: pgsql: Further cleanup of autoconf output files for GSSAPI changes.

2023-04-20 Thread Andres Freund
On 2023-04-17 16:22:30 -0400, Andrew Dunstan wrote:
> I am still having Windows issues with meson, but only with MSYS2.

Any more details on that? I might be able to help out / improve things.




Re: pgsql: Further cleanup of autoconf output files for GSSAPI changes.

2023-04-20 Thread Andrew Dunstan


On 2023-04-20 Th 11:06, Andres Freund wrote:

On 2023-04-17 16:22:30 -0400, Andrew Dunstan wrote:

I am still having Windows issues with meson, but only with MSYS2.

Any more details on that? I might be able to help out / improve things.



For some reason which makes no sense to me the buildfarm animal fails at 
the first Stop-Db step. The DB is actually stopped, but pg_ctl returns a 
non-zero status. The thing that's really odd is that meson isn't at all 
involved in this step. But it's happened enough that I've had to back 
off using meson builds on fairywren - I'm going to do more testing on a 
new Windows instance.



cheers


andrew

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


pgsql: Fix list_copy_head() with empty Lists

2023-04-20 Thread David Rowley
Fix list_copy_head() with empty Lists

list_copy_head() given an empty List would crash from trying to
dereference the List to obtain its length.  Since NIL is how we represent
an empty List, we should just be returning another empty List in this
case.

list_copy_head() is new to v16, so let's fix it now before too many people
start coding around the buggy NIL behavior.

Reported-by: Miroslav Bendik
Discussion: 
https://postgr.es/m/CAPoEpV02WhawuWnmnKet6BqU63bEu7oec0pJc=nkmtpshmz...@mail.gmail.com

Branch
--
REL_15_STABLE

Details
---
https://git.postgresql.org/pg/commitdiff/63a03aea6bc89060010255e8e61c83f95e1daec8

Modified Files
--
src/backend/nodes/list.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)



Re: pgsql: Fix list_copy_head() with empty Lists

2023-04-20 Thread David Rowley
On Fri, 21 Apr 2023 at 01:28, Tom Lane  wrote:
> I see that list_copy_head exists in v15 as well.  It appears to have
> no callers there, but we'd better fix it anyway in case somebody
> back-patches a fix that uses it.

Doh :-(   Thanks for alerting me.  I've just applied the patch to REL_15_STABLE.

I kept the same commit message as master, which I think was the
correct thing to do, despite it containing information that wasn't
true.  I know the script used to assist release note creation goes on
commit messages to determine which commits went into which branches.

> Or, maybe, remove it in 15?

I chickened out of that as it does not seem impossible that someone is
making use of it.  It seems lightweight enough not to have to worry
too much about keeping it around.

David




pgsql: Use --strip-unneeded when stripping static libraries with GNU st

2023-04-20 Thread Tom Lane
Use --strip-unneeded when stripping static libraries with GNU strip.

We've long used "--strip-unneeded" for shared libraries but plain
"-x" for static libraries when stripping symbols with GNU strip.
There doesn't seem to be any really good reason for that though,
since --strip-unneeded produces smaller output (as "-x" alone
does not remove debug symbols).  Moreover it seems that
llvm-strip, although it identifies as GNU strip, misbehaves when
given "-x" for this purpose.  It's unclear whether that's
intentional or a bug in llvm-strip, but in any case it seems like
changing to use --strip-unneeded in all cases should be a win.

Note that this doesn't change our behavior when dealing with
non-GNU strip.

Per gripes from Ed Maste and Palle Girgensohn.  Back-patch,
in case anyone wants to use llvm-strip with stable branches.

Discussion: https://postgr.es/m/17898-5308d09543463...@postgresql.org
Discussion: 
https://postgr.es/m/20230420153338.bbj2g5jiyy3af...@awork3.anarazel.de

Branch
--
REL_14_STABLE

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

Modified Files
--
config/programs.m4 | 2 +-
configure  | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)



pgsql: Use --strip-unneeded when stripping static libraries with GNU st

2023-04-20 Thread Tom Lane
Use --strip-unneeded when stripping static libraries with GNU strip.

We've long used "--strip-unneeded" for shared libraries but plain
"-x" for static libraries when stripping symbols with GNU strip.
There doesn't seem to be any really good reason for that though,
since --strip-unneeded produces smaller output (as "-x" alone
does not remove debug symbols).  Moreover it seems that
llvm-strip, although it identifies as GNU strip, misbehaves when
given "-x" for this purpose.  It's unclear whether that's
intentional or a bug in llvm-strip, but in any case it seems like
changing to use --strip-unneeded in all cases should be a win.

Note that this doesn't change our behavior when dealing with
non-GNU strip.

Per gripes from Ed Maste and Palle Girgensohn.  Back-patch,
in case anyone wants to use llvm-strip with stable branches.

Discussion: https://postgr.es/m/17898-5308d09543463...@postgresql.org
Discussion: 
https://postgr.es/m/20230420153338.bbj2g5jiyy3af...@awork3.anarazel.de

Branch
--
master

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

Modified Files
--
config/programs.m4| 2 +-
configure | 2 +-
src/makefiles/meson.build | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)



pgsql: Use --strip-unneeded when stripping static libraries with GNU st

2023-04-20 Thread Tom Lane
Use --strip-unneeded when stripping static libraries with GNU strip.

We've long used "--strip-unneeded" for shared libraries but plain
"-x" for static libraries when stripping symbols with GNU strip.
There doesn't seem to be any really good reason for that though,
since --strip-unneeded produces smaller output (as "-x" alone
does not remove debug symbols).  Moreover it seems that
llvm-strip, although it identifies as GNU strip, misbehaves when
given "-x" for this purpose.  It's unclear whether that's
intentional or a bug in llvm-strip, but in any case it seems like
changing to use --strip-unneeded in all cases should be a win.

Note that this doesn't change our behavior when dealing with
non-GNU strip.

Per gripes from Ed Maste and Palle Girgensohn.  Back-patch,
in case anyone wants to use llvm-strip with stable branches.

Discussion: https://postgr.es/m/17898-5308d09543463...@postgresql.org
Discussion: 
https://postgr.es/m/20230420153338.bbj2g5jiyy3af...@awork3.anarazel.de

Branch
--
REL_15_STABLE

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

Modified Files
--
config/programs.m4 | 2 +-
configure  | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)



pgsql: Use --strip-unneeded when stripping static libraries with GNU st

2023-04-20 Thread Tom Lane
Use --strip-unneeded when stripping static libraries with GNU strip.

We've long used "--strip-unneeded" for shared libraries but plain
"-x" for static libraries when stripping symbols with GNU strip.
There doesn't seem to be any really good reason for that though,
since --strip-unneeded produces smaller output (as "-x" alone
does not remove debug symbols).  Moreover it seems that
llvm-strip, although it identifies as GNU strip, misbehaves when
given "-x" for this purpose.  It's unclear whether that's
intentional or a bug in llvm-strip, but in any case it seems like
changing to use --strip-unneeded in all cases should be a win.

Note that this doesn't change our behavior when dealing with
non-GNU strip.

Per gripes from Ed Maste and Palle Girgensohn.  Back-patch,
in case anyone wants to use llvm-strip with stable branches.

Discussion: https://postgr.es/m/17898-5308d09543463...@postgresql.org
Discussion: 
https://postgr.es/m/20230420153338.bbj2g5jiyy3af...@awork3.anarazel.de

Branch
--
REL_13_STABLE

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

Modified Files
--
config/programs.m4 | 2 +-
configure  | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)



pgsql: Use --strip-unneeded when stripping static libraries with GNU st

2023-04-20 Thread Tom Lane
Use --strip-unneeded when stripping static libraries with GNU strip.

We've long used "--strip-unneeded" for shared libraries but plain
"-x" for static libraries when stripping symbols with GNU strip.
There doesn't seem to be any really good reason for that though,
since --strip-unneeded produces smaller output (as "-x" alone
does not remove debug symbols).  Moreover it seems that
llvm-strip, although it identifies as GNU strip, misbehaves when
given "-x" for this purpose.  It's unclear whether that's
intentional or a bug in llvm-strip, but in any case it seems like
changing to use --strip-unneeded in all cases should be a win.

Note that this doesn't change our behavior when dealing with
non-GNU strip.

Per gripes from Ed Maste and Palle Girgensohn.  Back-patch,
in case anyone wants to use llvm-strip with stable branches.

Discussion: https://postgr.es/m/17898-5308d09543463...@postgresql.org
Discussion: 
https://postgr.es/m/20230420153338.bbj2g5jiyy3af...@awork3.anarazel.de

Branch
--
REL_12_STABLE

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

Modified Files
--
config/programs.m4 | 2 +-
configure  | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)



pgsql: Use --strip-unneeded when stripping static libraries with GNU st

2023-04-20 Thread Tom Lane
Use --strip-unneeded when stripping static libraries with GNU strip.

We've long used "--strip-unneeded" for shared libraries but plain
"-x" for static libraries when stripping symbols with GNU strip.
There doesn't seem to be any really good reason for that though,
since --strip-unneeded produces smaller output (as "-x" alone
does not remove debug symbols).  Moreover it seems that
llvm-strip, although it identifies as GNU strip, misbehaves when
given "-x" for this purpose.  It's unclear whether that's
intentional or a bug in llvm-strip, but in any case it seems like
changing to use --strip-unneeded in all cases should be a win.

Note that this doesn't change our behavior when dealing with
non-GNU strip.

Per gripes from Ed Maste and Palle Girgensohn.  Back-patch,
in case anyone wants to use llvm-strip with stable branches.

Discussion: https://postgr.es/m/17898-5308d09543463...@postgresql.org
Discussion: 
https://postgr.es/m/20230420153338.bbj2g5jiyy3af...@awork3.anarazel.de

Branch
--
REL_11_STABLE

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

Modified Files
--
config/programs.m4 | 2 +-
configure  | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)



Re: pgsql: Fix list_copy_head() with empty Lists

2023-04-20 Thread Tom Lane
David Rowley  writes:
> Doh :-(   Thanks for alerting me.  I've just applied the patch to 
> REL_15_STABLE.

> I kept the same commit message as master, which I think was the
> correct thing to do, despite it containing information that wasn't
> true.  I know the script used to assist release note creation goes on
> commit messages to determine which commits went into which branches.

Yeah, that's definitely easier for release notes, so thanks.

regards, tom lane




pgsql: Remove io prefix from pg_stat_io columns

2023-04-20 Thread Michael Paquier
Remove io prefix from pg_stat_io columns

a9c70b46 added the statistics view pg_stat_io which contained columns
"io_context" and "io_object".  Given that the columns are in the
pg_stat_io view, the "io" prefix is somewhat redundant, so remove it.

The code variables referring to these fields are kept unchanged so as
they can keep their context about I/O.

Bump catalog version.

Author: Melanie Plageman
Reviewed-by: Kyotaro Horiguchi, Fabrízio de Royes Mello
Discussion: 
https://postgr.es/m/caakru_aaqojwrvt2byyqvjchfkra_o-5ra3jhzkjzqwstr1...@mail.gmail.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/0ecb87e1fa07a733494e35636e55807b0f3fc1ed

Modified Files
--
contrib/amcheck/expected/check_heap.out |  4 ++--
contrib/amcheck/sql/check_heap.sql  |  4 ++--
doc/src/sgml/monitoring.sgml| 22 ++---
src/backend/catalog/system_views.sql|  4 ++--
src/backend/utils/adt/pgstatfuncs.c |  8 
src/include/catalog/catversion.h|  2 +-
src/include/catalog/pg_proc.dat |  2 +-
src/test/regress/expected/rules.out |  6 +++---
src/test/regress/expected/stats.out | 34 -
src/test/regress/sql/stats.sql  | 34 -
10 files changed, 60 insertions(+), 60 deletions(-)



pgsql: Fix incorrect function name reference

2023-04-20 Thread David Rowley
Fix incorrect function name reference

This function was renamed in 0c9d84427 but this comment wasn't updated.

Author: Alexander Lakhin
Discussion: https://postgr.es/m/699beab4-a6ca-92c9-f152-f559caf6d...@gmail.com

Branch
--
master

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

Modified Files
--
src/backend/utils/adt/acl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)



pgsql: Remove unused global variable

2023-04-20 Thread David Rowley
Remove unused global variable

Author: Alexander Lakhin
Discussion: https://postgr.es/m/d5f68d19-c0fc-91a9-118d-7c6a5a3f5...@gmail.com

Branch
--
master

Details
---
https://git.postgresql.org/pg/commitdiff/84e05beb111335c0755ef37a7f4d64822170b76d

Modified Files
--
src/test/modules/test_slru/test_slru.c | 3 ---
1 file changed, 3 deletions(-)