下载PostgreSQL核心分布

PostgreSQL对象关系数据库管理系统的核心有多种源代码和二进制格式。

二进制包

预先构建的二进制包可用于许多不同的操作系统:

BSD

FreeBSD

OpenBSD

Linux

Red Hat家族Linux(包括CentOS/Fedora/Scientific/Oracle变种)

Debian GNU/Linux及其衍生工具

Ubuntu Linux及其衍生物

SuSE和OpenSuSE

其他Linux

macOS

Solaris

窗户

源代码

源代码可以在主文件浏览器中找到,也可以直接通过git.postgresql.org访问源代码控制存储库。从源代码构建的说明可以在文档中找到。

Beta/RC版本和开发快照(不稳定)

有beta和发行候选版本的源代码和二进制包,以及用于测试和评估新特性的当前开发代码。请注意,这些构建应该仅用于测试目的,而不用于生产系统。

第三方发行版

PostgreSQL的大数据分析

2ndQuadrant Unified Data Analytics是一个数据分析应用程序套件,它将数据库、电子表格、数据挖掘和可视化统一到一个无缝的桌面安装程序中。一旦安装完毕,2UDA将为用户提供Orange强大的数据可视化和数据挖掘功能,利用PostgreSQL最新的大数据功能,以及LibreOffice Calc的电子表格功能。

准备运行堆栈

BitNami提供了“LAPP”、“MAPP”和“WAPP”(Linux/Mac/Windows + Apache + PHP + PostgreSQL)栈。

额外的软件

软件目录

有很多软件不是与PostgreSQL绑定的。软件目录提供了许多商业和开源应用程序、接口和PostgreSQL扩展的列表,您可能会发现这些都很有用。

如果您希望您的产品被列入产品目录,请填写这张表格。

文件浏览器

您可以使用我们的文件浏览器从镜像站点下载我们发布的大多数软件。


整体性能的改进


PostgreSQL 12为其索引系统和分区提供了显著的性能和维护增强。




PostgreSQL中的标准索引类型B-tree索引在PostgreSQL 12中进行了优化,以更好地处理频繁修改索引的工作负载。使用TPC-C基准的合理使用实现,PostgreSQL 12平均显示了40%的空间利用率和查询性能的整体提升。




分区表上的查询也得到了明显的改进,特别是对于具有数千个分区的表,这些分区只需要从有限的子集检索数据。PostgreSQL 12还改进了通过INSERT和COPY向分区表中添加数据的性能,并支持在不阻塞查询的情况下将新分区附加到表中。




有额外增强索引在PostgreSQL 12影响整体性能,包括写前日志生成的低开销的要点,杜松子酒,和SP-GiST指数类型,创建覆盖索引的能力(包括条款)要点索引的能力执行再查询操作符(< - >)的距离使用SP-GiST索引,现在还可以创建支持最常见值(MCV)统计信息的统计信息,以便在使用非均匀分布的列时帮助生成更好的查询计划。




在PostgreSQL 11中引入的使用LLVM的即时(JIT)编译在默认情况下是启用的。JIT编译可以为WHERE子句、目标列表、聚合和一些内部操作中的表达式的执行提供性能优势,如果您的PostgreSQL安装是用LLVM编译或打包的,那么JIT编译是可用的。


SQL一致性和功能的增强


PostgreSQL以其符合SQL标准而闻名,这也是它从“POSTGRES”改名为“PostgreSQL”的原因之一。




PostgreSQL 12引入了使用SQL/JSON标准中定义的JSON路径表达式在JSON文档上运行查询的能力。这样的查询可以利用现有的JSONB格式文档索引机制来有效地检索数据。




通用表表达式,也称为查询,现在可以由PostgreSQL 12自动内联,这反过来可以帮助提高许多现有查询的性能。在这个版本中,如果WITH查询不是递归的,没有任何副作用,并且在查询的后面部分只引用一次,那么它可以内联。




PostgreSQL 12引入了“生成的列”。在SQL标准中定义的这种类型的列根据同一表中其他列的内容计算其值。在这个版本中,PostgreSQL支持“存储生成的列”,其中计算的值存储在磁盘上。

国际化


PostgreSQL 12扩展了对ICU排序的支持,允许用户定义“不确定排序”,例如,允许不区分大小写或不区分上下文的比较。




身份验证


PostgreSQL扩展了其健壮的认证方法支持,增加了一些安全性和功能。该版本同时引入了客户端和服务器端加密,以便通过GSSAPI接口进行身份验证,并且PostgreSQL如果使用OpenLDAP编译PostgreSQL,就能够发现LDAP服务器。




