Re: PostgreSQL 12 Press Release - First Draft

"Jonathan S. Katz" <[email protected]> Tue, 3 Sep 2019 10:25:29 -0400
Newsgroups gmane.comp.db.postgresql.advocacy
Message-ID <[email protected]>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--J0qyFGPduvGRi2Ks0UZn0HtYD9GT0rK95
Content-Type: multipart/mixed; boundary="jGMHwl81cAvq0oqZXqthg1U3QB3q5Spr8";
 protected-headers="v1"
From: "Jonathan S. Katz" <[email protected]>
To: Petr Jelinek <[email protected]>,
 PostgreSQL Advocacy <[email protected]>
Message-ID: <[email protected]>
Subject: Re: PostgreSQL 12 Press Release - First Draft
References: <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
In-Reply-To: <[email protected]>

--jGMHwl81cAvq0oqZXqthg1U3QB3q5Spr8
Content-Type: multipart/mixed;
 boundary="------------C2DB086F947526707C29E1E6"
Content-Language: en-US

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

On 9/3/19 2:11 AM, Petr Jelinek wrote:
> Hi Jonathan,
>=20
> 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-for=
th.
>>
>> 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!
>=20
> 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
>=20
> 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/

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

# PostgreSQL 12 Released!

The PostgreSQL Global Development Group today announced the release of Po=
stgreSQL 12, the latest version of the world's 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 - one reason =
why it was renamed from "POSTGRES" to "PostgreSQL" - and PostgreSQL 12 ad=
ds several features to continue its implementation of the SQL standard wi=
th 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, also known as "WITH" queries, can now be automa=
tically inlined by PostgreSQL 12, which in turn can help increase the per=
formance of many existing queries. In this release, a WITH query can be i=
nlined if it is not recursive, does not have any side-effects, and is onl=
y 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 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/=
release-12.html

## About PostgreSQL

PostgreSQL is the world's most advanced open source database, with a glob=
al community of thousands of users, contributors, companies and organizat=
ions. The PostgreSQL Project builds on over 30 years of engineering, star=
ting 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 da=
tabase features, extensibility, security, and stability.

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

--------------C2DB086F947526707C29E1E6--

--jGMHwl81cAvq0oqZXqthg1U3QB3q5Spr8--

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

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

iQIzBAEBCAAdFiEE+oS2la8r95ogZD/x8QSccp8cZScFAl1ud9kACgkQ8QSccp8c
ZSdqVRAAsa2uMQP0JNNRLuNyWvTe00w2JcNfv7TA2bgpURmEdba0SSDRPfiSE+pm
Oe36ncaPpSer687N4QQfow1BehqN6u88knN57Ssf8wTaKr8bIQ5wtD1I+vvmnSZb
uQTxDE3W8M99kjXIdSI46kqAywWyOt4x37Ugoz/90gaO98hnPqh3t3L4h9bjnhPI
/cyHnPmM3ZTILmtZIrNikNsdnSCX2qJvVHEmNdNwy6kfz5YBiXPHmCqn1yzccKS3
jCQfFduEB89IEPv9CwC4W3NA+D267pPuRDQcYB6Ov6jPIdfVwp8dTN/uYaGTvOyw
cG4Rs4Ox3aLHKiE+OV89CFjYQaJJ5PPaaUU66XdWdcd3kUmILtZNvEdGFpwHO/bb
lBowmSlR6GAboPA4/LNurOoMY24Y9Il3Xy/tO+8Igtcvf7oNxKrpAql+LDEACDqM
FDBu2XB7g/LPbg9tU2N7ONbYiCKksY/iKqrMR/Ix3AJFnGuv1cGcy5drvlSDUNew
TUxuwULmogxiz9t6C4cTNMyfTXCxmo8N4h8LIJDViNVADHQgRjZHP7JgbqbXb6jv
tOXSuhrzxnSyi4uJmD8yIgYaRNRHAZzQPDwEN7WA93PTyCcvDjxwNDkHNiTgkmXT
DbYFmWvDAbsVg4LkMD3NtnGzZUGsyzLhrAsc8PMACNwMPOX3frQ=
=I3Hk
-----END PGP SIGNATURE-----

--J0qyFGPduvGRi2Ks0UZn0HtYD9GT0rK95--