Re: PostgreSQL 12 Beta 1 press release draft

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: "Jonathan S(dot) Katz" <jkatz(at)postgresql(dot)org>, Erik Rijkers <er(at)xs4all(dot)nl>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: PostgreSQL 12 Beta 1 press release draft
Date: 2019-05-22 05:50:01
Message-ID: 20190522055001.GA9112@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Find some corrections inline.

On Tue, May 21, 2019 at 11:39:38PM -0400, Jonathan S. Katz wrote:
> PostgreSQL 12 Beta 1 Released
> =============================
>
> The PostgreSQL Global Development Group announces that the first beta release of
> PostgreSQL 12 is now available for download. This release contains previews of
> all features that will be available in the final release of PostgreSQL 12,
> though some details of the release could change before then.
>
> 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 for
> you to run PostgreSQL 12 Beta 1 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.
>
> PostgreSQL 12 Features Highlights
> ---------------------------------
>
> ### Indexing Performance, Functionality, and Management
>
> PostgreSQL 12 improves the overall performance of the standard B-tree indexes
> with improvements to the overall space management of these indexes as well.
> These improvements also provide an overall reduction of bloating when using
> B-tree for specific use cases, in addition to a performance gain.
>
> Additionally, PostgreSQL 12 adds the ability to rebuild indexes concurrently,
> which lets you perform a [`REINDEX`](https://www.postgresql.org/docs/devel/sql-reindex.html) operation

> without blocking any writes to the index. The inclusion of this feature should
> help with length index rebuilds that could cause potential downtime evens when

events

> administration a PostgreSQL database in a production environment.
>
> PostgreSQL 12 extends the abilities of several of the specialized indexing
> mechanisms. The ability to create covering indexes, i.e. the `INCLUDE` clause
> that was introduced in PostgreSQL 11, have now been added to GiST indexes.

has now

> SP-GiST indexes now support the ability to perform K-nearest neighbor (K-NN)
> queries for data types that support the distance (`<->`) operation.
>
> The amount of write-ahead log (WAL) overhead generated when creating a GiST,
> GIN, or SP-GiST index is also significantly reduced in PostgreSQL 12, which
> provides several benefits to the overall disk utilization of a PostgreSQL
> cluster as well as using features such as continuous archiving and streaming
> replication.
>
> ### Inlined WITH queries (Common table expressions)
>
> Common table expressions (aka `WITH` queries) can now be automatically inlined
> in a query if they are a) not recursive, b) do not have any side-effects and

I think "are" should be rearranged:
a) are not recursive

> c) are only referenced once in a later part of a query. These removes a known
> "optimization fence" that has existed since the introduction of the `WITH`
> clause in PostgreSQL 8.4
>
> You can force a `WITH` query to be inlined using the `NOT MATERIALIZED` clause,
> e.g.
>
> ```
> WITH c AS NOT MATERIALIZED (
> SELECT * FROM a WHERE a.x % 4
> )
> SELECT * FROM c JOIN d ON d.y = a.x;
> ```
>
> ### Partitioning
>
> PostgreSQL 12 improves on the performance of processing tables with thousands

=> improves on the performance WHEN processing tables with thousands

> of partitions for operations that only need to use a small number of partitions.
> PostgreSQL 12 also provides improvements to the performance of both
> using `COPY` with a partitioned table as well as the `ATTACH PARTITION`
> operation. Additionally, the ability to use foreign keys to reference

=> Additionally, the ability for foreign keys to reference partitioned

