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".
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 |