Re: First draft of back-branch release notes is done

2023-02-08 Thread Tom Lane
Justin Pryzby  writes:
> It's of no concern, but I was curious why this one wasn't included:

> commit 72aea955d49712a17c08748aa9abcbcf98c32fc5
> Author: Thomas Munro 
> Date:   Fri Jan 6 16:38:46 2023 +1300

> Fix pg_truncate() on Windows.

> Commit 57faaf376 added pg_truncate(const char *path, off_t length), but
> "length" was ignored under WIN32 and the file was unconditionally
> truncated to 0.

> There was no live bug, since the only caller passes 0.

I concluded that due to the lack of live bug, this would not be of
interest to end users.  The back-patch was just for future-proofing.

regards, tom lane




Re: First draft of back-branch release notes is done

2023-02-08 Thread Justin Pryzby
On Fri, Feb 03, 2023 at 02:32:39PM -0500, Tom Lane wrote:
> ... at
> 
> https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=f282b026787da69d88a35404cf62f1cc21cfbb7c
> 
> As usual, please send corrections/comments by Sunday.

It's of no concern, but I was curious why this one wasn't included:

commit 72aea955d49712a17c08748aa9abcbcf98c32fc5
Author: Thomas Munro 
Date:   Fri Jan 6 16:38:46 2023 +1300

Fix pg_truncate() on Windows.

Commit 57faaf376 added pg_truncate(const char *path, off_t length), but
"length" was ignored under WIN32 and the file was unconditionally
truncated to 0.

There was no live bug, since the only caller passes 0.

Fix, and back-patch to 14 where the function arrived.




Re: First draft of back-branch release notes is done

2023-02-05 Thread Jonathan S. Katz

On 2/5/23 9:39 PM, Tom Lane wrote:



  
   Prevent clobbering of cached parsetrees for utility statements in
   SQL functions (Tom Lane, Daniel Gustafsson)
  

  
   If a SQL-language function executes the same utility command more
   than once within a single calling query, it could crash or report
   strange errors such as unrecognized node type.
  

regards, tom lane


+1. Thanks!

Jonathan


OpenPGP_signature
Description: OpenPGP digital signature


Re: First draft of back-branch release notes is done

