{% extends "pages/about/press/presskit13/base.html" %}

{% block presskit_content %}
<h1>PostgreSQL 13 Released!</h1>

<p>
  <strong>SEPTEMBER 24, 2020</strong> - The PostgreSQL Global Development Group
  today announced the release of <a href="/docs/13/release-13.html">PostgreSQL 13</a>,
  the latest version of the world’s <a href="https://www.postgresql.org/">most advanced open source database</a>.
</p>

<p>
  PostgreSQL 13 includes significant improvements to its indexing and lookup
  system that benefit large databases, including space savings and performance
  gains for indexes, faster response times for queries that use aggregates or
  partitions, better query planning when using enhanced statistics, and more.
</p>

<p>
  Along with highly requested features like <a href="/docs/13/sql-vacuum.html">parallelized vacuuming</a>
  and <a href="/docs/13/runtime-config-query.html#GUC-ENABLE-INCREMENTAL-SORT">incremental sorting</a>,
  PostgreSQL 13 provides a better data management experience for workloads big
  and small, with optimizations for daily administration, more conveniences for
  application developers, and security enhancements.
</p>

<p>
  "PostgreSQL 13 showcases the collaboration and dedication of our global
  community in furthering the abilities of the world's most advanced open source
  relational database," said Peter Eisentraut, a PostgreSQL Core Team member.
  "The innovations that each release brings along with its reputation for
  reliability and stability is the reason why more people choose to use
  PostgreSQL for their applications."
</p>

<p>
  <a href="https://www.postgresql.org">PostgreSQL</a>, an innovative data
  management system known for its reliability and robustness, benefits from over
  25 years of open source development from a <a href="/community/">global developer community</a>
  and has become the preferred open source relational database for organizations
  of all sizes.
</p>

<h3 id="continued-performance-gains">Continued Performance Gains</h3>

<p>
  Building on work from the previous PostgreSQL release, PostgreSQL 13 can
  efficiently handle <a href="/docs/13/btree-implementation.html#BTREE-DEDUPLICATION">duplicate data in B-tree indexes</a>,
  the standard database index. This lowers the overall space usage that B-tree
  indexes require while improving overall query performance.
</p>

<p>
  PostgreSQL 13 introduces incremental sorting, where sorted data from an
  earlier step in a query can accelerate sorting at a later step. Additionally,
  PostgreSQL can now use the <a href="/docs/13/planner-stats.html#PLANNER-STATS-EXTENDED">extended statistics</a>
  system (accessed via <a href="/docs/13/sql-createstatistics.html"><code>CREATE STATISTICS</code></a>)
  to create improved plans for queries with <code>OR</code> clauses and <code>IN</code>/<code>ANY</code> lookups
  over lists.
</p>

<p>
  In PostgreSQL 13, more types of <a href="/docs/13/functions-aggregate.html">aggregate</a>
  and <a href="/docs/13/queries-table-expressions.html#QUERIES-GROUPING-SETS">grouping set</a>
  queries can leverage PostgreSQL’s efficient hash aggregation functionality, as
  queries with large aggregates do not have to fit entirely into memory. Queries
  with <a href="/docs/13/ddl-partitioning.html">partitioned tables</a>
  have received a performance boost, as there are now more cases where partitions
  can be pruned and where partitions can be directly joined.
</p>

<h3 id="administration-optimizations">Administration Optimizations</h3>

<p>
  <a href="/docs/13/routine-vacuuming.html">Vacuuming</a> is an essential part
  of PostgreSQL administration, enabling the database to reclaim storage space
  after rows are updated and deleted. This process can also present
  administrative challenges, though prior PostgreSQL releases have done work to
  ease the overhead of vacuuming.
</p>

<p>
  PostgreSQL 13 continues to improve the vacuuming system with the introduction
  of <a href="/docs/13/sql-vacuum.html">parallelized vacuum for indexes</a>.
  In addition to the vacuuming performance benefits it offers, the use of this
  new feature can be tuned to specific workloads as administrators can select
  the number of parallel workers to run. In addition to these performance
  benefits, data inserts can now trigger the autovacuum process.
</p>

<p>
  <a href="/docs/13/warm-standby.html#STREAMING-REPLICATION-SLOTS">Replication slots</a>,
  which are used to prevent write-ahead logs (WAL) from being removed before
  they are received by a replica, can be tuned in PostgreSQL 13 to specify the
  <a href="/docs/13/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE">max number of WAL files to retain</a>
  and help avoid out-of-disk errors.
</p>

<p>
  PostgreSQL 13 also adds more ways an administrator can monitor database
  activity, including referencing WAL usage statistics from <code>EXPLAIN</code>,
  the progress of streaming base backups, and the progress of the <code>ANALYZE</code>
  commands. Additionally, the integrity of the output of the
  <a href="/docs/13/app-pgbasebackup.html"><code>pg_basebackup</code></a>
  command can be checked using the new <a href="/docs/13/app-pgverifybackup.html"><code>pg_verifybackup</code></a>
  command.
</p>

<h3 id="application-development-conveniences">Application Development Conveniences</h3>

<p>
  PostgreSQL 13 makes it even easier to work with PostgreSQL data types coming
  from different data sources. This release adds the
  <a href="/docs/13/functions-json.html#FUNCTIONS-SQLJSON-OP-TABLE"><code>datetime()</code></a>
  function to its SQL/JSON path support, which converts valid time formats (e.g.
  ISO 8601 strings) to PostgreSQL-native types. Additionally, the UUID v4
  generation function, <a href="/docs/13/functions-uuid.html"><code>gen_random_uuid()</code></a>,
  is now available without having to install any extensions.
</p>

<p>
  PostgreSQL’s partitioning system is more flexible, as partitioned tables fully
  support logical replication and BEFORE row-level triggers.
</p>

<p>
  The <a href="/docs/13/sql-select.html#SQL-LIMIT"><code>FETCH FIRST</code></a>
  syntax in PostgreSQL 13 is now expanded to include the <code>WITH TIES</code>
  clause. When specified, <code>WITH TIES</code> includes any rows that, based
  on the <code>ORDER BY</code> clause, "tie" with the last row in the result set.
</p>

<h3 id="security-enhancements">Security Enhancements</h3>

<p>
  PostgreSQL’s extension system is a key component of its robustness as it allows
  developers to expand its functionality. In previous releases, new extensions
  could only be installed by a database superuser. To make it easier to take
  advantage of PostgreSQL’s extensibility, PostgreSQL 13 adds the concept of a
  "<a href="/docs/13/sql-createextension.html">trusted extension</a>,"
  which allows database users to install extensions that a superuser marks as
  "trusted." Certain built-in extensions are marked as trusted by default,
  including <a href="/docs/13/pgcrypto.html"><code>pgcrypto</code></a>,
  <a href="/docs/13/tablefunc.html"><code>tablefunc</code></a>,
  <a href="/docs/13/hstore.html"><code>hstore</code></a>, and more.
</p>

<p>
  For applications that require secure authentication methods, PostgreSQL 13
  allows for clients to <a href="/docs/13/libpq-connect.html#LIBPQ-CONNECT-CHANNEL-BINDING">require channel binding</a>
  when using <a href="/docs/13/sasl-authentication.html#SASL-SCRAM-SHA-256">SCRAM authentication</a>,
  and the PostgreSQL foreign data wrapper (<a href="/docs/13/postgres-fdw.html"><code>postgres_fdw</code></a>)
  can now use certificate-based authentication.
</p>

<h3 id="about-postgresql">About PostgreSQL</h3>

<p>
  <a href="https://www.postgresql.org">PostgreSQL</a> is the world's most
  advanced open source database, with a global community of thousands of users,
  contributors, companies and organizations. Built on over 30 years of
  engineering, starting at the University of California, Berkeley, PostgreSQL
  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.
</p>

<h3 id="links">Links</h3>

<ul>
  <li><a href="/download/">Download</a></li>
  <li><a href="/docs/13/release-13.html">Release Notes</a></li>
  <li><a href="/about/press/">Press Kit</a></li>
  <li><a href="/support/security/">Security Page</a></li>
  <li><a href="/support/versioning/">Versioning Policy</a></li>
  <li><a href="https://twitter.com/postgresql">Follow @postgresql on Twitter</a></li>
</ul>

{% endblock presskit_content %}