> partitioned tables is now allowed in PostgreSQL 12.
>
> ### JSON path queries per SQL/JSON specification
>
> PostgreSQL 12 now lets you execute [JSON path queries](https://www.postgresql.org/docs/devel/functions-json.html#FUNCTIONS-SQLJSON-PATH)

=> allows execution of

> per the SQL/JSON specification in the SQL:2016 standard. Similar to XPath
> expressions for XML, JSON path expressions let you evaluate a variety of

> arithmetic expressions and functions in addition to comparing values within JSON
> documents.
>
> A subset of these expressions can be accelerated with GIN indexes, letting you

=> allowing execution of

> execute highly performant lookups across sets of JSON data.
>
> ### Collations
>
> PostgreSQL 12 now supports case-insensitive and accent-insensitive collations
> for ICU provided collations, also known as "[nondeterministic collations](https://www.postgresql.org/docs/devel/collation.html#COLLATION-NONDETERMINISTIC)".
> When used, these collations can provide convenience for comparisons and sorts,
> but can also lead to a performance penalty depending as a collation may need to
> make additional checks on a string.
>
> ### Most-common Value Statistics
>
> [`CREATE STATISTICS`](https://www.postgresql.org/docs/devel/sql-createstatistics.html),
> introduced in PostgreSQL 10 to help collect more complex statistics to improve
> query planning, now supports most-common value statistics. This leads to
> improved query plans for distributions that are non-uniform.
>
> ### Generated Columns
>
> PostgreSQL 12 lets you create [generated columns](https://www.postgresql.org/docs/devel/ddl-generated-columns.html)
> that compute their values based on the contents of other columns. This feature
> provides two types of generated columns:
>
> - Stored generated columns, which are computed on inserts and updated and are saved on disk
> - Virtual generated columns, which are computed only when a column is read as part of a query
>
> ### Pluggable Table Storage Interface
>
> PostgreSQL 12 introduces the pluggable table storage interface that allows for
> the creation and use of different storage mechanisms for table storage. New
> access methods can be added to a PostgreSQL cluster using the [`CREATE ACCESS METHOD`](https://www.postgresql.org/docs/devel/sql-create-access-method.html)
> and subsequently added to tables with the new `USING` clause on `CREATE TABLE`.
>
> A table storage interface can be defined by creating a new [table access method](https://www.postgresql.org/docs/devel/tableam.html).
>
> In PostgreSQL 12, the storage interface that is used by default is the `heap`
> access method, which is currently the only supported method.
>
> ### Page Checksums
>
> The `pg_verify_checkums` command has been renamed to [`pg_checksums`](https://www.postgresql.org/docs/devel/app-pgchecksums.html)
> and now supports the ability to enable and disable page checksums across an
> PostgreSQL cluster that is offline. Previously, page checksums could only be
> enabled during the initialization of a cluster with `initdb`.
>
> ### Authentication
>
> GSSAPI now supports client and server-side encryption and can be specified in
> the [`pg_hba.conf`](https://www.postgresql.org/docs/devel/auth-pg-hba-conf.html)
> file using the `hostgssenc` and `hostnogssenc` record types. PostgreSQL 12 also
> allows for LDAP servers to be discovered based on `DNS SRV` records if

=> allows discovery of LDAP servers

> PostgreSQL was compiled with OpenLDAP.
>
> Noted Behavior Changes
> ----------------------
>
> There are several changes introduced in PostgreSQL 12 that can affect the
> behavior as well as management of your ongoing operations. A few of these are
> noted below; for information about other changes, please review the
> "Migrating to Version 12" section of the [release notes](https://www.postgresql.org/docs/devel/release-12.html).
>
> 1. The `recovery.conf` configuration file is now merged into the main
> `postgresql.conf` file. PostgreSQL will not start if it detects that
> `recovery.conf` is present. To put PostgreSQL into a non-primary mode, you can
> use the `recovery.signal` and the `standby.signal` files.
>
> You can read more about [archive recovery](https://www.postgresql.org/docs/devel/runtime-config-wal.html#RUNTIME-CONFIG-WAL-ARCHIVE-RECOVERY) here:
>
> https://www.postgresql.org/docs/devel/runtime-config-wal.html#RUNTIME-CONFIG-WAL-ARCHIVE-RECOVERY
>
> 2. Just-in-Time (JIT) compilation is now enabled by default.
>
> Additional Features
> -------------------
>
> Many other new features and improvements have been added to PostgreSQL 12, some
> of which may be as or more important to specific users than what is mentioned above. Please see the [Release Notes](https://www.postgresql.org/docs/devel/release-12.html) for a complete list of new and changed features.
>
> Testing for Bugs & Compatibility
> --------------------------------
>
> The stability of each PostgreSQL release greatly depends on YOUR, the community,

you

> to test the upcoming version with your workloads and testing tools in order to
> find bugs and regressions before the release of PostgreSQL 12. As this is a

Remove: "of PostgreSQL 12" ?

> Beta, minor changes to database behaviors, feature details, and APIs are still
> possible. Your feedback and testing will help determine the final tweaks on the
> new features, so please test in the near future. The quality of user testing
> helps determine when we can make a final release.
>
> A list of [open issues](https://wiki.postgresql.org/wiki/PostgreSQL_12_Open_Items)
> is publicly available in the PostgreSQL wiki. You can
> [report bugs](https://www.postgresql.org/account/submitbug/) using this form on
> the PostgreSQL website:
>
> https://www.postgresql.org/account/submitbug/
>
> Beta Schedule
> -------------
>
> This is the first beta release of version 12. The PostgreSQL Project will
> release additional betas as required for testing, followed by one or more
> release candidates, until the final release in late 2019. For further
> information please see the [Beta Testing](https://www.postgresql.org/developer/beta/) page.
>
> Links
> -----
>
> * [Download](https://www.postgresql.org/download/)
> * [Beta Testing Information](https://www.postgresql.org/developer/beta/)
> * [PostgreSQL 12 Beta Release Notes](https://www.postgresql.org/docs/devel/release-12.html)
> * [PostgreSQL 12 Open Issues](https://wiki.postgresql.org/wiki/PostgreSQL_12_Open_Items)
> * [Submit a Bug](https://www.postgresql.org/account/submitbug/)

On Wed, May 22, 2019 at 07:05:49AM +0200, Erik Rijkers wrote:
> --- 12beta1.md.orig 2019-05-22 06:33:16.286099932 +0200
> +++ 12beta1.md 2019-05-22 06:48:24.279966057 +0200
> @@ -30,12 +30,12 @@
> Additionally, PostgreSQL 12 adds the ability to rebuild indexes concurrently,
> which lets you perform a [`REINDEX`](https://www.postgresql.org/docs/devel/sql-reindex.html) operation
> without blocking any writes to the index. The inclusion of this feature should
> -help with length index rebuilds that could cause potential downtime evens when
> -administration a PostgreSQL database in a production environment.
> +help with lengthy index rebuilds that could cause potential downtime when
> +administrating a PostgreSQL database in a production environment.

Should be "administering"

> Common table expressions (aka `WITH` queries) can now be automatically inlined
> in a query if they are a) not recursive, b) do not have any side-effects and
> -c) are only referenced once in a later part of a query. These removes a known
> +c) are only referenced once in a later part of a query. This removes a known

I would remove "known".

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2019-05-22 06:43:27 Re: SQL statement PREPARE does not work in ECPG
Previous Message Erik Rijkers 2019-05-22 05:05:49 Re: PostgreSQL 12 Beta 1 press release draft