2023-02-05 Thread Tom Lane
"Jonathan S. Katz"  writes:
> On 2/5/23 3:01 PM, Tom Lane wrote:
>> Fair.  I was trying to avoid committing to specific consequences.
>> The assertion failure seen in the original report (#17702) wouldn't
>> occur for typical users, but they might see crashes or "unexpected node
>> type" failures.  Maybe we can say that instead.

> I did a quick readthrough of #17702. Your proposal sounds reasonable.

> Based on that explanation and reading #17702, I'm still not sure if this 
> will make the cut in the release announcement itself, but +1 for 
> modifying it in the release notes.

The notes now say

 
  Prevent clobbering of cached parsetrees for utility statements in
  SQL functions (Tom Lane, Daniel Gustafsson)
 

 
  If a SQL-language function executes the same utility command more
  than once within a single calling query, it could crash or report
  strange errors such as unrecognized node type.
 

regards, tom lane




Re: First draft of back-branch release notes is done

2023-02-05 Thread Jonathan S. Katz

On 2/5/23 3:01 PM, Tom Lane wrote:

"Jonathan S. Katz"  writes:

On Feb 4, 2023, at 10:24 AM, Tom Lane  wrote:

“Prevent clobbering of cached parsetrees…Bad things could happen if…”



While I chuckled over the phrasing, I’m left to wonder what the “bad things” 
are, in case I
need to check an older version to see if I’m susceptible to this bug.


Fair.  I was trying to avoid committing to specific consequences.
The assertion failure seen in the original report (#17702) wouldn't
occur for typical users, but they might see crashes or "unexpected node
type" failures.  Maybe we can say that instead.


I did a quick readthrough of #17702. Your proposal sounds reasonable.

Based on that explanation and reading #17702, I'm still not sure if this 
will make the cut in the release announcement itself, but +1 for 
modifying it in the release notes.


Thanks,

Jonathan



OpenPGP_signature
Description: OpenPGP digital signature


Re: First draft of back-branch release notes is done

2023-02-05 Thread Tom Lane
Thomas Munro  writes:
> On Mon, Feb 6, 2023 at 8:57 AM Tom Lane  wrote:
>> Also, aren't shared tuplestores used in more places than just
>> parallel hash join?  I mentioned that as an example, not an
>> exhaustive list of trouble spots.

> Shared file sets (= a directory of temp files with automatic cleanup)
> are used by more things, but shared tuplestores (= a shared file set
> with a tuple-oriented interface on top, to support partial scan) are
> currently only used by PHJ.

Oh, okay.  I'll change it to say "corruption within parallel hash
join", then, and not use the word "tuplestore" at all.

regards, tom lane




Re: First draft of back-branch release notes is done

2023-02-05 Thread Thomas Munro
On Mon, Feb 6, 2023 at 8:57 AM Tom Lane  wrote:
> Alvaro Herrera  writes:
> > On 2023-Feb-03, Tom Lane wrote:
> >>   Fix edge-case data corruption in shared tuplestores (Dmitry Astapov)
>
> > I think this sounds really scary, because people are going to think that
> > their stored data can get corrupted -- they don't necessarily know what
> > a "shared tuplestore" is.  Maybe "Avoid query failures in parallel hash
> > joins" as headline?
>
> Hmmm ... are we sure it *can't* lead to corruption of stored data,
> if this happens during an INSERT or UPDATE plan?  I'll grant that
> such a case seems pretty unlikely though, as the bogus data
> retrieved from the tuplestore would have to not cause a failure
> within the query before it can get written out.

Agreed.  I think you have to be quite unlucky to hit this in the first
place (very large tuples with very particular alignment), and then
you'd be highly likely to fail in some way due to corrupted tuple
size, making permanent corruption extremely unlikely.

> Also, aren't shared tuplestores used in more places than just
> parallel hash join?  I mentioned that as an example, not an
> exhaustive list of trouble spots.

Shared file sets (= a directory of temp files with automatic cleanup)
are used by more things, but shared tuplestores (= a shared file set
with a tuple-oriented interface on top, to support partial scan) are
currently only used by PHJ.




Re: First draft of back-branch release notes is done

2023-02-05 Thread Tom Lane
I wrote:
> Alvaro Herrera  writes:
>> I think this sounds really scary, because people are going to think that
>> their stored data can get corrupted -- they don't necessarily know what
>> a "shared tuplestore" is.  Maybe "Avoid query failures in parallel hash
>> joins" as headline?

Maybe less scary if we make it clear we're talking about a temporary file?

 
  Fix edge-case corruption of temporary data within shared tuplestores
  (Dmitry Astapov)
 

 
  If the final chunk of a large tuple being written out to a temporary
  file was exactly 32760 bytes, it would be corrupted due to a
  fencepost bug.  This is a hazard for parallelized plans that require
  a tuplestore, such as parallel hash join.  The query would typically
  fail later with corrupted-data symptoms.
 

regards, tom lane




Re: First draft of back-branch release notes is done

2023-02-05 Thread Tom Lane
"Jonathan S. Katz"  writes:
> On Feb 4, 2023, at 10:24 AM, Tom Lane  wrote:
>> “Prevent clobbering of cached parsetrees…Bad things could happen if…”

> While I chuckled over the phrasing, I’m left to wonder what the “bad things” 
> are, in case I
> need to check an older version to see if I’m susceptible to this bug.

Fair.  I was trying to avoid committing to specific consequences.
The assertion failure seen in the original report (#17702) wouldn't
occur for typical users, but they might see crashes or "unexpected node
type" failures.  Maybe we can say that instead.

regards, tom lane




Re: First draft of back-branch release notes is done

2023-02-05 Thread Tom Lane
Alvaro Herrera  writes:
> On 2023-Feb-03, Tom Lane wrote:
>>   Fix edge-case data corruption in shared tuplestores (Dmitry Astapov)

> I think this sounds really scary, because people are going to think that
> their stored data can get corrupted -- they don't necessarily know what
> a "shared tuplestore" is.  Maybe "Avoid query failures in parallel hash
> joins" as headline?

Hmmm ... are we sure it *can't* lead to corruption of stored data,
if this happens during an INSERT or UPDATE plan?  I'll grant that
such a case seems pretty unlikely though, as the bogus data
retrieved from the tuplestore would have to not cause a failure
within the query before it can get written out.

Also, aren't shared tuplestores used in more places than just
parallel hash join?  I mentioned that as an example, not an
exhaustive list of trouble spots.

regards, tom lane




Re: First draft of back-branch release notes is done

2023-02-05 Thread Alvaro Herrera
On 2023-Feb-03, Tom Lane wrote:

> ... at
> 
> https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=f282b026787da69d88a35404cf62f1cc21cfbb7c
> 
> As usual, please send corrections/comments by Sunday.

  Fix edge-case data corruption in shared tuplestores (Dmitry Astapov)

  If the final chunk of a large tuple being written out to disk was
  exactly 32760 bytes, it would be corrupted due to a fencepost bug.
  This is a hazard for parallelized plans that require a tuplestore,
  such as parallel hash join.  The query would typically fail later
  with corrupted-data symptoms.

I think this sounds really scary, because people are going to think that
their stored data can get corrupted -- they don't necessarily know what
a "shared tuplestore" is.  Maybe "Avoid query failures in parallel hash
joins" as headline?

-- 
Álvaro HerreraBreisgau, Deutschland  —  https://www.EnterpriseDB.com/
"The Gord often wonders why people threaten never to come back after they've
been told never to return" (www.actsofgord.com)




Re: First draft of back-branch release notes is done

2023-02-04 Thread Jonathan S. Katz


> On Feb 4, 2023, at 10:24 AM, Tom Lane  wrote:
> 
> ... at
> 
> https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=f282b026787da69d88a35404cf62f1cc21cfbb7c
> 
> As usual, please send corrections/comments by Sunday.

While reviewing for the release announcement, I noticed this (abbreviated as 
I’m on my mobile):

“Prevent clobbering of cached parsetrees…Bad things could happen if…”

While I chuckled over the phrasing, I’m left to wonder what the “bad things” 
are, in case I
need to check an older version to see if I’m susceptible to this bug.

Thanks,

Jonathan




Re: First draft of back-branch release notes is done

2019-08-08 Thread Jonathan S. Katz
On 8/8/19 2:45 PM, Alvaro Herrera wrote:
> On 2019-Aug-08, Jonathan S. Katz wrote:
> 
>> On 8/8/19 2:40 PM, Alvaro Herrera wrote:
>>> On 2019-Aug-08, Jonathan S. Katz wrote:
>>>
 I modified the copy of the announcement on the website to include the
 pg_upgrade option.

 https://www.postgresql.org/about/news/1960/
>>>
>>> Ooh, had I thought you were going to do that, I would have told you
>>> about the item ending in a comma :-)
>>
>> :) I made a quick modification and opted for an "either" at the
>> beginning of that clause and a capitalized "OR" towards the end.
> 
> Oh, heh ...  I was thinking of this line:
> 
>Fix for multi-column foreign keys when rebuilding a foreign key constraint,

Oh oops. Fixed :) Thanks,

Jonathan



signature.asc
Description: OpenPGP digital signature


Re: First draft of back-branch release notes is done

2019-08-08 Thread Alvaro Herrera
On 2019-Aug-08, Jonathan S. Katz wrote:

> On 8/8/19 2:40 PM, Alvaro Herrera wrote:
> > On 2019-Aug-08, Jonathan S. Katz wrote:
> > 
> >> I modified the copy of the announcement on the website to include the
> >> pg_upgrade option.
> >>
> >> https://www.postgresql.org/about/news/1960/
> > 
> > Ooh, had I thought you were going to do that, I would have told you
> > about the item ending in a comma :-)
> 
> :) I made a quick modification and opted for an "either" at the
> beginning of that clause and a capitalized "OR" towards the end.

Oh, heh ...  I was thinking of this line:

   Fix for multi-column foreign keys when rebuilding a foreign key constraint,

-- 
Álvaro Herrerahttps://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services




Re: First draft of back-branch release notes is done

2019-08-08 Thread Jonathan S. Katz
On 8/8/19 2:40 PM, Alvaro Herrera wrote:
> On 2019-Aug-08, Jonathan S. Katz wrote:
> 
>> I modified the copy of the announcement on the website to include the
>> pg_upgrade option.
>>
>> https://www.postgresql.org/about/news/1960/
> 
> Ooh, had I thought you were going to do that, I would have told you
> about the item ending in a comma :-)

:) I made a quick modification and opted for an "either" at the
beginning of that clause and a capitalized "OR" towards the end.

Jonathan



signature.asc
Description: OpenPGP digital signature


Re: First draft of back-branch release notes is done

2019-08-08 Thread Alvaro Herrera
On 2019-Aug-08, Jonathan S. Katz wrote:

> I modified the copy of the announcement on the website to include the
> pg_upgrade option.
> 
> https://www.postgresql.org/about/news/1960/