此外,PostgreSQL 12现在支持一种形式的多因素认证。PostgreSQL服务器现在可以使用clientcert=verify-full选项来要求认证客户端提供一个有效的SSL证书,同时还需要一个单独的认证方法(如:hroot -sha-256)。

 Administration


PostgreSQL 12引入了通过REINDEX并发命令在不阻塞写的情况下重建索引的能力,使用户可以避免长时间的索引重建的停机情况。




此外,PostgreSQL 12现在可以使用pg_checksum命令在离线集群中启用或禁用页面校验和。以前,页面校验和是一个用来帮助验证存储到磁盘上的数据完整性的功能,但现在只能在初始化PostgreSQL集群时使用initdb来启用它。




要获得本版本包含的完整功能列表,请阅读发布说明,可以在https://www.postgresql.org/docs/12/rele12.html找到




关于PostgreSQL


PostgreSQL是世界上最先进的开源数据库,在全球拥有数以千计的用户、贡献者、公司和组织。PostgreSQL项目建立在30多年的工程基础上,从加州大学伯克利分校开始,以无与伦比的速度发展。PostgreSQL成熟的特性集不仅与顶级的私有数据库系统相匹配,而且在高级数据库特性、可扩展性、安全性和稳定性方面也超越了它们。




 原文:

PostgreSQL 12 Released!

Posted on 2019-10-03 by PostgreSQL Global Development Group

The PostgreSQL Global Development Group today announced the release of PostgreSQL 12, the latest version of the world's most advanced open source database.

PostgreSQL 12 enhancements include notable improvements to query performance, particularly over larger data sets, and overall space utilization. This release provides application developers with new capabilities such as SQL/JSON path expression support, optimizations for how common table expression (WITH) queries are executed, and generated columns. The PostgreSQL community continues to support the extensibility and robustness of PostgreSQL, 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.

"The development community behind PostgreSQL contributed features for PostgreSQL 12 that offer performance and space management gains that our users can achieve with minimal effort, as well as improvements in enterprise authentication, administration functionality, and SQL/JSON support." said Dave Page, a core team member of the PostgreSQL Global Development Group. "This release continues the trend of making it easier to manage database workloads large and small while building on PostgreSQL's reputation of flexibility, reliability and stability in production environments."

PostgreSQL benefits from over 20 years of open source development and has become the preferred open source relational database for organizations of all sizes. The project continues to receive recognition across the industry, 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 Achievement" open source award at OSCON 2019.

Overall Performance Improvements

PostgreSQL 12 provides significant performance and maintenance enhancements to its indexing system and to partitioning.

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

Queries on partitioned tables have also seen demonstrable improvements, particularly for tables with thousands of partitions that only need to retrieve data from a limited subset. PostgreSQL 12 also improves the performance of adding data to partitioned tables with INSERT and COPY, and includes the ability to attach a new partition to a table without blocking queries.

There are additional enhancements to indexing in PostgreSQL 12 that affect overall performance, including lower overhead in write-ahead log generation for the GiST, GIN, and SP-GiST index types, the ability to create covering indexes (the INCLUDE clause) on GiST indexes, the ability to perform K-nearest neighbor queries with the distance operator (<->) using SP-GiST indexes, and CREATE STATISTICS now supporting most-common value (MCV) statistics to help generate better query plans when using columns that are nonuniformly distributed.

Just-in-time (JIT) compilation using LLVM, introduced in PostgreSQL 11, is now enabled by default. JIT compilation can provide performance benefits to the execution of expressions in WHERE clauses, target lists, aggregates, and some internal operations, and is available if your PostgreSQL installation 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 adds several features to continue its implementation of the SQL standard with enhanced functionality.

PostgreSQL 12 introduces the ability to run queries over JSON documents using 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 automatically inlined by PostgreSQL 12, which in turn can help increase the performance of 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 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 columns in the same table. In this version, PostgreSQL supports "stored generated 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-insensitive or accent-insensitive comparisons.

Authentication

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

Additionally, PostgreSQL 12 now supports a form of multi-factor authentication. A PostgreSQL server can now require an authenticating client to provide a valid SSL certificate with their username using the clientcert=verify-full option and combine this with the requirement of a separate authentication 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 an offline cluster using the pg_checksums command. Previously page checksums, a feature to help verify the integrity of data stored to disk, could only be enabled at the time a PostgreSQL cluster was initialized with initdb.

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/release-12.html

About PostgreSQL

PostgreSQL is the world's most advanced open source database, with a global community of thousands of users, contributors, companies and organizations. The PostgreSQL Project builds on over 30 years of engineering, starting 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 database features, extensibility, security, and stability.

Press Release Translations

Links

Community PostgreSQL Project



相关推荐