PostgreSQL 12 officially released

PostgreSQL 12 has been released, the version in all aspects have been strengthened, including significantly improve query performance, especially for large data sets, the total utilization in space.

This version provides application developers with more features, such as support for SQL / JSON path expression, public expression optimization ( WITHexecute the query), and support for generating the column and so on. In addition to continuing to PostgreSQL scalability, robustness of PostgreSQL system development, but also more localized, authorization control and easier management enhancements. This version also introduces a pluggable table access interface to allow developers to use different access methods when creating and using tables. details as follows:

Overall performance

PostgreSQL 12 version has been significantly enhanced in terms of performance and ease of maintenance, especially for sub-indexes and partitions.

PostgreSQL 12 standard B-tree index index type is optimized, so that it can better handle the higher update frequency index type load overall performance, the most commonly used performance test TPC-C, average of PostgreSQL 12 upgrade about 40% space utilization and query performance.

Queries on partitioned tables has also been greatly improved, especially for those with thousands of partition table, and the results just to extract data from a limited number of partitions queries. PostgreSQL 12 and passing through INSERT COPYcommand added to the data partition table operation, but also strengthened, including can now add a new partition without blocking queries.

In addition, optimization PostgreSQL 12 index also improves overall performance, including generating GiST, load GIN or SP-GiST index WAL log significantly reduced, created on GiST type of index INCLUDEoption contains an index, SP-GiST indexes are now supported <-> K-NN distance operation (ie closest neighbors) queries, and CREATE STATISTICScommand now supports the most commonly used value of MCV statistics to help the query field values to generate those non-uniform distribution of more optimal query plan.

By using LLVM, JIT compiler immediate introduced from PostgreSQL version 11, the default in PostgreSQL 12 is already enabled, JIT compilation of real-time, a list of objects with a WHERE condition, aggregation, and some internal operations will help the performance. Of course, the user need to include LLVM module upon installation or compiled.

Enhancements to SQL standards compliance and functionality

PostgreSQL has been its compliance to the SQL standard is known, which is the name of a small reason POSTGRES instead of PostgreSQL. PostgreSQL 12 has added several new features to achieve sustained compliance and the Strengthening of the SQL standard.

PostgreSQL 12 joined using JSON path expressions when JSON document search function, which is the SQL specification / JSON defined. Use saved JSONB format of the document, these queries can be efficiently extracted data using the existing indexing mechanism.

Public expressions, also known WITH queries, PostgreSQL 12 can be achieved in a non-materialized processing operation, which now has a lot of great help to the inquiry. Prerequisites present in this version, WITH query non-recursive queries and can be referenced only once the outer query.

PostgreSQL 12 also introduces "a generated column" function, which is the required standard SQL, these field values ​​in the table are the same by calculation from the other columns. On disk in this release, PostgreSQL support "to save the generated column values" function, coming out of the data stored in these calculations.

Localization

PostgreSQL 12 ICU support for the expansion of the collation, allows users to define their own non-standard ordering, such as allowing or case-insensitive by accent-insensitive comparison rules.

Entitlement Control

PostgreSQL again extended by a number of security features to strengthen its already very robust access control. This version of the interface supports two-way encryption client and server through GSSAPI, if added to the module at compile time OpenLDAP, PostgreSQL also supports LDAP search server.

In addition, PostgreSQL 12 now supports multi-constrained License. As the use of scram-sha-256authorized methods, PostgreSQL server now can force a client to provide a user name, use the clientcert=verify-fulloption, then you must provide a valid SSL certificate ways to strengthen security authorization.

System Management

PostgreSQL 12 of REINDEX CONCURRENTLYallowing users to perform a re-indexing operate under the premise that directive can not affect the new index is written, which helps users to achieve non-stop machine rebuild for larger indexes.

There, PostgreSQL 12 by using pg_checksumsto open the instruction to shut down PostgreSQL or off-page check function, which helps to check the consistency of the data has been written to the disk, and the previous version of the operation is only allowed in  initdbthe stage to perform.

annouce:

https://www.postgresql.org/about/news/1976/

Guess you like

Origin www.oschina.net/news/110322/postgresql-12-released