Ooh, had I thought you were going to do that, I would have told you
about the item ending in a comma :-)

-- 
Álvaro Herrerahttps://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services




Re: First draft of back-branch release notes is done

2019-08-08 Thread Jonathan S. Katz
On 8/8/19 2:15 PM, Tom Lane wrote:
> Alvaro Herrera  writes:
>> On 2019-Aug-04, Jonathan S. Katz wrote:
>>> * Ensure that partition key columns will not be dropped as the result of an
>>> "indirect drop," such as from a cascade from dropping the key column's data
>>> type (e.g. a custom data type). This fix is applied only to newly created
>>> partitioned tables: if you believe you have an affected partition table 
>>> (e.g.
>>> one where the partition key uses a custom data type), you will need to
>>> create a new table and move your data into it.
> 
>> Hmm, if I have this problem, I can pg_upgrade and the new database will
>> have correct dependencies, right?  For some people, doing that might be
>> easier than creating and reloading large tables.
> 
> Yeah, that should work.

I modified the copy of the announcement on the website to include the
pg_upgrade option.

https://www.postgresql.org/about/news/1960/

Thanks!

Jonathan



signature.asc
Description: OpenPGP digital signature


Re: First draft of back-branch release notes is done

2019-08-08 Thread Tom Lane
Alvaro Herrera  writes:
> On 2019-Aug-04, Jonathan S. Katz wrote:
>> * Ensure that partition key columns will not be dropped as the result of an
>> "indirect drop," such as from a cascade from dropping the key column's data
>> type (e.g. a custom data type). This fix is applied only to newly created
>> partitioned tables: if you believe you have an affected partition table (e.g.
>> one where the partition key uses a custom data type), you will need to
>> create a new table and move your data into it.

> Hmm, if I have this problem, I can pg_upgrade and the new database will
> have correct dependencies, right?  For some people, doing that might be
> easier than creating and reloading large tables.

Yeah, that should work.

regards, tom lane




Re: First draft of back-branch release notes is done

2019-08-08 Thread Alvaro Herrera
I realize that this has now been sent, but I wanted to comment on one
item:

On 2019-Aug-04, Jonathan S. Katz wrote:

> * Ensure that partition key columns will not be dropped as the result of an
> "indirect drop," such as from a cascade from dropping the key column's data
> type (e.g. a custom data type). This fix is applied only to newly created
> partitioned tables: if you believe you have an affected partition table (e.g.
> one where the partition key uses a custom data type), you will need to
> create a new table and move your data into it.

Hmm, if I have this problem, I can pg_upgrade and the new database will
have correct dependencies, right?  For some people, doing that might be
easier than creating and reloading large tables.

-- 
Álvaro Herrerahttps://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services




Re: First draft of back-branch release notes is done

2019-08-04 Thread Jonathan S. Katz
On 8/4/19 11:08 AM, Jonathan S. Katz wrote:
> On 8/4/19 10:52 AM, Tom Lane wrote:
>> "Jonathan S. Katz"  writes:
>>> Perhaps instead of "June" it could be the specific version number (which
>>> could cause some pain with the back branching?) or the "2019-06-20" release?
>>
>> Putting in all the version numbers seems like a mess, but specifying
>> 2019-06-20 would work --- or we could say "the most recent" minor
>> releases?
> 
> That or "previous minor release" would seem to work.
> 
> (In the PR I'm putting in the versions it was introduced but we have the
> luxury of only having one PR.)

Attached is the first draft of the PR.

Jonathan
2019-08-08 Cumulative Update


The PostgreSQL Global Development Group has released an update to all supported
versions of our database system, including 11.5, 10.10, 9.6.15, 9.5.19, and
9.4.24, as well as the third beta of PostgreSQL 12. This release fixes over 40
bugs reported since the last release.

Users should plan to apply this update at the next scheduled downtime.

A Note on the PostgreSQL 12 Beta


In the spirit of the open source PostgreSQL community, we strongly encourage you
to test the new features of PostgreSQL 12 in your database systems to help us
eliminate any bugs or other issues that may exist. While we do not advise you to
run PostgreSQL 12 Beta 3 in your production environments, we encourage you to
find ways to run your typical application workloads against this beta release.

Your testing and feedback will help the community ensure that the PostgreSQL 12
release upholds our standards of providing a stable, reliable release of the
world's most advanced open source relational database.

Bug Fixes and Improvements
--

This update also fixes over 40 bugs that were reported in the last several
months. Some of these issues affect only version 11, but many affect all
supported versions.

