public inbox for [email protected]  
help / color / mirror / Atom feed
PostgreSQL 12 Press Release - First Draft
15+ messages / 8 participants
[nested] [flat]

* PostgreSQL 12 Press Release - First Draft
@ 2019-08-21 20:43  Jonathan S. Katz <[email protected]>
  0 siblings, 2 replies; 15+ messages in thread

From: Jonathan S. Katz @ 2019-08-21 20:43 UTC (permalink / raw)
  To: PostgreSQL Advocacy <[email protected]>

Hi,

Attached is a first draft of the press release for PostgreSQL 12.
Feedback welcome (more below), though I ask feedback to be provided no
later than September 6, 2019.

A few comments for context:

Using the release notes[1], 12 beta 1 release[2], and miscellaneous
feedback as a guide, there seemed to be roughly five major feature groups:

- Overall Performance Improvements (focuses on the indexing +
partitioning work, MCV stats)
- Enhancements to SQL Conformance & Functionality (SQL/JSON, inlined
CTEs, generated columns)
- Internationalization (ICU case insensitivity)
- Authentication (GSSAPI encryption, LDAP discovery, clientcert=verify-full)
- Administrative (REINDEX CONCURRENTLY, pg_checksums)

I mentioned  pluggable storage interface in it but did not elaborate in
too much detail. I am a huge fan of this effort, but for the typical
PG12 user, we may not want to elaborate too much on it in the general
press release.

Feedback I'm looking for:

- Grammar / typos / awkward wording (I did already catch "party of a
query" :)
- Checks for technical accuracy
- Glaring feature omissions
- Features that should be downplayed
- User testimonials / quotes

Thanks!

Jonathan

[1] https://www.postgresql.org/docs/12/release-12.html
[2] https://www.postgresql.org/about/news/1943/


Attachments:

  [text/markdown] release.en.md (6.0K, ../../[email protected]/2-release.en.md)
  download | inline:
# PostgreSQL 12 Released!

The PostgreSQL Global Development Group today announced the release of
PostgreSQL 12, the latest version of the world’s most advanced open source
database.

PostgreSQL 12 enhancements include notable improvements
to query performance, particularly over larger data sets, and overall space
utilization. This release provides application developers with new capabilities
such as SQL/JSON path expression support, optimizations for how common-table
expression ("WITH") queries are executed, and generated columns. The PostgreSQL
community continues to support the extensibility and robustness of PostgreSQL,
with further additions to internationalization, authentication, and providing
easier ways to administrate PostgreSQL. This release also introduces the
pluggable table storage interface, which allows developers to create their own
methods for storing data.

**HOLD FOR QUOTE**

PostgreSQL benefits from over 20 years of open source development and has become
the preferred open source relational database for organizations of all sizes.
The project continues to receive recognition across the industry, including
being featured for the second year in a row as the "DBMS of the Year" in 2018 by
DB-Engines and receiving the "Lifetime Achievement" open source award at OSCon
2019.

## Overall Performance Improvements

PostgreSQL 12 provides significant performance and maintenance enhancements to
its indexing system and to partitioning.

B-tree Indexes, the standard type of indexing in PostgreSQL, have been optimized
in PostgreSQL 12 to better handle workloads where the indexes are frequently
modified. Using a fair use implementation of the TPC-C benchmark, PostgreSQL 12
demonstrated on average a 40% reduction in space utilization and an overall gain
in query performance.

Queries on partitioned tables have also seen demonstrable improvements,
particularly for tables with thousands of partitions that only need to retrieve
data from a select few. PostgreSQL 12 also improvements the performance of
adding data to partitioned tables via "INSERT" and "COPY", and a new partition
can be attached to a table with blocking any queries on it.

There are additional enhancements to indexing in PostgreSQL 12 that affect
overall performance, including lower overhead in write-head-log generation for
GiST, GIN, and SP-GiST indexes, the ability to create covering indexes (the
"INCLUDE" clause) on GiST indexes, the ability to perform K-nearest
neighbor queries with the distance operator ("<->") using SP-GiST indexes, and
CREATE STATISTICS now supporting most-common value (MCV) statistics to help with
columns that are nonuniformly distributed.

## Enhancements to SQL Conformance & Functionality

PostgreSQL is known for its conformance to the SQL standard – one reason why it
was renamed from "POSTGRES" to "PostgreSQL" – and PostgreSQL 12 adds several
features that build on the implementation of the SQL standard and offer enhanced
functionality.

PostgreSQL 12 introduces the ability to run queries over JSON documents using
JSON path expressions defined in the SQL/JSON standard. Additionally, certain
JSON path expressions can utilize the existing indexing mechanisms for documents
stored in the JSONB format to efficiently retrieve data.

Common table expressions, aka "WITH" queries, can now be automatically inlined
by PostgreSQL 12, which in turn can help increase the performance of many
existing queries. In this release, a WITH query can be inlined if it is not
recursive, does not have any side-effects, and is only referenced once in a
later part of a query.

PostgreSQL 12 also introduces generated columns, which is a type of column that
can be computed its value from other columns in the same table. Currently,
PostgreSQL only supports "stored generated columns," where the computed value is
stored on the disk.

## Internationalization

PostgreSQL 12 extends its support of ICU collations by allowing users to define
"nondeterministic collations" that can, for example, allow case-insensitive or
accent-insensitive comparisons.

## Authentication

PostgreSQL expands on its robust authentication method support with several
enhancements that provide additional security and functionality in
PostgreSQL 12. This release introduces both client and server-side encryption
for authentication over GSSAPI interfaces, as well as the ability for PostgreSQL
to discover LDAP servers using if it was compiled with OpenLDAP.

Additionally, PostgreSQL 12 now supports a form of multifactor authentication. A
PostgreSQL server can now require an authentication client to provide a valid
SSL certificate with their username using the "clientcert=verify-full" option
and combine this with the requirement of a separate authentication method (e.g.
"scram-sha-256").

## Administration

PostgreSQL 12 introduces the ability to rebuild indexes without blocking writes
to an index via the "REINDEX CONCURRENTLY" command, allowing users to avoid
downtime scenarios for lengthy index rebuilds.

Additionally, PostgreSQL 12 can now enable or disable page checksums in an
offline cluster using the "pg_checksums" command. Previously page checksums, a
feature to help verify the integrity of data stored to disk, could only be
enabled at the time a PostgreSQL cluster was initialized with "initdb."

For a full list of features included in this release, please read the release
notes, which can be found at: https://www.postgresql.org/docs/12/static/release-12.html

## About PostgreSQL

PostgreSQL is the world's most advanced open source database, with a global
community of thousands of users, contributors, companies and organizations. The
PostgreSQL Project builds on over 30 years of engineering, starting at the
University of California, Berkeley, and has continued with an unmatched pace of
development. PostgreSQL's mature feature set not only matches top proprietary
database systems, but exceeds them in advanced database features, extensibility,
security, and stability.

Learn more about PostgreSQL and participate in our community at PostgreSQL.org.

  [application/pgp-signature] signature.asc (833B, ../../[email protected]/3-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-08-21 21:02  Erik Rijkers <[email protected]>
  parent: Jonathan S. Katz <[email protected]>
  1 sibling, 1 reply; 15+ messages in thread

From: Erik Rijkers @ 2019-08-21 21:02 UTC (permalink / raw)
  To: Jonathan S. Katz <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

On 2019-08-21 22:43, Jonathan S. Katz wrote:
> Hi,
> 
> Attached is a first draft of the press release for PostgreSQL 12.

A few typos:

'PostgreSQL 12 also improvements the performance of'  should be
'PostgreSQL 12 also improves the performance when'

'with blocking any queries'  should be (I think)
'without blocking any queries'

'write-head-log'  should be
'write-ahead-log'

'that can be computed its value from other columns'
'that can compute its value from other columns'

and something is not quite right about the sentence containing:
'LDAP servers using if it'
but I can't figure out what it should be.


thanks,


Erik Rijkers







^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-08-21 21:11  Jonathan S. Katz <[email protected]>
  parent: Erik Rijkers <[email protected]>
  0 siblings, 2 replies; 15+ messages in thread

From: Jonathan S. Katz @ 2019-08-21 21:11 UTC (permalink / raw)
  To: Erik Rijkers <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

On 8/21/19 5:02 PM, Erik Rijkers wrote:
> On 2019-08-21 22:43, Jonathan S. Katz wrote:
>> Hi,
>>
>> Attached is a first draft of the press release for PostgreSQL 12.
> 
> A few typos:
> 
> 'PostgreSQL 12 also improvements the performance of'  should be
> 'PostgreSQL 12 also improves the performance when'
> 
> 'with blocking any queries'  should be (I think)
> 'without blocking any queries'
> 
> 'write-head-log'  should be
> 'write-ahead-log'
> 
> 'that can be computed its value from other columns'
> 'that can compute its value from other columns'
> 
> and something is not quite right about the sentence containing:
> 'LDAP servers using if it'
> but I can't figure out what it should be.

Thanks! I incorporated most of your suggestions in the updated copy.

Jonathan


Attachments:

  [text/markdown] release.en.md (6.0K, ../../[email protected]/2-release.en.md)
  download | inline:
# PostgreSQL 12 Released!

The PostgreSQL Global Development Group today announced the release of
PostgreSQL 12, the latest version of the world’s most advanced open source
database.

PostgreSQL 12 enhancements include notable improvements
to query performance, particularly over larger data sets, and overall space
utilization. This release provides application developers with new capabilities
such as SQL/JSON path expression support, optimizations for how common-table
expression ("WITH") queries are executed, and generated columns. The PostgreSQL
community continues to support the extensibility and robustness of PostgreSQL,
with further additions to internationalization, authentication, and providing
easier ways to administrate PostgreSQL. This release also introduces the
pluggable table storage interface, which allows developers to create their own
methods for storing data.

**HOLD FOR QUOTE**

PostgreSQL benefits from over 20 years of open source development and has become
the preferred open source relational database for organizations of all sizes.
The project continues to receive recognition across the industry, including
being featured for the second year in a row as the "DBMS of the Year" in 2018 by
DB-Engines and receiving the "Lifetime Achievement" open source award at OSCon
2019.

## Overall Performance Improvements

PostgreSQL 12 provides significant performance and maintenance enhancements to
its indexing system and to partitioning.

B-tree Indexes, the standard type of indexing in PostgreSQL, have been optimized
in PostgreSQL 12 to better handle workloads where the indexes are frequently
modified. Using a fair use implementation of the TPC-C benchmark, PostgreSQL 12
demonstrated on average a 40% reduction in space utilization and an overall gain
in query performance.

Queries on partitioned tables have also seen demonstrable improvements,
particularly for tables with thousands of partitions that only need to retrieve
data from a select few. PostgreSQL 12 also improves the performance of
adding data to partitioned tables with "INSERT" and "COPY", and a new partition
can now be attached to a table without blocking queries.

There are additional enhancements to indexing in PostgreSQL 12 that affect
overall performance, including lower overhead in write-ahead log generation for
GiST, GIN, and SP-GiST indexes, the ability to create covering indexes (the
"INCLUDE" clause) on GiST indexes, the ability to perform K-nearest
neighbor queries with the distance operator ("<->") using SP-GiST indexes, and
CREATE STATISTICS now supporting most-common value (MCV) statistics to help with
columns that are nonuniformly distributed.

## Enhancements to SQL Conformance & Functionality

PostgreSQL is known for its conformance to the SQL standard – one reason why it
was renamed from "POSTGRES" to "PostgreSQL" – and PostgreSQL 12 adds several
features that build on the implementation of the SQL standard and offer enhanced
functionality.

PostgreSQL 12 introduces the ability to run queries over JSON documents using
JSON path expressions defined in the SQL/JSON standard. Additionally, certain
JSON path expressions can utilize the existing indexing mechanisms for documents
stored in the JSONB format to efficiently retrieve data.

Common table expressions, aka "WITH" queries, can now be automatically inlined
by PostgreSQL 12, which in turn can help increase the performance of many
existing queries. In this release, a WITH query can be inlined if it is not
recursive, does not have any side-effects, and is only referenced once in a
later part of a query.

PostgreSQL 12 also introduces generated columns, which is a type of column that
can be computed its value from other columns in the same table. Currently,
PostgreSQL only supports "stored generated columns," where the computed value is
stored on the disk.

## Internationalization

PostgreSQL 12 extends its support of ICU collations by allowing users to define
"nondeterministic collations" that can, for example, allow case-insensitive or
accent-insensitive comparisons.

## Authentication

PostgreSQL expands on its robust authentication method support with several
enhancements that provide additional security and functionality in
PostgreSQL 12. This release introduces both client and server-side encryption
for authentication over GSSAPI interfaces, as well as the ability for PostgreSQL
to discover LDAP servers if PostgreSQL is compiled with OpenLDAP.

Additionally, PostgreSQL 12 now supports a form of multifactor authentication. A
PostgreSQL server can now require an authentication client to provide a valid
SSL certificate with their username using the "clientcert=verify-full" option
and combine this with the requirement of a separate authentication method (e.g.
"scram-sha-256").

## Administration

PostgreSQL 12 introduces the ability to rebuild indexes without blocking writes
to an index via the "REINDEX CONCURRENTLY" command, allowing users to avoid
downtime scenarios for lengthy index rebuilds.

Additionally, PostgreSQL 12 can now enable or disable page checksums in an
offline cluster using the "pg_checksums" command. Previously page checksums, a
feature to help verify the integrity of data stored to disk, could only be
enabled at the time a PostgreSQL cluster was initialized with "initdb."

For a full list of features included in this release, please read the release
notes, which can be found at: https://www.postgresql.org/docs/12/static/release-12.html

## About PostgreSQL

PostgreSQL is the world's most advanced open source database, with a global
community of thousands of users, contributors, companies and organizations. The
PostgreSQL Project builds on over 30 years of engineering, starting at the
University of California, Berkeley, and has continued with an unmatched pace of
development. PostgreSQL's mature feature set not only matches top proprietary
database systems, but exceeds them in advanced database features, extensibility,
security, and stability.

Learn more about PostgreSQL and participate in our community at PostgreSQL.org.

  [application/pgp-signature] signature.asc (833B, ../../[email protected]/3-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-08-21 22:37  Basil Bourque <[email protected]>
  parent: Jonathan S. Katz <[email protected]>
  1 sibling, 0 replies; 15+ messages in thread

From: Basil Bourque @ 2019-08-21 22:37 UTC (permalink / raw)
  To: Jonathan S. Katz <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

———

“OSCon” should be “OSCON”, all uppercase.

Source: https://conferences.oreilly.com/oscon/oscon-or

———

I would make two sentences of this:

>PostgreSQL 12 also improves the performance of
adding data to partitioned tables with "INSERT" and "COPY", and a new partition
can now be attached to a table without blocking queries.

…to this:

>PostgreSQL 12 also improves the performance of
adding data to partitioned tables with "INSERT" and “COPY”. And a new partition
can now be attached to a table without blocking queries.

———

Shorten:

>PostgreSQL 12 introduces the ability to run queries over JSON documents using
JSON path expressions defined in the SQL/JSON standard. Additionally, certain
JSON path expressions can utilize the existing indexing mechanisms for documents
stored in the JSONB format to efficiently retrieve data.

…to this:

>PostgreSQL 12 introduces the ability to run queries over JSON documents using 
JSON path expressions defined in the SQL/JSON standard. Such queries may utilize 
the existing indexing mechanisms for documents stored in the JSONB format to 
efficiently retrieve data.

———

I would mention the SQL standard here (SQL:2003 as I recall). And drop the words “also” and “only". So this:

>PostgreSQL 12 also introduces generated columns, which is a type of column that
can be computed its value from other columns in the same table. Currently,
PostgreSQL only supports "stored generated columns," where the computed value is
stored on the disk.

…becomes:

>PostgreSQL 12 introduces "generated columns”. Defined in the SQL standard, this type of column computes its value from the values of other columns in the same table. Currently,
PostgreSQL supports "stored generated columns," where the computed value is
stored on the disk.

———

Your document looks good to me as-is. My only addition would be something about Just-In-Time (JIT) compiling and use of LLVM because:

 (a) JIT & LLVM are high-tech items that may catch the attention of some. So, good PR.
 (b) The feature provide significant improvements in performance to some.

Something like (caveat, I am not an expert here):

>Through the use of LLVM compiler technology, PostgreSQL 12 now enables by default the Just-In-Time (JIT) compiling of generated code. Longer-running CPU-intensive queries can see significant performance improvements. 


—Basil Bourque









^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-08-22 07:51  Gunnar "Nick" Bluth <[email protected]>
  parent: Jonathan S. Katz <[email protected]>
  1 sibling, 0 replies; 15+ messages in thread

From: Gunnar "Nick" Bluth @ 2019-08-22 07:51 UTC (permalink / raw)
  To: [email protected]

Am 21.08.19 um 23:11 schrieb Jonathan S. Katz:
> On 8/21/19 5:02 PM, Erik Rijkers wrote:
>> On 2019-08-21 22:43, Jonathan S. Katz wrote:
>>> Hi,
>>>
>>> Attached is a first draft of the press release for PostgreSQL 12.
>>
>> A few typos:
>>

--8><------><8----

>> but I can't figure out what it should be.
> 
> Thanks! I incorporated most of your suggestions in the updated copy.

Awesome work as usual, Jonathan!

My 2p:

- To me, a non-native speaker, this ("select") feels odd (although I see
what's meant!) in a text on a database:
"that only need to retrieve data from a select few"

- Okular doesn't display the 'distance operator (“”)' (but that might be
Okular, afterall)

- s/can be computed its value/can be computed/ (that's been mentioned
already, I think)

- I'd personally leave the "in PostgreSQL 12" out of "additional
security and functionality in PostgreSQL 12"

- s/an authentication client/an authenticating client/ ?

Cheers!
-- 
Gunnar "Nick" Bluth
DBA ELSTER
Extern im Auftrag der Hays AG

Tel:   +49 911/991-4665
Mobil: +49 172/8853339
"Ceterum censeo SystemD esse delendam"



Attachments:

  [application/pkcs7-signature] smime.p7s (4.0K, ../../[email protected]/2-smime.p7s)
  download

^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-08-25 09:01  Peter Eisentraut <[email protected]>
  parent: Jonathan S. Katz <[email protected]>
  1 sibling, 1 reply; 15+ messages in thread

From: Peter Eisentraut @ 2019-08-25 09:01 UTC (permalink / raw)
  To: Jonathan S. Katz <[email protected]>; PostgreSQL Advocacy <[email protected]>

On 2019-08-21 22:43, Jonathan S. Katz wrote:
> - Administrative (REINDEX CONCURRENTLY, pg_checksums)

Enhancements to progress tracking of various utility commands might fit
in under this heading.

Other than that, I don't see anything major to be added.


The file you attached contains a confusing selection of non-ASCII
characters such as curly quotes and non-breaking spaces.  Nothing wrong
with using those, of course, but it's not done consistently and looks
gratuitous.  You should look into cleaning that up so that this doesn't
get messed up further by downstream processors of the press release.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services





^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-09-02 15:19  Jonathan S. Katz <[email protected]>
  parent: Peter Eisentraut <[email protected]>
  0 siblings, 2 replies; 15+ messages in thread

From: Jonathan S. Katz @ 2019-09-02 15:19 UTC (permalink / raw)
  To: Peter Eisentraut <[email protected]>; PostgreSQL Advocacy <[email protected]>

Hi Everyone,

On 8/25/19 5:01 AM, Peter Eisentraut wrote:
> On 2019-08-21 22:43, Jonathan S. Katz wrote:
>> - Administrative (REINDEX CONCURRENTLY, pg_checksums)
> 
> Enhancements to progress tracking of various utility commands might fit
> in under this heading.
> 
> Other than that, I don't see anything major to be added.
> 
> 
> The file you attached contains a confusing selection of non-ASCII
> characters such as curly quotes and non-breaking spaces.  Nothing wrong
> with using those, of course, but it's not done consistently and looks
> gratuitous.  You should look into cleaning that up so that this doesn't
> get messed up further by downstream processors of the press release.

Thank you all for your feedback, it was incredibly helpful! I waited a
few days before incorporating changes to try to limit the back-and-forth.

Please see attached for the latest draft. I tried to move this closer to
the final markdown version (e.g. to Peter's point above) though there is
some additional formatting I will provide before the final one.

Again, please keep your feedback coming through September 6, 2019
AOE[1]. I will let you know if there is an extension, of course :)

Thanks!

Jonathan

[1] https://en.wikipedia.org/wiki/Anywhere_on_Earth


Attachments:

  [text/markdown] release-v3.en.md (6.5K, ../../[email protected]/2-release-v3.en.md)
  download | inline:
# PostgreSQL 12 Released!

The PostgreSQL Global Development Group today announced the release of PostgreSQL 12, the latest version of the world’s most advanced open source database.

PostgreSQL 12 enhancements include notable improvements to query performance, particularly over larger data sets, and overall space utilization. This release provides application developers with new capabilities such as SQL/JSON path expression support, optimizations for how common-table expression ("WITH") queries are executed, and generated columns. The PostgreSQL community continues to support the extensibility and robustness of PostgreSQL, with further additions to internationalization, authentication, and providing easier ways to administrate PostgreSQL. This release also introduces the pluggable table storage interface, which allows developers to create their own methods for storing data.

**HOLD FOR QUOTE**

PostgreSQL benefits from over 20 years of open source development and has become the preferred open source relational database for organizations of all sizes. The project continues to receive recognition across the industry, including being featured for the second year in a row as the "DBMS of the Year" in 2018 by DB-Engines and receiving the "Lifetime Achievement" open source award at OSCON 2019.

## Overall Performance Improvements

PostgreSQL 12 provides significant performance and maintenance enhancements to its indexing system and to partitioning.

B-tree Indexes, the standard type of indexing in PostgreSQL, have been optimized in PostgreSQL 12 to better handle workloads where the indexes are frequently modified. Using a fair use implementation of the TPC-C benchmark, PostgreSQL 12 demonstrated on average a 40% reduction in space utilization and an overall gain in query performance.

Queries on partitioned tables have also seen demonstrable improvements, particularly for tables with thousands of partitions that only need to retrieve data from a limited subset. PostgreSQL 12 also improves the performance of adding data to partitioned tables with "INSERT" and "COPY", and includes the ability to attach a new partition to a table without blocking queries.

There are additional enhancements to indexing in PostgreSQL 12 that affect overall performance, including lower overhead in write-ahead log generation for GiST, GIN, and SP-GiST indexes, the ability to create covering indexes (the "INCLUDE" clause) on GiST indexes, the ability to perform K-nearest neighbor queries with the distance operator ("<->") using SP-GiST indexes, and CREATE STATISTICS now supporting most-common value (MCV) statistics to help with columns that are nonuniformly distributed.

Just-in-time (JIT) compilation using LLVM, introduced in PostgreSQL 11, is now enabled by default. JIT compilation can provide performance benefits to the execution of expressions in WHERE clauses, target lists, aggregates, and some internal operations, and is available if your PostgreSQL installation is compiled or packaged with LLVM.

## Enhancements to SQL Conformance & Functionality

PostgreSQL is known for its conformance to the SQL standard – one reason why it was renamed from "POSTGRES" to "PostgreSQL" – and PostgreSQL 12 adds several features that build on the implementation of the SQL standard and offer enhanced functionality.

PostgreSQL 12 introduces the ability to run queries over JSON documents using JSON path expressions defined in the SQL/JSON standard. Such queries may utilize the existing indexing mechanisms for documents stored in the JSONB format to efficiently retrieve data.

Common table expressions, aka "WITH" queries, can now be automatically inlined by PostgreSQL 12, which in turn can help increase the performance of many existing queries. In this release, a WITH query can be inlined if it is not recursive, does not have any side-effects, and is only referenced once in a later part of a query.

PostgreSQL 12 introduces "generated columns." Defined in the SQL standard, this type of column computes its value from the contents of other columns in the same table. In this version, PostgreSQL supports "stored generated columns," where the computed value is stored on the disk.

## Internationalization

PostgreSQL 12 extends its support of ICU collations by allowing users to define "nondeterministic collations" that can, for example, allow case-insensitive or accent-insensitive comparisons.

## Authentication

PostgreSQL expands on its robust authentication method support with several enhancements that provide additional security and functionality. This release introduces both client and server-side encryption for authentication over GSSAPI interfaces, as well as the ability for PostgreSQL to discover LDAP servers if PostgreSQL is compiled with OpenLDAP.

Additionally, PostgreSQL 12 now supports a form of multifactor authentication. A PostgreSQL server can now require an authenticating client to provide a valid SSL certificate with their username using the "clientcert=verify-full" option and combine this with the requirement of a separate authentication method (e.g. "scram-sha-256").

## Administration

PostgreSQL 12 introduces the ability to rebuild indexes without blocking writes to an index via the "REINDEX CONCURRENTLY" command, allowing users to avoid downtime scenarios for lengthy index rebuilds.

Additionally, PostgreSQL 12 can now enable or disable page checksums in an offline cluster using the "pg_checksums" command. Previously page checksums, a feature to help verify the integrity of data stored to disk, could only be enabled at the time a PostgreSQL cluster was initialized with "initdb."

PostgreSQL 12 also introduces progress reporting statistics for the "CREATE INDEX", "REINDEX", "CLUSTER", and "VACUUM FULL", operations, and to the "pg_checksums" command via the "--progress" flag.

For a full list of features included in this release, please read the release notes, which can be found at: https://www.postgresql.org/docs/12/static/release-12.html

## About PostgreSQL

PostgreSQL is the world's most advanced open source database, with a global community of thousands of users, contributors, companies and organizations. The PostgreSQL Project builds on over 30 years of engineering, starting at the University of California, Berkeley, and has continued with an unmatched pace of development. PostgreSQL's mature feature set not only matches top proprietary database systems, but exceeds them in advanced database features, extensibility, security, and stability.

Learn more about PostgreSQL and participate in our community at PostgreSQL.org.

  [application/pgp-signature] signature.asc (833B, ../../[email protected]/3-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-09-02 15:36  Jonathan S. Katz <[email protected]>
  parent: Jonathan S. Katz <[email protected]>
  1 sibling, 1 reply; 15+ messages in thread

From: Jonathan S. Katz @ 2019-09-02 15:36 UTC (permalink / raw)
  To: Peter Eisentraut <[email protected]>; PostgreSQL Advocacy <[email protected]>

On 9/2/19 11:19 AM, Jonathan S. Katz wrote:
> Hi Everyone,
> 
> On 8/25/19 5:01 AM, Peter Eisentraut wrote:
>>
>> The file you attached contains a confusing selection of non-ASCII
>> characters such as curly quotes and non-breaking spaces.  Nothing wrong
>> with using those, of course, but it's not done consistently and looks
>> gratuitous.  You should look into cleaning that up so that this doesn't
>> get messed up further by downstream processors of the press release.
>
> Please see attached for the latest draft. I tried to move this closer to
> the final markdown version (e.g. to Peter's point above) though there is
> some additional formatting I will provide before the final one.

And no sooner do I say that do I find additional broken formatting.
Please see attached with updates.

Jonathan


Attachments:

  [text/markdown] release-v4.en.md (6.5K, ../../[email protected]/2-release-v4.en.md)
  download | inline:
# PostgreSQL 12 Released!

The PostgreSQL Global Development Group today announced the release of PostgreSQL 12, the latest version of the world's most advanced open source database.

PostgreSQL 12 enhancements include notable improvements to query performance, particularly over larger data sets, and overall space utilization. This release provides application developers with new capabilities such as SQL/JSON path expression support, optimizations for how common-table expression ("WITH") queries are executed, and generated columns. The PostgreSQL community continues to support the extensibility and robustness of PostgreSQL, with further additions to internationalization, authentication, and providing easier ways to administrate PostgreSQL. This release also introduces the pluggable table storage interface, which allows developers to create their own methods for storing data.

**HOLD FOR QUOTE**

PostgreSQL benefits from over 20 years of open source development and has become the preferred open source relational database for organizations of all sizes. The project continues to receive recognition across the industry, including being featured for the second year in a row as the "DBMS of the Year" in 2018 by DB-Engines and receiving the "Lifetime Achievement" open source award at OSCON 2019.

## Overall Performance Improvements

PostgreSQL 12 provides significant performance and maintenance enhancements to its indexing system and to partitioning.

B-tree Indexes, the standard type of indexing in PostgreSQL, have been optimized in PostgreSQL 12 to better handle workloads where the indexes are frequently modified. Using a fair use implementation of the TPC-C benchmark, PostgreSQL 12 demonstrated on average a 40% reduction in space utilization and an overall gain in query performance.

Queries on partitioned tables have also seen demonstrable improvements, particularly for tables with thousands of partitions that only need to retrieve data from a limited subset. PostgreSQL 12 also improves the performance of adding data to partitioned tables with "INSERT" and "COPY", and includes the ability to attach a new partition to a table without blocking queries.

There are additional enhancements to indexing in PostgreSQL 12 that affect overall performance, including lower overhead in write-ahead log generation for GiST, GIN, and SP-GiST indexes, the ability to create covering indexes (the "INCLUDE" clause) on GiST indexes, the ability to perform K-nearest neighbor queries with the distance operator ("<->") using SP-GiST indexes, and CREATE STATISTICS now supporting most-common value (MCV) statistics to help with columns that are nonuniformly distributed.

Just-in-time (JIT) compilation using LLVM, introduced in PostgreSQL 11, is now enabled by default. JIT compilation can provide performance benefits to the execution of expressions in WHERE clauses, target lists, aggregates, and some internal operations, and is available if your PostgreSQL installation is compiled or packaged with LLVM.

## Enhancements to SQL Conformance & Functionality

PostgreSQL is known for its conformance to the SQL standard - one reason why it was renamed from "POSTGRES" to "PostgreSQL" - and PostgreSQL 12 adds several features that build on the implementation of the SQL standard and offer enhanced functionality.

PostgreSQL 12 introduces the ability to run queries over JSON documents using JSON path expressions defined in the SQL/JSON standard. Such queries may utilize the existing indexing mechanisms for documents stored in the JSONB format to efficiently retrieve data.

Common table expressions, aka "WITH" queries, can now be automatically inlined by PostgreSQL 12, which in turn can help increase the performance of many existing queries. In this release, a WITH query can be inlined if it is not recursive, does not have any side-effects, and is only referenced once in a later part of a query.

PostgreSQL 12 introduces "generated columns." Defined in the SQL standard, this type of column computes its value from the contents of other columns in the same table. In this version, PostgreSQL supports "stored generated columns," where the computed value is stored on the disk.

## Internationalization

PostgreSQL 12 extends its support of ICU collations by allowing users to define "nondeterministic collations" that can, for example, allow case-insensitive or accent-insensitive comparisons.

## Authentication

PostgreSQL expands on its robust authentication method support with several enhancements that provide additional security and functionality. This release introduces both client and server-side encryption for authentication over GSSAPI interfaces, as well as the ability for PostgreSQL to discover LDAP servers if PostgreSQL is compiled with OpenLDAP.

Additionally, PostgreSQL 12 now supports a form of multifactor authentication. A PostgreSQL server can now require an authenticating client to provide a valid SSL certificate with their username using the "clientcert=verify-full" option and combine this with the requirement of a separate authentication method (e.g. "scram-sha-256").

## Administration

PostgreSQL 12 introduces the ability to rebuild indexes without blocking writes to an index via the "REINDEX CONCURRENTLY" command, allowing users to avoid downtime scenarios for lengthy index rebuilds.

Additionally, PostgreSQL 12 can now enable or disable page checksums in an offline cluster using the "pg_checksums" command. Previously page checksums, a feature to help verify the integrity of data stored to disk, could only be enabled at the time a PostgreSQL cluster was initialized with "initdb."

PostgreSQL 12 also introduces progress reporting statistics for the "CREATE INDEX", "REINDEX", "CLUSTER", and "VACUUM FULL", operations, and to the "pg_checksums" command via the "--progress" flag.

For a full list of features included in this release, please read the release notes, which can be found at: https://www.postgresql.org/docs/12/static/release-12.html

## About PostgreSQL

PostgreSQL is the world's most advanced open source database, with a global community of thousands of users, contributors, companies and organizations. The PostgreSQL Project builds on over 30 years of engineering, starting at the University of California, Berkeley, and has continued with an unmatched pace of development. PostgreSQL's mature feature set not only matches top proprietary database systems, but exceeds them in advanced database features, extensibility, security, and stability.

Learn more about PostgreSQL and participate in our community at PostgreSQL.org.

  [application/pgp-signature] signature.asc (833B, ../../[email protected]/3-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-09-02 16:05  Erik Rijkers <[email protected]>
  parent: Jonathan S. Katz <[email protected]>
  0 siblings, 1 reply; 15+ messages in thread

From: Erik Rijkers @ 2019-09-02 16:05 UTC (permalink / raw)
  To: Jonathan S. Katz <[email protected]>; +Cc: Peter Eisentraut <[email protected]>; PostgreSQL Advocacy <[email protected]>

On 2019-09-02 17:36, Jonathan S. Katz wrote:
> On 9/2/19 11:19 AM, Jonathan S. Katz wrote:
>> Please see attached for the latest draft. I tried to move this closer 
>> to


'common-table expression'  should be
'common table expression'
If you really do prefer the hyphen there then it should also be in the 
other usage of 'Common table expressions' in this text, I think.


'most-common value'  should be
'most common value'


'that build on the implementation of the SQL standard' Perhaps better:
'that build on the SQL standard'


'JSON path expressions'  Perhaps better:
'JSON path expressions'


And perhaps 'aka' should be fully written out 'also known as'.  For us 
non-native speakers it takes a while before all these abbreviations 
become clear. I know it's taken me a few years before I decoded it :)


thanks,


Erik Rijkers







^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-09-02 17:13  Jonathan S. Katz <[email protected]>
  parent: Erik Rijkers <[email protected]>
  0 siblings, 0 replies; 15+ messages in thread

From: Jonathan S. Katz @ 2019-09-02 17:13 UTC (permalink / raw)
  To: Erik Rijkers <[email protected]>; +Cc: Peter Eisentraut <[email protected]>; PostgreSQL Advocacy <[email protected]>

On 9/2/19 12:05 PM, Erik Rijkers wrote:
> On 2019-09-02 17:36, Jonathan S. Katz wrote:
>> On 9/2/19 11:19 AM, Jonathan S. Katz wrote:
>>> Please see attached for the latest draft. I tried to move this closer to
> 
> 
> 'common-table expression'  should be
> 'common table expression'
> If you really do prefer the hyphen there then it should also be in the
> other usage of 'Common table expressions' in this text, I think.

You're correct, there should not be a hyphen there.

> 'most-common value'  should be
> 'most common value'

There seems to be a few ways of doing this; I had gone by what was
documented in CREATE STATISTICS[1], so my preference is to leave it as is.

> 'that build on the implementation of the SQL standard' Perhaps better:
> 'that build on the SQL standard'

I modified it with a different take. I think the goal is to capture that
PostgreSQL continues to implement newer elements of the SQL standard.
"Building on" could sound like that we are adding enhancements on top of
the standard (which there are certainly cases where we do :) and I think
the end goal is to capture that we are keeping up with the evolution of SQL.

> 'JSON path expressions'  Perhaps better:
> 'JSON path expressions'

The docs indicate there is a space[2] unless referring to the specific
data type, so I would recommend leaving it as is.

> And perhaps 'aka' should be fully written out 'also known as'.  For us
> non-native speakers it takes a while before all these abbreviations
> become clear. I know it's taken me a few years before I decoded it :)

I did a s/aka/also known as/

Thanks!

Jonathan


[1] https://www.postgresql.org/docs/12/sql-createstatistics.html
[2]
https://www.postgresql.org/docs/12/functions-json.html#FUNCTIONS-SQLJSON-PATH


Attachments:

  [text/markdown] release-v5.en.md (6.5K, ../../[email protected]/2-release-v5.en.md)
  download | inline:
# PostgreSQL 12 Released!

The PostgreSQL Global Development Group today announced the release of PostgreSQL 12, the latest version of the world's most advanced open source database.

PostgreSQL 12 enhancements include notable improvements to query performance, particularly over larger data sets, and overall space utilization. This release provides application developers with new capabilities such as SQL/JSON path expression support, optimizations for how common table expression ("WITH") queries are executed, and generated columns. The PostgreSQL community continues to support the extensibility and robustness of PostgreSQL, with further additions to internationalization, authentication, and providing easier ways to administrate PostgreSQL. This release also introduces the pluggable table storage interface, which allows developers to create their own methods for storing data.

**HOLD FOR QUOTE**

PostgreSQL benefits from over 20 years of open source development and has become the preferred open source relational database for organizations of all sizes. The project continues to receive recognition across the industry, including being featured for the second year in a row as the "DBMS of the Year" in 2018 by DB-Engines and receiving the "Lifetime Achievement" open source award at OSCON 2019.

## Overall Performance Improvements

PostgreSQL 12 provides significant performance and maintenance enhancements to its indexing system and to partitioning.

B-tree Indexes, the standard type of indexing in PostgreSQL, have been optimized in PostgreSQL 12 to better handle workloads where the indexes are frequently modified. Using a fair use implementation of the TPC-C benchmark, PostgreSQL 12 demonstrated on average a 40% reduction in space utilization and an overall gain in query performance.

Queries on partitioned tables have also seen demonstrable improvements, particularly for tables with thousands of partitions that only need to retrieve data from a limited subset. PostgreSQL 12 also improves the performance of adding data to partitioned tables with "INSERT" and "COPY", and includes the ability to attach a new partition to a table without blocking queries.

There are additional enhancements to indexing in PostgreSQL 12 that affect overall performance, including lower overhead in write-ahead log generation for GiST, GIN, and SP-GiST indexes, the ability to create covering indexes (the "INCLUDE" clause) on GiST indexes, the ability to perform K-nearest neighbor queries with the distance operator ("<->") using SP-GiST indexes, and CREATE STATISTICS now supporting most-common value (MCV) statistics to help with columns that are nonuniformly distributed.

Just-in-time (JIT) compilation using LLVM, introduced in PostgreSQL 11, is now enabled by default. JIT compilation can provide performance benefits to the execution of expressions in WHERE clauses, target lists, aggregates, and some internal operations, and is available if your PostgreSQL installation is compiled or packaged with LLVM.

## Enhancements to SQL Conformance & Functionality

PostgreSQL is known for its conformance to the SQL standard - one reason why it was renamed from "POSTGRES" to "PostgreSQL" - and PostgreSQL 12 adds several features to continue its implementation of the SQL standard with enhanced functionality.

PostgreSQL 12 introduces the ability to run queries over JSON documents using JSON path expressions defined in the SQL/JSON standard. Such queries may utilize the existing indexing mechanisms for documents stored in the JSONB format to efficiently retrieve data.

Common table expressions, also known as "WITH" queries, can now be automatically inlined by PostgreSQL 12, which in turn can help increase the performance of many existing queries. In this release, a WITH query can be inlined if it is not recursive, does not have any side-effects, and is only referenced once in a later part of a query.

PostgreSQL 12 introduces "generated columns." Defined in the SQL standard, this type of column computes its value from the contents of other columns in the same table. In this version, PostgreSQL supports "stored generated columns," where the computed value is stored on the disk.

## Internationalization

PostgreSQL 12 extends its support of ICU collations by allowing users to define "nondeterministic collations" that can, for example, allow case-insensitive or accent-insensitive comparisons.

## Authentication

PostgreSQL expands on its robust authentication method support with several enhancements that provide additional security and functionality. This release introduces both client and server-side encryption for authentication over GSSAPI interfaces, as well as the ability for PostgreSQL to discover LDAP servers if PostgreSQL is compiled with OpenLDAP.

Additionally, PostgreSQL 12 now supports a form of multifactor authentication. A PostgreSQL server can now require an authenticating client to provide a valid SSL certificate with their username using the "clientcert=verify-full" option and combine this with the requirement of a separate authentication method (e.g. "scram-sha-256").

## Administration

PostgreSQL 12 introduces the ability to rebuild indexes without blocking writes to an index via the "REINDEX CONCURRENTLY" command, allowing users to avoid downtime scenarios for lengthy index rebuilds.

Additionally, PostgreSQL 12 can now enable or disable page checksums in an offline cluster using the "pg_checksums" command. Previously page checksums, a feature to help verify the integrity of data stored to disk, could only be enabled at the time a PostgreSQL cluster was initialized with "initdb."

PostgreSQL 12 also introduces progress reporting statistics for the "CREATE INDEX", "REINDEX", "CLUSTER", and "VACUUM FULL", operations, and to the "pg_checksums" command via the "--progress" flag.

For a full list of features included in this release, please read the release notes, which can be found at: https://www.postgresql.org/docs/12/static/release-12.html

## About PostgreSQL

PostgreSQL is the world's most advanced open source database, with a global community of thousands of users, contributors, companies and organizations. The PostgreSQL Project builds on over 30 years of engineering, starting at the University of California, Berkeley, and has continued with an unmatched pace of development. PostgreSQL's mature feature set not only matches top proprietary database systems, but exceeds them in advanced database features, extensibility, security, and stability.

Learn more about PostgreSQL and participate in our community at PostgreSQL.org.

  [application/pgp-signature] signature.asc (833B, ../../[email protected]/3-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-09-03 06:11  Petr Jelinek <[email protected]>
  parent: Jonathan S. Katz <[email protected]>
  1 sibling, 1 reply; 15+ messages in thread

From: Petr Jelinek @ 2019-09-03 06:11 UTC (permalink / raw)
  To: Jonathan S. Katz <[email protected]>; PostgreSQL Advocacy <[email protected]>

Hi Jonathan,

On 02/09/2019 17:19, Jonathan S. Katz wrote:
> Hi Everyone,
> 
> Thank you all for your feedback, it was incredibly helpful! I waited a
> few days before incorporating changes to try to limit the back-and-forth.
> 
> Please see attached for the latest draft. I tried to move this closer to
> the final markdown version (e.g. to Peter's point above) though there is
> some additional formatting I will provide before the final one.
> 
> Again, please keep your feedback coming through September 6, 2019
> AOE[1]. I will let you know if there is an extension, of course :) >
> [...]
>
> # PostgreSQL 12 Released!

I am not a native speaker but this sounds weird to me, shouldn't it say 
something like "is released" or "has been released"?

> For a full list of features included in this release, please read the release notes, which can be found at: https://www.postgresql.org/docs/12/static/release-12.html

The "/static" part of url should be removed IMHO, shorter url without 
redirect is always better both for humans and for indexing.

-- 
Petr Jelinek
2ndQuadrant - PostgreSQL Solutions for the Enterprise
https://www.2ndQuadrant.com/





^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-09-03 14:25  Jonathan S. Katz <[email protected]>
  parent: Petr Jelinek <[email protected]>
  0 siblings, 1 reply; 15+ messages in thread

From: Jonathan S. Katz @ 2019-09-03 14:25 UTC (permalink / raw)
  To: Petr Jelinek <[email protected]>; PostgreSQL Advocacy <[email protected]>

On 9/3/19 2:11 AM, Petr Jelinek wrote:
> Hi Jonathan,
> 
> On 02/09/2019 17:19, Jonathan S. Katz wrote:
>> Hi Everyone,
>>
>> Thank you all for your feedback, it was incredibly helpful! I waited a
>> few days before incorporating changes to try to limit the back-and-forth.
>>
>> Please see attached for the latest draft. I tried to move this closer to
>> the final markdown version (e.g. to Peter's point above) though there is
>> some additional formatting I will provide before the final one.
>>
>> Again, please keep your feedback coming through September 6, 2019
>> AOE[1]. I will let you know if there is an extension, of course :) >
>> [...]
>>
>> # PostgreSQL 12 Released!
> 
> I am not a native speaker but this sounds weird to me, shouldn't it say
> something like "is released" or "has been released"?

The pattern we've traditionally followed has been to do just
"Released"[1][2][3][4][5] including minor updates[6]. It is ok to say
this in English -- it's a declarative statement and is something you
often see in a headline, e.g. "PostgreSQL 12 Released! Millions Cheers!"
(...which, if that formulation is true, it doesn't sound so bad to me :)

If we want for a variation, I'd consider "is released" or "is now
released" to avoid the passive voice.

>> For a full list of features included in this release, please read the
>> release notes, which can be found at:
>> https://www.postgresql.org/docs/12/static/release-12.html
> 
> The "/static" part of url should be removed IMHO, shorter url without
> redirect is always better both for humans and for indexing.

Yeah, that one is a mistake, and slightly embarrassing given I wrote the
patch to make that redirect ;) Fixed attached.

Thanks!

Jonathan

[1] https://www.postgresql.org/about/news/1894/
[2] https://www.postgresql.org/about/news/1786/
[3] https://www.postgresql.org/about/news/1703/
[4] https://www.postgresql.org/about/news/1481/
[5] https://www.postgresql.org/about/news/1415/
[6] https://www.postgresql.org/about/news/1960/


Attachments:

  [text/markdown] release-v6.en.md (6.5K, ../../[email protected]/2-release-v6.en.md)
  download | inline:
# PostgreSQL 12 Released!

The PostgreSQL Global Development Group today announced the release of PostgreSQL 12, the latest version of the world's most advanced open source database.

PostgreSQL 12 enhancements include notable improvements to query performance, particularly over larger data sets, and overall space utilization. This release provides application developers with new capabilities such as SQL/JSON path expression support, optimizations for how common table expression ("WITH") queries are executed, and generated columns. The PostgreSQL community continues to support the extensibility and robustness of PostgreSQL, with further additions to internationalization, authentication, and providing easier ways to administrate PostgreSQL. This release also introduces the pluggable table storage interface, which allows developers to create their own methods for storing data.

**HOLD FOR QUOTE**

PostgreSQL benefits from over 20 years of open source development and has become the preferred open source relational database for organizations of all sizes. The project continues to receive recognition across the industry, including being featured for the second year in a row as the "DBMS of the Year" in 2018 by DB-Engines and receiving the "Lifetime Achievement" open source award at OSCON 2019.

## Overall Performance Improvements

PostgreSQL 12 provides significant performance and maintenance enhancements to its indexing system and to partitioning.

B-tree Indexes, the standard type of indexing in PostgreSQL, have been optimized in PostgreSQL 12 to better handle workloads where the indexes are frequently modified. Using a fair use implementation of the TPC-C benchmark, PostgreSQL 12 demonstrated on average a 40% reduction in space utilization and an overall gain in query performance.

Queries on partitioned tables have also seen demonstrable improvements, particularly for tables with thousands of partitions that only need to retrieve data from a limited subset. PostgreSQL 12 also improves the performance of adding data to partitioned tables with "INSERT" and "COPY", and includes the ability to attach a new partition to a table without blocking queries.

There are additional enhancements to indexing in PostgreSQL 12 that affect overall performance, including lower overhead in write-ahead log generation for GiST, GIN, and SP-GiST indexes, the ability to create covering indexes (the "INCLUDE" clause) on GiST indexes, the ability to perform K-nearest neighbor queries with the distance operator ("<->") using SP-GiST indexes, and CREATE STATISTICS now supporting most-common value (MCV) statistics to help with columns that are nonuniformly distributed.

Just-in-time (JIT) compilation using LLVM, introduced in PostgreSQL 11, is now enabled by default. JIT compilation can provide performance benefits to the execution of expressions in WHERE clauses, target lists, aggregates, and some internal operations, and is available if your PostgreSQL installation is compiled or packaged with LLVM.

## Enhancements to SQL Conformance & Functionality

PostgreSQL is known for its conformance to the SQL standard - one reason why it was renamed from "POSTGRES" to "PostgreSQL" - and PostgreSQL 12 adds several features to continue its implementation of the SQL standard with enhanced functionality.

PostgreSQL 12 introduces the ability to run queries over JSON documents using JSON path expressions defined in the SQL/JSON standard. Such queries may utilize the existing indexing mechanisms for documents stored in the JSONB format to efficiently retrieve data.

Common table expressions, also known as "WITH" queries, can now be automatically inlined by PostgreSQL 12, which in turn can help increase the performance of many existing queries. In this release, a WITH query can be inlined if it is not recursive, does not have any side-effects, and is only referenced once in a later part of a query.

PostgreSQL 12 introduces "generated columns." Defined in the SQL standard, this type of column computes its value from the contents of other columns in the same table. In this version, PostgreSQL supports "stored generated columns," where the computed value is stored on the disk.

## Internationalization

PostgreSQL 12 extends its support of ICU collations by allowing users to define "nondeterministic collations" that can, for example, allow case-insensitive or accent-insensitive comparisons.

## Authentication

PostgreSQL expands on its robust authentication method support with several enhancements that provide additional security and functionality. This release introduces both client and server-side encryption for authentication over GSSAPI interfaces, as well as the ability for PostgreSQL to discover LDAP servers if PostgreSQL is compiled with OpenLDAP.

Additionally, PostgreSQL 12 now supports a form of multifactor authentication. A PostgreSQL server can now require an authenticating client to provide a valid SSL certificate with their username using the "clientcert=verify-full" option and combine this with the requirement of a separate authentication method (e.g. "scram-sha-256").

## Administration

PostgreSQL 12 introduces the ability to rebuild indexes without blocking writes to an index via the "REINDEX CONCURRENTLY" command, allowing users to avoid downtime scenarios for lengthy index rebuilds.

Additionally, PostgreSQL 12 can now enable or disable page checksums in an offline cluster using the "pg_checksums" command. Previously page checksums, a feature to help verify the integrity of data stored to disk, could only be enabled at the time a PostgreSQL cluster was initialized with "initdb."

PostgreSQL 12 also introduces progress reporting statistics for the "CREATE INDEX", "REINDEX", "CLUSTER", and "VACUUM FULL", operations, and to the "pg_checksums" command via the "--progress" flag.

For a full list of features included in this release, please read the release notes, which can be found at: https://www.postgresql.org/docs/12/release-12.html

## About PostgreSQL

PostgreSQL is the world's most advanced open source database, with a global community of thousands of users, contributors, companies and organizations. The PostgreSQL Project builds on over 30 years of engineering, starting at the University of California, Berkeley, and has continued with an unmatched pace of development. PostgreSQL's mature feature set not only matches top proprietary database systems, but exceeds them in advanced database features, extensibility, security, and stability.

Learn more about PostgreSQL and participate in our community at PostgreSQL.org.

  [application/pgp-signature] signature.asc (833B, ../../[email protected]/3-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-09-03 14:27  Robert Haas <[email protected]>
  parent: Jonathan S. Katz <[email protected]>
  0 siblings, 1 reply; 15+ messages in thread

From: Robert Haas @ 2019-09-03 14:27 UTC (permalink / raw)
  To: Jonathan S. Katz <[email protected]>; +Cc: Petr Jelinek <[email protected]>; PostgreSQL Advocacy <[email protected]>

On Tue, Sep 3, 2019 at 10:25 AM Jonathan S. Katz <[email protected]> wrote:
> Fixed attached.

Forgive me if this question has already been answered someplace, but
has a release date been determined?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company





^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* Re: PostgreSQL 12 Press Release - First Draft
@ 2019-09-03 15:03  Jonathan S. Katz <[email protected]>
  parent: Robert Haas <[email protected]>
  0 siblings, 1 reply; 15+ messages in thread

From: Jonathan S. Katz @ 2019-09-03 15:03 UTC (permalink / raw)
  To: Robert Haas <[email protected]>; +Cc: Petr Jelinek <[email protected]>; PostgreSQL Advocacy <[email protected]>

On 9/3/19 10:27 AM, Robert Haas wrote:
> On Tue, Sep 3, 2019 at 10:25 AM Jonathan S. Katz <[email protected]> wrote:
>> Fixed attached.
> 
> Forgive me if this question has already been answered someplace, but
> has a release date been determined?

No, but as there are a lot of moving pieces on the advocacy front, we
try to be prepared as much in advance as possible. Timing-wise, we're
working backwards from the typical aim of end-of-September.

(Fun fact, on the roadmap[1] page we say Q3)

Jonathan

[1] https://www.postgresql.org/developer/roadmap/



Attachments:

  [application/pgp-signature] signature.asc (833B, ../../[email protected]/2-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 15+ messages in thread

* RE: PostgreSQL 12 Press Release - First Draft
@ 2019-09-17 20:18  Glenn  Rossman <[email protected]>
  parent: Jonathan S. Katz <[email protected]>
  0 siblings, 0 replies; 15+ messages in thread

From: Glenn  Rossman @ 2019-09-17 20:18 UTC (permalink / raw)
  To: 'Jonathan S. Katz' <[email protected]>; +Cc: 'Petr Jelinek' <[email protected]>; 'PostgreSQL Advocacy' <[email protected]>; 'Robert Haas' <[email protected]>

I see a placeholder quote. Can we help with a quote from Bruce Momjian in his role as  a core team member of the PostgreSQL Global Development Group (or anyone else from EDB with a community role)?
______________________________________________________________________________________________
Glenn Rossman
914-623-8354


-----Original Message-----
From: Jonathan S. Katz <[email protected]> 
Sent: Tuesday, September 03, 2019 11:03 AM
To: Robert Haas <[email protected]>
Cc: Petr Jelinek <[email protected]>; PostgreSQL Advocacy <[email protected]>
Subject: Re: PostgreSQL 12 Press Release - First Draft

On 9/3/19 10:27 AM, Robert Haas wrote:
> On Tue, Sep 3, 2019 at 10:25 AM Jonathan S. Katz <[email protected]> wrote:
>> Fixed attached.
> 
> Forgive me if this question has already been answered someplace, but 
> has a release date been determined?

No, but as there are a lot of moving pieces on the advocacy front, we try to be prepared as much in advance as possible. Timing-wise, we're working backwards from the typical aim of end-of-September.

(Fun fact, on the roadmap[1] page we say Q3)

Jonathan

[1] https://www.postgresql.org/developer/roadmap/







^ permalink  raw  reply  [nested|flat] 15+ messages in thread


end of thread, other threads:[~2019-09-17 20:18 UTC | newest]

Thread overview: 15+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2019-08-21 20:43 PostgreSQL 12 Press Release - First Draft Jonathan S. Katz <[email protected]>
2019-08-21 21:02 ` Erik Rijkers <[email protected]>
2019-08-21 21:11   ` Jonathan S. Katz <[email protected]>
2019-08-21 22:37     ` Basil Bourque <[email protected]>
2019-08-22 07:51     ` Gunnar "Nick" Bluth <[email protected]>
2019-08-25 09:01 ` Peter Eisentraut <[email protected]>
2019-09-02 15:19   ` Jonathan S. Katz <[email protected]>
2019-09-02 15:36     ` Jonathan S. Katz <[email protected]>
2019-09-02 16:05       ` Erik Rijkers <[email protected]>
2019-09-02 17:13         ` Jonathan S. Katz <[email protected]>
2019-09-03 06:11     ` Petr Jelinek <[email protected]>
2019-09-03 14:25       ` Jonathan S. Katz <[email protected]>
2019-09-03 14:27         ` Robert Haas <[email protected]>
2019-09-03 15:03           ` Jonathan S. Katz <[email protected]>
2019-09-17 20:18             ` Glenn  Rossman <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox