Re: PostgreSQL 12 Press Release - First Draft

"Jonathan S. Katz" <[email protected]> Mon, 2 Sep 2019 11:19:58 -0400
Newsgroups gmane.comp.db.postgresql.advocacy
Message-ID <[email protected]>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--7oahtL8DU9CbegkUPxvqumGXEtLJOZa3d
Content-Type: multipart/mixed; boundary="qw7E7RL0U97S7rGvW5VUEURTU5o4xZzIU";
 protected-headers="v1"
From: "Jonathan S. Katz" <[email protected]>
To: Peter Eisentraut <[email protected]>,
 PostgreSQL Advocacy <[email protected]>
Message-ID: <[email protected]>
Subject: Re: PostgreSQL 12 Press Release - First Draft
References: <[email protected]>
 <[email protected]>
In-Reply-To: <[email protected]>

--qw7E7RL0U97S7rGvW5VUEURTU5o4xZzIU
Content-Type: multipart/mixed;
 boundary="------------B75D2DDFC654F5E3AE6574D0"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------B75D2DDFC654F5E3AE6574D0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

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)
>=20
> Enhancements to progress tracking of various utility commands might fit=

> in under this heading.
>=20
> Other than that, I don't see anything major to be added.
>=20
>=20
> 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

--------------B75D2DDFC654F5E3AE6574D0
Content-Type: text/markdown; x-mac-type="0"; x-mac-creator="0";
 name="release-v3.en.md"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="release-v3.en.md"

# PostgreSQL 12 Released!

The PostgreSQL Global Development Group today announced the release of Po=
stgreSQL 12, the latest version of the world=E2=80=99s most advanced open=
 source database.

PostgreSQL 12 enhancements include notable improvements to query performa=
nce, particularly over larger data sets, and overall space utilization. T=
his release provides application developers with new capabilities such as=
 SQL/JSON path expression support, optimizations for how common-table exp=
ression ("WITH") queries are executed, and generated columns. The Postgre=
SQL community continues to support the extensibility and robustness of Po=
stgreSQL, 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 o=
f all sizes. The project continues to receive recognition across the indu=
stry, 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 Achievemen=
t" open source award at OSCON 2019.

## Overall Performance Improvements

PostgreSQL 12 provides significant performance and maintenance enhancemen=
ts to its indexing system and to partitioning.

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

Queries on partitioned tables have also seen demonstrable improvements, p=
articularly for tables with thousands of partitions that only need to ret=
rieve data from a limited subset. PostgreSQL 12 also improves the perform=
ance of adding data to partitioned tables with "INSERT" and "COPY", and i=
ncludes the ability to attach a new partition to a table without blocking=
 queries.

There are additional enhancements to indexing in PostgreSQL 12 that affec=
t overall performance, including lower overhead in write-ahead log genera=
tion for GiST, GIN, and SP-GiST indexes, the ability to create covering i=
ndexes (the "INCLUDE" clause) on GiST indexes, the ability to perform K-n=
earest neighbor queries with the distance operator ("<->") using SP-GiST =
indexes, and CREATE STATISTICS now supporting most-common value (MCV) sta=
tistics to help with columns that are nonuniformly distributed.

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

## Enhancements to SQL Conformance & Functionality

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

PostgreSQL 12 introduces the ability to run queries over JSON documents u=
sing 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 in=
lined by PostgreSQL 12, which in turn can help increase the performance o=
f 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 referenc=
ed 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 colum=
ns in the same table. In this version, PostgreSQL supports "stored genera=
ted 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-in=
sensitive or accent-insensitive comparisons.

## Authentication

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

Additionally, PostgreSQL 12 now supports a form of multifactor authentica=
tion. A PostgreSQL server can now require an authenticating client to pro=
vide a valid SSL certificate with their username using the "clientcert=3D=
verify-full" option and combine this with the requirement of a separate a=
uthentication 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 a=
n offline cluster using the "pg_checksums" command. Previously page check=
sums, a feature to help verify the integrity of data stored to disk, coul=
d only be enabled at the time a PostgreSQL cluster was initialized with "=
initdb."

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

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

## About PostgreSQL

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

Learn more about PostgreSQL and participate in our community at=C2=A0Post=
greSQL.org.

--------------B75D2DDFC654F5E3AE6574D0--

--qw7E7RL0U97S7rGvW5VUEURTU5o4xZzIU--

--7oahtL8DU9CbegkUPxvqumGXEtLJOZa3d
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE+oS2la8r95ogZD/x8QSccp8cZScFAl1tMx4ACgkQ8QSccp8c
ZSfGjA//ZVAHy1X1KRF01Gxo5uAhQQHI0LiudoABRBz+ANkay7ayXvjQLYGhFbeh
nZuCGI0dV/F3QvgOn7c+Rs9SbRuHNnFbnbkciB/bmMAHVkicGtGLMqLQi14wqoJu
hOuMBiokxVmz3/61WMVsq1riLw1KDFDRCBlezEoEqxkukDSTHr72p8j+FS+UKiR+
L3K1qvOkdVA0vq6dCUR6QDasMw1WB5zcRHRaKLOuhlSwhkfqmjuFFEU7BI7wAgUU
THw0BWCnWo7Q8kWZa9kaO34aVifCnBMH9wv1mmqf9VWSOhDj/YIMalD4YOO6u8QO
2lAZh3vF+uTNuUBfC47dFeLoMr5wy28t0oor9ro16BkNtBYQeY3SHkX+GO4AkfCq
f3xSx03Hdvx+Z5IIVE2cd5it7vdvU5KRy9+piZwEgUY2LJXEvYqsOcRo3MzQjWYY
9HLblSfMLA4ncZRop6FskU4pahO0skT973RcTAbyrA1Sov8XnvFEI+Q/3btpxm+w
E1PIgCyNAruoHF36xCRuJc2Ea/YZOAhSHcvLYsyVI4dshfGjhi27GctywoTlxgct
ozNWjGHT4iC70qrrFMqPO5MfR6zgZ4j6bMtxdn+TQszG9quUsE5k5v+l1RaPAkwS
UOJ/KN7lVYXenF7NC7LUUJ5nrYitnyxQhWr/HxWY499ApSeHWAM=
=bInb
-----END PGP SIGNATURE-----

--7oahtL8DU9CbegkUPxvqumGXEtLJOZa3d--