Some of these fixes include:

* Fix for `ALTER TABLE ... ALTER COLUMN TYPE` when multiple column types are
modified in a single-command. This issue was introduced in the previous
cumulative update (11.4, 10.9, 9.6.14, 9.5.18, 9.4.23, and 12 beta 2).
* Ensure that partition key columns will not be dropped as the result of an
"indirect drop," such as from a cascade from dropping the key column's data
type (e.g. a custom data type). This fix is applied only to newly created
partitioned tables: if you believe you have an affected partition table (e.g.
one where the partition key uses a custom data type), you will need to
create a new table and move your data into it.
* Prevent dropping a partitioned table's trigger if there are pending trigger
events in child partitions. This particularly affects foreign key constraints,
which are implemented by triggers.
* Several additional fixes for partitioning, including a fix for partition
pruning that could lead to inefficient queries.
* Fix for parallel hash joins that could lead to duplicate result rows in
`EXISTS` queries.
* Several fixes for the query planner.
* Several fixes for issues that would lead to query deadlocks.
* Fix for multi-column foreign keys when rebuilding a foreign key constraint,
* Prevent extended statistics from being built for inherited tables.
* Fix for the canonicalization of date ranges that include `-infinity`/`infinity`
endpoints to ensure the behavior matches the documentation.
* Fix loss of fractional digits when converting very large `money` values to
`numeric`.
* Fix for PL/pgSQL functions that return composite types.
* Make libpq ignore the `\r` carriage return in connection service files, which
was causing connection failures in some edge cases.
* Several fixes for `psql`, which includes avoiding incorrect tab completion
options after `SET variable =`.
* Improve reliability of `contrib/amcheck`'s index verification.
* Set `initdb` to prefer the timezone behavior defined by the C library instead
of what is defined by `localtime` or `posixrules`. This ensures PostgreSQL uses
the "real" timezone name instead of an artificial name.
* Fix `pg_dump` to ensure that custom operator classes are dumped in the correct
order to prevent creating an unrestorable dump.
* Fix possible lockup in `pgbench` when using -R option.
* Fix spinlock assembly code for MIPS CPUs so that it works on MIPS r6.

This update also contains tzdata release 2019b for DST law changes in Brazil,
plus historical corrections for Hong Kong, Italy, and Palestine. This update
also adds support for zic's new -b slim option to reduce the size of the
installed zone files, though it is not currently being used by PostgreSQL.

For more details, you can read the full copy of the release notes here:

[https://www.postgresql.org/docs/release/](https://www.postgresql.org/docs/release/)

Updating


All PostgreSQL update releases are cumulative. As with other minor releases,
users are not required to dump and reload their database or use `pg_upgrade` in
order to 

Re: First draft of back-branch release notes is done

2019-08-04 Thread Jonathan S. Katz
On 8/4/19 10:52 AM, Tom Lane wrote:
> "Jonathan S. Katz"  writes:
>> Perhaps instead of "June" it could be the specific version number (which
>> could cause some pain with the back branching?) or the "2019-06-20" release?
> 
> Putting in all the version numbers seems like a mess, but specifying
> 2019-06-20 would work --- or we could say "the most recent" minor
> releases?

That or "previous minor release" would seem to work.

(In the PR I'm putting in the versions it was introduced but we have the
luxury of only having one PR.)

Jonathan



signature.asc
Description: OpenPGP digital signature


Re: First draft of back-branch release notes is done

2019-08-04 Thread Tom Lane
"Jonathan S. Katz"  writes:
> Perhaps instead of "June" it could be the specific version number (which
> could cause some pain with the back branching?) or the "2019-06-20" release?

Putting in all the version numbers seems like a mess, but specifying
2019-06-20 would work --- or we could say "the most recent" minor
releases?

regards, tom lane




Re: First draft of back-branch release notes is done

2019-08-04 Thread Jonathan S. Katz
On 8/2/19 3:21 PM, Tom Lane wrote:
> See
> https://git.postgresql.org/pg/commitdiff/082c9f5f761ced18a6f014f2638096f6a8228164
> 
> Please send comments/corrections before Sunday.

While working on the PR, I noticed this line:

"This fixes a regression introduced in June's minor releases..."

Perhaps instead of "June" it could be the specific version number (which
could cause some pain with the back branching?) or the "2019-06-20" release?

Thanks,

Jonathan



signature.asc
Description: OpenPGP digital signature