public inbox for [email protected]  
help / color / mirror / Atom feed
PostgreSQL 13 Beta 1 Release Announcement Draft
7+ messages / 4 participants
[nested] [flat]

* PostgreSQL 13 Beta 1 Release Announcement Draft
@ 2020-05-19 02:40  Jonathan S. Katz <[email protected]>
  0 siblings, 2 replies; 7+ messages in thread

From: Jonathan S. Katz @ 2020-05-19 02:40 UTC (permalink / raw)
  To: PostgreSQL Advocacy <[email protected]>

Hi,

Attached is a draft of the release announcement for the PostgreSQL 13
Beta 1 release this week.

The goal of this release announcement is to make people aware of the new
features that are introduced in PostgreSQL 13 and, importantly, get them
to start testing. I have tried to include a broad array of features that
can noticeably impact people's usage of PostgreSQL. Note that the order
of the features in the announcement are not in any particular ranking
(though I do call out VACUUM as being one of the "most anticipated
features"), but are my efforts to try and tell a story about the release.

Please let me know your thoughts, comments, corrections, etc. and also
if there are any glaring omissions[1]. Please let me know your feedback
before the end of Wed. May 20 AOE (i.e. before the release ships).

Thanks for your review!

Jonathan

[1] https://www.postgresql.org/docs/devel/release-13.html

PostgreSQL 13 Beta 1 Released
=============================

The PostgreSQL Global Development Group announces that the first beta release of
PostgreSQL 13 is now available for download. This release contains previews of
all features that will be available in the final release of PostgreSQL 13,
though some details of the release could change before then.

You can find information about all of the features and changes found in
PostgreSQL 13 in the [release notes](https://www.postgresql.org/docs/13/release-13.html):

  [https://www.postgresql.org/docs/13/release-13.html](https://www.postgresql.org/docs/13/release-13.html)

In the spirit of the open source PostgreSQL community, we strongly encourage you
to test the new features of PostgreSQL 13 in your database systems to help us
eliminate any bugs or other issues that may exist. While we do not advise you to
run PostgreSQL 13 Beta 1 in your production environments, we encourage you to
find ways to run your typical application workloads against this beta release.

Your testing and feedback will help the community ensure that the PostgreSQL 13
release upholds our standards of providing a stable, reliable release of the
world's most advanced open source relational database. You can read more about
the [beta testing process](https://www.postgresql.org/developer/beta/) and how
you can contribute here:

  [https://www.postgresql.org/developer/beta/](https://www.postgresql.org/developer/beta/)

PostgreSQL 13 Feature Highlights
--------------------------------

PostgreSQL 13 introduces many features and improvements to the world's most
advanced open source database. The following is just a small sample of new
features introduced into this latest version of PostgreSQL.

Our goal is to make you aware of the upcoming features so you can help with the
[testing effort](https://www.postgresql.org/developer/beta/). We strongly
encourage you provide feedback as well as any bug reports so we can ensure we
can continue to deliver stable, reliable database software.


### Functionality

There are many new features that improve the overall performance of
PostgreSQL 13 and make it easier to work with simple and complex workloads.

On the performance front, B-tree indexes, the standard index of PostgreSQL,
received improvements to how duplicate data is handled in the index. This helps
to shrink the index size and improve the speed of lookups, particularly for
indexes that have significant duplicates.

PostgreSQL 13 adds incremental sorting, which accelerates sorting data when
existing data in a query is already sorted. Queries with OR clauses or IN/ANY
constant lists can now make use of extended statistics, created with
`CREATE STATISTICS`, which can lead to better planning and performance gains.
PostgreSQL 13 can now use disk storage for hash aggregation (used as part of
aggregate queries) with large aggregation sets.

There are more improvements added to PostgreSQL's partitioning functionality in
this release, including an increased number of cases where a
"partitionwise join" (a join between matching partitions) can be used, which
can improve overall query execution time. Partitioned tables now support
`BEFORE` row-level triggers, and a partitioned table can now be fully replicated
via logical replication without having to publish individual partitions.

PostgreSQL 13 brings more convenience to writing queries and introduces features
such as `FETCH FIRST WITH TIES` that will return any additional rows that match
the last row. There is also the addition of the ".datetime" function for
jsonpath queries, which will automatically convert a date-like or time-like
string to the appropriate PostgreSQL date/time datatype. It is also even easier
now to generate random UUIDs, as the `gen_random_uuid()` can be used without
having to enable any extensions.

### Administration

One of the most anticipated features of PostgreSQL 13 is the ability for the
`VACUUM` command to process indexes in parallel. This functionality can be
accessed with the new `PARALLEL` option on the `VACUUM` command (or `--parallel`
on `vacuumdb`) allows you to specify the number of parallel workers to use for
vacuuming indexes. Note that this does not work with the `FULL` option.

The `reindexdb` command can now benefit from parallelism too: the new `--jobs`
flag lets you specify the number of parallel workers to use when reindexing a
database.

PostgreSQL 13 introduces the concept of a "trusted extension", which allows for
a superuser to specify extensions that a user can install in their database so
long as they have a `CREATE` privilege.

This release includes more ways to track what is going on within a PostgreSQL
database, as PostgreSQL 13 can now track WAL usage statistics and the progress
of streaming `pg_basebackup`s, and the progress of an `ANALYZE` command.
`pg_basebackup` can also generate a manifest that can be used to verify the
integrity of a backup using a new tool called `pg_verifybackup`.

`pg_dump` now includes the `--include-foreign-data` flag that, if set, will
include data from servers referenced by foreign data wrappers in the dump.

The `pg_rewind` command also has improvements in PostgreSQL 13. In addition to
`pg_rewind` automatically performing crash recovery, you can now configure use
it to configure standby PostgreSQL instances using the `--write-recovery-conf`
flag. `pg_rewind` can also use the `restore_command` of the target instance to
fetch needed write-ahead logs.

### Security

PostgreSQL continues to improve on its security capabilities in this latest
release, introducing several features to help further deploy PostgreSQL safely.

libpq, the connection library that powers `psql` and many PostgreSQL connection
drivers, added several new parameters to help secure connections. PostgreSQL 13
introduces the `channel_binding` connection parameters, which lets a client
specify that they want to require the channel binding functionality as part of
SCRAM. Additionally, a client that is using a password protected TLS certificate
can now specify its password using the `sslpassword` parameter. PostgreSQL 13
also adds support for DER encoded certificates.

The PostgreSQL foreign data wrapper (`postgres_fdw`) also received several
enhancements to how it can secure connections, including the ability to use
certificate-based authentication to connect to other PostgreSQL clusters.
Additionally, unprivileged accounts can now connect to another PostgreSQL
database via the `postgres_fdw` without using a password.

PostgreSQL 13 continues to improve operability on Windows, as now users who
run PostgreSQL on Windows now have the option to connect over UNIX domain
sockets.

### Other Highlights

PostgreSQL 13 introduces a [glossary](https://www.postgresql.org/docs/devel/glossary.html)
of terms to help people familiarize themselves with both PostgreSQL and general
database concepts. This coincides with a significant rework in the display of
functions and operators in tables, which helps to improve readability both on
the web and in the PDF documentation.

The `pgbench` utility, used for performance testing, now supports the
partitioning of the "accounts" table that it uses, making it easier to benchmark
workloads involving partitions.

`psql` now includes the `\warn` command that is similar to the `\echo` command
in terms of outputting data, except `\warn` sends it to stderr. And in case you
need additional guidance on any of the PostgreSQL commands, the `--help` flag
now includes a link to [https://www.postgresql.org](https://www.postgresql.org).

Additional Features
-------------------

Many other new features and improvements have been added to PostgreSQL 13, some
of which may be as or more important to specific users than what is mentioned
above. Please see the [Release Notes](https://www.postgresql.org/docs/13/release-13.html)
for a complete list of new and changed features.

Testing for Bugs & Compatibility
--------------------------------

The stability of each PostgreSQL release greatly depends on you, the community,
to test the upcoming version with your workloads and testing tools in order to
find bugs and regressions before the general availability of PostgreSQL 13. As
this is a Beta, minor changes to database behaviors, feature details, and APIs
are still possible. Your feedback and testing will help determine the final
tweaks on the new features, so please test in the near future. The quality of
user testing helps determine when we can make a final release.

A list of [open issues](https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items)
is publicly available in the PostgreSQL wiki.  You can
[report bugs](https://www.postgresql.org/account/submitbug/) using this form on
the PostgreSQL website:

  [https://www.postgresql.org/account/submitbug/](https://www.postgresql.org/account/submitbug/)

Beta Schedule
-------------

This is the first beta release of version 13. The PostgreSQL Project will
release additional betas as required for testing, followed by one or more
release candidates, until the final release in late 2020. For further
information please see the [Beta Testing](https://www.postgresql.org/developer/beta/) page.

Links
-----

* [Download](https://www.postgresql.org/download/)
* [Beta Testing Information](https://www.postgresql.org/developer/beta/)
* [PostgreSQL 13 Beta Release Notes](https://www.postgresql.org/docs/devel/release-13.html)
* [PostgreSQL 13 Open Issues](https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items)
* [Submit a Bug](https://www.postgresql.org/account/submitbug/)


Attachments:

  [text/plain] 13beta1.md (9.4K, ../../[email protected]/2-13beta1.md)
  download | inline:
PostgreSQL 13 Beta 1 Released
=============================

The PostgreSQL Global Development Group announces that the first beta release of
PostgreSQL 13 is now available for download. This release contains previews of
all features that will be available in the final release of PostgreSQL 13,
though some details of the release could change before then.

You can find information about all of the features and changes found in
PostgreSQL 13 in the [release notes](https://www.postgresql.org/docs/13/release-13.html):

  [https://www.postgresql.org/docs/13/release-13.html](https://www.postgresql.org/docs/13/release-13.html)

In the spirit of the open source PostgreSQL community, we strongly encourage you
to test the new features of PostgreSQL 13 in your database systems to help us
eliminate any bugs or other issues that may exist. While we do not advise you to
run PostgreSQL 13 Beta 1 in your production environments, we encourage you to
find ways to run your typical application workloads against this beta release.

Your testing and feedback will help the community ensure that the PostgreSQL 13
release upholds our standards of providing a stable, reliable release of the
world's most advanced open source relational database. You can read more about
the [beta testing process](https://www.postgresql.org/developer/beta/) and how
you can contribute here:

  [https://www.postgresql.org/developer/beta/](https://www.postgresql.org/developer/beta/)

PostgreSQL 13 Feature Highlights
--------------------------------

PostgreSQL 13 introduces many features and improvements to the world's most
advanced open source database. The following is just a small sample of new
features introduced into this latest version of PostgreSQL.

Our goal is to make you aware of the upcoming features so you can help with the
[testing effort](https://www.postgresql.org/developer/beta/). We strongly
encourage you provide feedback as well as any bug reports so we can ensure we
can continue to deliver stable, reliable database software.


### Functionality

There are many new features that improve the overall performance of
PostgreSQL 13 and make it easier to work with simple and complex workloads.

On the performance front, B-tree indexes, the standard index of PostgreSQL,
received improvements to how duplicate data is handled in the index. This helps
to shrink the index size and improve the speed of lookups, particularly for
indexes that have significant duplicates.

PostgreSQL 13 adds incremental sorting, which accelerates sorting data when
existing data in a query is already sorted. Queries with OR clauses or IN/ANY
constant lists can now make use of extended statistics, created with
`CREATE STATISTICS`, which can lead to better planning and performance gains.
PostgreSQL 13 can now use disk storage for hash aggregation (used as part of
aggregate queries) with large aggregation sets.

There are more improvements added to PostgreSQL's partitioning functionality in
this release, including an increased number of cases where a
"partitionwise join" (a join between matching partitions) can be used, which
can improve overall query execution time. Partitioned tables now support
`BEFORE` row-level triggers, and a partitioned table can now be fully replicated
via logical replication without having to publish individual partitions.

PostgreSQL 13 brings more convenience to writing queries and introduces features
such as `FETCH FIRST WITH TIES` that will return any additional rows that match
the last row. There is also the addition of the ".datetime" function for
jsonpath queries, which will automatically convert a date-like or time-like
string to the appropriate PostgreSQL date/time datatype. It is also even easier
now to generate random UUIDs, as the `gen_random_uuid()` can be used without
having to enable any extensions.

### Administration

One of the most anticipated features of PostgreSQL 13 is the ability for the
`VACUUM` command to process indexes in parallel. This functionality can be
accessed with the new `PARALLEL` option on the `VACUUM` command (or `--parallel`
on `vacuumdb`) allows you to specify the number of parallel workers to use for
vacuuming indexes. Note that this does not work with the `FULL` option.

The `reindexdb` command can now benefit from parallelism too: the new `--jobs`
flag lets you specify the number of parallel workers to use when reindexing a
database.

PostgreSQL 13 introduces the concept of a "trusted extension", which allows for
a superuser to specify extensions that a user can install in their database so
long as they have a `CREATE` privilege.

This release includes more ways to track what is going on within a PostgreSQL
database, as PostgreSQL 13 can now track WAL usage statistics and the progress
of streaming `pg_basebackup`s, and the progress of an `ANALYZE` command.
`pg_basebackup` can also generate a manifest that can be used to verify the
integrity of a backup using a new tool called `pg_verifybackup`.

`pg_dump` now includes the `--include-foreign-data` flag that, if set, will
include data from servers referenced by foreign data wrappers in the dump.

The `pg_rewind` command also has improvements in PostgreSQL 13. In addition to
`pg_rewind` automatically performing crash recovery, you can now configure use
it to configure standby PostgreSQL instances using the `--write-recovery-conf`
flag. `pg_rewind` can also use the `restore_command` of the target instance to
fetch needed write-ahead logs.

### Security

PostgreSQL continues to improve on its security capabilities in this latest
release, introducing several features to help further deploy PostgreSQL safely.

libpq, the connection library that powers `psql` and many PostgreSQL connection
drivers, added several new parameters to help secure connections. PostgreSQL 13
introduces the `channel_binding` connection parameters, which lets a client
specify that they want to require the channel binding functionality as part of
SCRAM. Additionally, a client that is using a password protected TLS certificate
can now specify its password using the `sslpassword` parameter. PostgreSQL 13
also adds support for DER encoded certificates.

The PostgreSQL foreign data wrapper (`postgres_fdw`) also received several
enhancements to how it can secure connections, including the ability to use
certificate-based authentication to connect to other PostgreSQL clusters.
Additionally, unprivileged accounts can now connect to another PostgreSQL
database via the `postgres_fdw` without using a password.

PostgreSQL 13 continues to improve operability on Windows, as now users who
run PostgreSQL on Windows now have the option to connect over UNIX domain
sockets.

### Other Highlights

PostgreSQL 13 introduces a [glossary](https://www.postgresql.org/docs/devel/glossary.html)
of terms to help people familiarize themselves with both PostgreSQL and general
database concepts. This coincides with a significant rework in the display of
functions and operators in tables, which helps to improve readability both on
the web and in the PDF documentation.

The `pgbench` utility, used for performance testing, now supports the
partitioning of the "accounts" table that it uses, making it easier to benchmark
workloads involving partitions.

`psql` now includes the `\warn` command that is similar to the `\echo` command
in terms of outputting data, except `\warn` sends it to stderr. And in case you
need additional guidance on any of the PostgreSQL commands, the `--help` flag
now includes a link to [https://www.postgresql.org](https://www.postgresql.org).

Additional Features
-------------------

Many other new features and improvements have been added to PostgreSQL 13, some
of which may be as or more important to specific users than what is mentioned
above. Please see the [Release Notes](https://www.postgresql.org/docs/13/release-13.html)
for a complete list of new and changed features.

Testing for Bugs & Compatibility
--------------------------------

The stability of each PostgreSQL release greatly depends on you, the community,
to test the upcoming version with your workloads and testing tools in order to
find bugs and regressions before the general availability of PostgreSQL 13. As
this is a Beta, minor changes to database behaviors, feature details, and APIs
are still possible. Your feedback and testing will help determine the final
tweaks on the new features, so please test in the near future. The quality of
user testing helps determine when we can make a final release.

A list of [open issues](https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items)
is publicly available in the PostgreSQL wiki.  You can
[report bugs](https://www.postgresql.org/account/submitbug/) using this form on
the PostgreSQL website:

  [https://www.postgresql.org/account/submitbug/](https://www.postgresql.org/account/submitbug/)

Beta Schedule
-------------

This is the first beta release of version 13. The PostgreSQL Project will
release additional betas as required for testing, followed by one or more
release candidates, until the final release in late 2020. For further
information please see the [Beta Testing](https://www.postgresql.org/developer/beta/) page.

Links
-----

* [Download](https://www.postgresql.org/download/)
* [Beta Testing Information](https://www.postgresql.org/developer/beta/)
* [PostgreSQL 13 Beta Release Notes](https://www.postgresql.org/docs/devel/release-13.html)
* [PostgreSQL 13 Open Issues](https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items)
* [Submit a Bug](https://www.postgresql.org/account/submitbug/)

  [application/pgp-signature] signature.asc (833B, ../../[email protected]/3-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 7+ messages in thread

* Re: PostgreSQL 13 Beta 1 Release Announcement Draft
@ 2020-05-19 05:52  Laurenz Albe <[email protected]>
  parent: Jonathan S. Katz <[email protected]>
  1 sibling, 0 replies; 7+ messages in thread

From: Laurenz Albe @ 2020-05-19 05:52 UTC (permalink / raw)
  To: Jonathan S. Katz <[email protected]>; PostgreSQL Advocacy <[email protected]>

On Mon, 2020-05-18 at 22:40 -0400, Jonathan S. Katz wrote:
Thanks for the good work!

> The `pg_rewind` command also has improvements in PostgreSQL 13. In addition to
> `pg_rewind` automatically performing crash recovery, you can now configure use
> it to configure standby PostgreSQL instances using the `--write-recovery-conf`
> flag.

"you can now configure use it" could do with one less verb.

Yours,
Laurenz Albe






^ permalink  raw  reply  [nested|flat] 7+ messages in thread

* Re: PostgreSQL 13 Beta 1 Release Announcement Draft
@ 2020-05-20 22:12  Jonathan S. Katz <[email protected]>
  parent: Jonathan S. Katz <[email protected]>
  1 sibling, 1 reply; 7+ messages in thread

From: Jonathan S. Katz @ 2020-05-20 22:12 UTC (permalink / raw)
  To: PostgreSQL Advocacy <[email protected]>

Hi,

On 5/18/20 10:40 PM, Jonathan S. Katz wrote:
> Hi,
> 
> Attached is a draft of the release announcement for the PostgreSQL 13
> Beta 1 release this week.
> 
> The goal of this release announcement is to make people aware of the new
> features that are introduced in PostgreSQL 13 and, importantly, get them
> to start testing. I have tried to include a broad array of features that
> can noticeably impact people's usage of PostgreSQL. Note that the order
> of the features in the announcement are not in any particular ranking
> (though I do call out VACUUM as being one of the "most anticipated
> features"), but are my efforts to try and tell a story about the release.
> 
> Please let me know your thoughts, comments, corrections, etc. and also
> if there are any glaring omissions[1]. Please let me know your feedback
> before the end of Wed. May 20 AOE (i.e. before the release ships).
> 
> Thanks for your review!

Ditto above^ :)

Thanks everyone for your responses (a note on that in a sec). I have
attached an update to the release, which will be close to and/or the
final copy that goes out tomorrow.

Based on the feedback received, I accepted & declined changes based on
a) how it impacts our users at large b) if an expression was actually
wrong vs. personal preference of explanation. For (a), there is an
existing note in the announcement to read the release notes as there may
be some features that are more interesting to the reader than what may
be described. As mentioned, the goal is to try to have the release
announcement as a springboard into what people can use/test.

I also received an interesting amount of off-list feedback this
iteration. While I generally do not mind chatting (this week an
unfortunate exception and I apologize if I did not reply back to you), I
do ask as part of the collaborative process to try to keep feedback on
list so as to limit duplication of comments.

Anyway, I am happy to receive and incorporate additional feedback up
until we launch tomorrow ~12 UTC.

Thanks! Happy Beta eve :)

Jonathan

PostgreSQL 13 Beta 1 Released
=============================

The PostgreSQL Global Development Group announces that the first beta release of
PostgreSQL 13 is now [available for download](https://www.postgresql.org/download/).
This release contains previews of all features that will be available in the
final release of PostgreSQL 13, though some details of the release could change
before then.

You can find information about all of the features and changes found in
PostgreSQL 13 in the [release notes](https://www.postgresql.org/docs/13/release-13.html):

  [https://www.postgresql.org/docs/13/release-13.html](https://www.postgresql.org/docs/13/release-13.html)

In the spirit of the open source PostgreSQL community, we strongly encourage you
to test the new features of PostgreSQL 13 in your systems to help us eliminate
any bugs or other issues that may exist. While we do not advise you to run
PostgreSQL 13 Beta 1 in your production environments, we encourage you to find
ways to run your typical application workloads against this beta release.

Your testing and feedback will help the community ensure that the PostgreSQL 13
release upholds our standards of providing a stable, reliable release of the
world's most advanced open source relational database. You can read more about
our [beta testing process](https://www.postgresql.org/developer/beta/) and how
you can contribute here:

  [https://www.postgresql.org/developer/beta/](https://www.postgresql.org/developer/beta/)

PostgreSQL 13 Feature Highlights
--------------------------------

PostgreSQL 13 introduces many features and improvements to the world's most
advanced open source database. The following is just a small sample of new
features introduced into this latest version of PostgreSQL.

Our goal is to make you aware of the upcoming features so you can help with the
[testing effort](https://www.postgresql.org/developer/beta/). We appreciate any
feedback that you can provide as part of the beta process, including bug
reports, as this helps us to ensure that PostgreSQL continues to be stable,
reliable, and robust.

### Functionality

There are many new features in PostgreSQL 13 that help improve the overall
performance of PostgreSQL while making it even easier to develop applications.

B-tree indexes, the standard index of PostgreSQL, received improvements for
how they handle duplicate data. These enhancements help to shrink index size and
improve lookup speed, particularly for indexes that contain many repeat values.

PostgreSQL 13 adds incremental sorting, which accelerates sorting data when
existing data in a query is already sorted. Additionally, queries with OR
clauses or IN/ANY constant lists can use extended statistics (created via
`CREATE STATISTICS`), which can lead to better planning and performance gains.
PostgreSQL 13 can now use disk storage for hash aggregation (used as part of
aggregate queries) with large aggregation sets.

There are more improvements added to PostgreSQL's partitioning functionality in
this release, including an increased number of cases where a
"partitionwise join" (a join between matching partitions) can be used, which
can improve overall query execution time. Partitioned tables now support
`BEFORE` row-level triggers, and a partitioned table can now be fully replicated
via logical replication without having to publish individual partitions.

PostgreSQL 13 brings more convenience to writing queries with features like
`FETCH FIRST WITH TIES`, which returns any additional rows that match the last
row. There is also the addition of the ".datetime" function for jsonpath
queries, which will automatically convert a date-like or time-like string to the
appropriate PostgreSQL date/time datatype. It is also even easier now to
generate random UUIDs, as the `gen_random_uuid()` function can be used without
having to enable any extensions.

### Administration

One of the most anticipated features of PostgreSQL 13 is the ability for the
`VACUUM` command to process indexes in parallel. This functionality can be
accessed using the new `PARALLEL` option on the `VACUUM` command (or
`--parallel` on `vacuumdb`), which allows you to specify the number of parallel
workers to use for vacuuming indexes. Note that this does not work with the
`FULL` option.

The `reindexdb` command has also added parallelism with the new `--jobs` flag,
which lets you specify the number of concurrent sessions to use when reindexing
a database.

PostgreSQL 13 introduces the concept of a "trusted extension", which allows for
a superuser to specify extensions that a user can install in their database so
long as they have a `CREATE` privilege.

This release includes more ways to monitor actibity within a PostgreSQL
database: PostgreSQL 13 can now track WAL usage statistics and the progress of
streaming `pg_basebackup`s, and the progress of an `ANALYZE` command.
`pg_basebackup` can also generate a manifest that can be used to verify the
integrity of a backup using a new tool called `pg_verifybackup`.

A new flag for `pg_dump`, `--include-foreign-data`, includes data from  servers
referenced by foreign data wrappers in the dump output.

The `pg_rewind` command also has improvements in PostgreSQL 13. In addition to
`pg_rewind` automatically performing crash recovery, you can now use it to
configure standby PostgreSQL instances using the `--write-recovery-conf` flag.
`pg_rewind` can also use the `restore_command` of the target instance to fetch
needed write-ahead logs.

### Security

PostgreSQL continues to improve on its security capabilities in this latest
release, introducing several features to help further deploy PostgreSQL safely.

libpq, the connection library that powers `psql` and many PostgreSQL connection
drivers, includes several new parameters to help secure connections.
PostgreSQL 13 introduces the `channel_binding` connection parameters, which
lets a client specify that they want to require the channel binding
functionality as part of SCRAM. Additionally, a client that is using a password
protected TLS certificate can now specify its password using the `sslpassword`
parameter. PostgreSQL 13 also adds support for DER encoded certificates.

The PostgreSQL foreign data wrapper (`postgres_fdw`) also received several
enhancements to how it can secure connections, including the ability to use
certificate-based authentication to connect to other PostgreSQL clusters.
Additionally, unprivileged accounts can now connect to another PostgreSQL
database via the `postgres_fdw` without using a password.

### Other Highlights

PostgreSQL 13 continues to improve operability on Windows, as now users who
run PostgreSQL on Windows now have the option to connect over UNIX domain
sockets.

The PostgreSQL 13 documentation adds a [glossary](https://www.postgresql.org/docs/devel/glossary.html)
of terms to help people familiarize themselves with both PostgreSQL and general
database concepts. This coincides with a significant rework in the display of
functions and operators in tables, which helps to improve readability both on
the web and in the PDF documentation.

The `pgbench` utility, used for performance testing, now supports the ability to
partition its "accounts" table, making it easier to benchmark workloads that
contains partitions.

`psql` now includes the `\warn` command that is similar to the `\echo` command
in terms of outputting data, except `\warn` sends it to stderr. And in case you
need additional guidance on any of the PostgreSQL commands, the `--help` flag
now includes a link to [https://www.postgresql.org](https://www.postgresql.org).

Additional Features
-------------------

Many other new features and improvements have been added to PostgreSQL 13, some
of which may be as or more important to your use case than what is mentioned
above. Please see the [Release Notes](https://www.postgresql.org/docs/13/release-13.html)
for a complete list of new and changed features:

  [Release Notes](https://www.postgresql.org/docs/13/release-13.html)

Testing for Bugs & Compatibility
--------------------------------

The stability of each PostgreSQL release greatly depends on you, the community,
to test the upcoming version with your workloads and testing tools in order to
find bugs and regressions before the general availability of PostgreSQL 13. As
this is a Beta, minor changes to database behaviors, feature details, and APIs
are still possible. Your feedback and testing will help determine the final
tweaks on the new features, so please test in the near future. The quality of
user testing helps determine when we can make a final release.

A list of [open issues](https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items)
is publicly available in the PostgreSQL wiki.  You can
[report bugs](https://www.postgresql.org/account/submitbug/) using this form on
the PostgreSQL website:

  [https://www.postgresql.org/account/submitbug/](https://www.postgresql.org/account/submitbug/)

Beta Schedule
-------------

This is the first beta release of version 13. The PostgreSQL Project will
release additional betas as required for testing, followed by one or more
release candidates, until the final release in late 2020. For further
information please see the [Beta Testing](https://www.postgresql.org/developer/beta/) page.

Links
-----

* [Download](https://www.postgresql.org/download/)
* [Beta Testing Information](https://www.postgresql.org/developer/beta/)
* [PostgreSQL 13 Beta Release Notes](https://www.postgresql.org/docs/devel/release-13.html)
* [PostgreSQL 13 Open Issues](https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items)
* [Submit a Bug](https://www.postgresql.org/account/submitbug/)


Attachments:

  [text/plain] 13beta1.md (9.5K, ../../[email protected]/2-13beta1.md)
  download | inline:
PostgreSQL 13 Beta 1 Released
=============================

The PostgreSQL Global Development Group announces that the first beta release of
PostgreSQL 13 is now [available for download](https://www.postgresql.org/download/).
This release contains previews of all features that will be available in the
final release of PostgreSQL 13, though some details of the release could change
before then.

You can find information about all of the features and changes found in
PostgreSQL 13 in the [release notes](https://www.postgresql.org/docs/13/release-13.html):

  [https://www.postgresql.org/docs/13/release-13.html](https://www.postgresql.org/docs/13/release-13.html)

In the spirit of the open source PostgreSQL community, we strongly encourage you
to test the new features of PostgreSQL 13 in your systems to help us eliminate
any bugs or other issues that may exist. While we do not advise you to run
PostgreSQL 13 Beta 1 in your production environments, we encourage you to find
ways to run your typical application workloads against this beta release.

Your testing and feedback will help the community ensure that the PostgreSQL 13
release upholds our standards of providing a stable, reliable release of the
world's most advanced open source relational database. You can read more about
our [beta testing process](https://www.postgresql.org/developer/beta/) and how
you can contribute here:

  [https://www.postgresql.org/developer/beta/](https://www.postgresql.org/developer/beta/)

PostgreSQL 13 Feature Highlights
--------------------------------

PostgreSQL 13 introduces many features and improvements to the world's most
advanced open source database. The following is just a small sample of new
features introduced into this latest version of PostgreSQL.

Our goal is to make you aware of the upcoming features so you can help with the
[testing effort](https://www.postgresql.org/developer/beta/). We appreciate any
feedback that you can provide as part of the beta process, including bug
reports, as this helps us to ensure that PostgreSQL continues to be stable,
reliable, and robust.

### Functionality

There are many new features in PostgreSQL 13 that help improve the overall
performance of PostgreSQL while making it even easier to develop applications.

B-tree indexes, the standard index of PostgreSQL, received improvements for
how they handle duplicate data. These enhancements help to shrink index size and
improve lookup speed, particularly for indexes that contain many repeat values.

PostgreSQL 13 adds incremental sorting, which accelerates sorting data when
existing data in a query is already sorted. Additionally, queries with OR
clauses or IN/ANY constant lists can use extended statistics (created via
`CREATE STATISTICS`), which can lead to better planning and performance gains.
PostgreSQL 13 can now use disk storage for hash aggregation (used as part of
aggregate queries) with large aggregation sets.

There are more improvements added to PostgreSQL's partitioning functionality in
this release, including an increased number of cases where a
"partitionwise join" (a join between matching partitions) can be used, which
can improve overall query execution time. Partitioned tables now support
`BEFORE` row-level triggers, and a partitioned table can now be fully replicated
via logical replication without having to publish individual partitions.

PostgreSQL 13 brings more convenience to writing queries with features like
`FETCH FIRST WITH TIES`, which returns any additional rows that match the last
row. There is also the addition of the ".datetime" function for jsonpath
queries, which will automatically convert a date-like or time-like string to the
appropriate PostgreSQL date/time datatype. It is also even easier now to
generate random UUIDs, as the `gen_random_uuid()` function can be used without
having to enable any extensions.

### Administration

One of the most anticipated features of PostgreSQL 13 is the ability for the
`VACUUM` command to process indexes in parallel. This functionality can be
accessed using the new `PARALLEL` option on the `VACUUM` command (or
`--parallel` on `vacuumdb`), which allows you to specify the number of parallel
workers to use for vacuuming indexes. Note that this does not work with the
`FULL` option.

The `reindexdb` command has also added parallelism with the new `--jobs` flag,
which lets you specify the number of concurrent sessions to use when reindexing
a database.

PostgreSQL 13 introduces the concept of a "trusted extension", which allows for
a superuser to specify extensions that a user can install in their database so
long as they have a `CREATE` privilege.

This release includes more ways to monitor actibity within a PostgreSQL
database: PostgreSQL 13 can now track WAL usage statistics and the progress of
streaming `pg_basebackup`s, and the progress of an `ANALYZE` command.
`pg_basebackup` can also generate a manifest that can be used to verify the
integrity of a backup using a new tool called `pg_verifybackup`.

A new flag for `pg_dump`, `--include-foreign-data`, includes data from  servers
referenced by foreign data wrappers in the dump output.

The `pg_rewind` command also has improvements in PostgreSQL 13. In addition to
`pg_rewind` automatically performing crash recovery, you can now use it to
configure standby PostgreSQL instances using the `--write-recovery-conf` flag.
`pg_rewind` can also use the `restore_command` of the target instance to fetch
needed write-ahead logs.

### Security

PostgreSQL continues to improve on its security capabilities in this latest
release, introducing several features to help further deploy PostgreSQL safely.

libpq, the connection library that powers `psql` and many PostgreSQL connection
drivers, includes several new parameters to help secure connections.
PostgreSQL 13 introduces the `channel_binding` connection parameters, which
lets a client specify that they want to require the channel binding
functionality as part of SCRAM. Additionally, a client that is using a password
protected TLS certificate can now specify its password using the `sslpassword`
parameter. PostgreSQL 13 also adds support for DER encoded certificates.

The PostgreSQL foreign data wrapper (`postgres_fdw`) also received several
enhancements to how it can secure connections, including the ability to use
certificate-based authentication to connect to other PostgreSQL clusters.
Additionally, unprivileged accounts can now connect to another PostgreSQL
database via the `postgres_fdw` without using a password.

### Other Highlights

PostgreSQL 13 continues to improve operability on Windows, as now users who
run PostgreSQL on Windows now have the option to connect over UNIX domain
sockets.

The PostgreSQL 13 documentation adds a [glossary](https://www.postgresql.org/docs/devel/glossary.html)
of terms to help people familiarize themselves with both PostgreSQL and general
database concepts. This coincides with a significant rework in the display of
functions and operators in tables, which helps to improve readability both on
the web and in the PDF documentation.

The `pgbench` utility, used for performance testing, now supports the ability to
partition its "accounts" table, making it easier to benchmark workloads that
contains partitions.

`psql` now includes the `\warn` command that is similar to the `\echo` command
in terms of outputting data, except `\warn` sends it to stderr. And in case you
need additional guidance on any of the PostgreSQL commands, the `--help` flag
now includes a link to [https://www.postgresql.org](https://www.postgresql.org).

Additional Features
-------------------

Many other new features and improvements have been added to PostgreSQL 13, some
of which may be as or more important to your use case than what is mentioned
above. Please see the [Release Notes](https://www.postgresql.org/docs/13/release-13.html)
for a complete list of new and changed features:

  [Release Notes](https://www.postgresql.org/docs/13/release-13.html)

Testing for Bugs & Compatibility
--------------------------------

The stability of each PostgreSQL release greatly depends on you, the community,
to test the upcoming version with your workloads and testing tools in order to
find bugs and regressions before the general availability of PostgreSQL 13. As
this is a Beta, minor changes to database behaviors, feature details, and APIs
are still possible. Your feedback and testing will help determine the final
tweaks on the new features, so please test in the near future. The quality of
user testing helps determine when we can make a final release.

A list of [open issues](https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items)
is publicly available in the PostgreSQL wiki.  You can
[report bugs](https://www.postgresql.org/account/submitbug/) using this form on
the PostgreSQL website:

  [https://www.postgresql.org/account/submitbug/](https://www.postgresql.org/account/submitbug/)

Beta Schedule
-------------

This is the first beta release of version 13. The PostgreSQL Project will
release additional betas as required for testing, followed by one or more
release candidates, until the final release in late 2020. For further
information please see the [Beta Testing](https://www.postgresql.org/developer/beta/) page.

Links
-----

* [Download](https://www.postgresql.org/download/)
* [Beta Testing Information](https://www.postgresql.org/developer/beta/)
* [PostgreSQL 13 Beta Release Notes](https://www.postgresql.org/docs/devel/release-13.html)
* [PostgreSQL 13 Open Issues](https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items)
* [Submit a Bug](https://www.postgresql.org/account/submitbug/)

  [application/pgp-signature] signature.asc (833B, ../../[email protected]/3-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 7+ messages in thread

* Re: PostgreSQL 13 Beta 1 Release Announcement Draft
@ 2020-05-20 23:30  Alvaro Herrera <[email protected]>
  parent: Jonathan S. Katz <[email protected]>
  0 siblings, 3 replies; 7+ messages in thread

From: Alvaro Herrera @ 2020-05-20 23:30 UTC (permalink / raw)
  To: Jonathan S. Katz <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

Hello, sorry for the timing on this, but here's some feedback.

On 2020-May-20, Jonathan S. Katz wrote:

> PostgreSQL 13 introduces many features and improvements to the world's most
> advanced open source database. The following is just a small sample of new
> features introduced into this latest version of PostgreSQL.

"A small sample" suggests to me that there are other equally important
features that you did not list, in a somewhat random way.  I doubt
that's true; as a user, I would expect you to list the most important
changes.  I would use the phrase "The following are the most visible
improvements" or some such.

> PostgreSQL 13 adds incremental sorting, which accelerates sorting data when
> existing data in a query is already sorted.

I'm not sure this is very accurate.  I would say "incremental sorting,
which can take advantage of partially sorted data". (Could add more to
it, "when only a subset of the result set is needed", but that is
perhaps too many words).

> There are more improvements added to PostgreSQL's partitioning functionality in
> this release, including an increased number of cases where a
> "partitionwise join" (a join between matching partitions) can be used,

I'd say "A join between partitioned tables".  (The new feature precisely
is that the partition strategies don't have to match exactly anymore).

> One of the most anticipated features of PostgreSQL 13 is the ability for the
> `VACUUM` command to process indexes in parallel. This functionality can be
> accessed using the new `PARALLEL` option on the `VACUUM` command (or
> `--parallel` on `vacuumdb`), which allows you to specify the number of parallel
> workers to use for vacuuming indexes. Note that this does not work with the
> `FULL` option.

I feel this "Note" is unnecessary; VACUUM FULL is of fringe use anyway.
The phrase on incremental sorting above is better use of these extra
words, if you have a surplus.
 
> This release includes more ways to monitor actibity within a PostgreSQL
> database: PostgreSQL 13 can now track WAL usage statistics and the progress of
> streaming `pg_basebackup`s, and the progress of an `ANALYZE` command.
> `pg_basebackup` can also generate a manifest that can be used to verify the
> integrity of a backup using a new tool called `pg_verifybackup`.

In this monitoring paragraph I would add that it's possible to limit WAL
reserved by replication slots.  "It is now possible to limit the amount
of WAL space reserved by replication slots."

Thanks!

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services





^ permalink  raw  reply  [nested|flat] 7+ messages in thread

* Re: PostgreSQL 13 Beta 1 Release Announcement Draft
@ 2020-05-20 23:43  Alvaro Herrera <[email protected]>
  parent: Alvaro Herrera <[email protected]>
  2 siblings, 0 replies; 7+ messages in thread

From: Alvaro Herrera @ 2020-05-20 23:43 UTC (permalink / raw)
  To: Jonathan S. Katz <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

On 2020-May-20, Alvaro Herrera wrote:

> > PostgreSQL 13 adds incremental sorting, which accelerates sorting data when
> > existing data in a query is already sorted.
> 
> I'm not sure this is very accurate.  I would say "incremental sorting,
> which can take advantage of partially sorted data". (Could add more to
> it, "when only a subset of the result set is needed", but that is
> perhaps too many words).

Rereading my suggestion, it's not super helpful either, as it suggests
that it's useful when the data is sorted on disk.  I'm coming up with
"which can take advantage of sorted results from intermediate query
steps to speed up subsequent query steps".

Thanks

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services





^ permalink  raw  reply  [nested|flat] 7+ messages in thread

* Re: PostgreSQL 13 Beta 1 Release Announcement Draft
@ 2020-05-20 23:47  Adrian Klaver <[email protected]>
  parent: Alvaro Herrera <[email protected]>
  2 siblings, 0 replies; 7+ messages in thread

From: Adrian Klaver @ 2020-05-20 23:47 UTC (permalink / raw)
  To: Alvaro Herrera <[email protected]>; Jonathan S. Katz <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

On 5/20/20 4:30 PM, Alvaro Herrera wrote:
> Hello, sorry for the timing on this, but here's some feedback.
> 
> On 2020-May-20, Jonathan S. Katz wrote:
> 

> 
>> One of the most anticipated features of PostgreSQL 13 is the ability for the
>> `VACUUM` command to process indexes in parallel. This functionality can be
>> accessed using the new `PARALLEL` option on the `VACUUM` command (or
>> `--parallel` on `vacuumdb`), which allows you to specify the number of parallel
>> workers to use for vacuuming indexes. Note that this does not work with the
>> `FULL` option.
> 
> I feel this "Note" is unnecessary; VACUUM FULL is of fringe use anyway.

You would hope so, but given the number of times it shows up on 
--general I would say the note is important.

> The phrase on incremental sorting above is better use of these extra
> words, if you have a surplus.
>   

> Thanks!
> 


-- 
Adrian Klaver
[email protected]





^ permalink  raw  reply  [nested|flat] 7+ messages in thread

* Re: PostgreSQL 13 Beta 1 Release Announcement Draft
@ 2020-05-21 02:06  Jonathan S. Katz <[email protected]>
  parent: Alvaro Herrera <[email protected]>
  2 siblings, 0 replies; 7+ messages in thread

From: Jonathan S. Katz @ 2020-05-21 02:06 UTC (permalink / raw)
  To: Alvaro Herrera <[email protected]>; +Cc: PostgreSQL Advocacy <[email protected]>

On 5/20/20 7:30 PM, Alvaro Herrera wrote:
> Hello, sorry for the timing on this, but here's some feedback.
> 
> On 2020-May-20, Jonathan S. Katz wrote:
> 
>> PostgreSQL 13 introduces many features and improvements to the world's most
>> advanced open source database. The following is just a small sample of new
>> features introduced into this latest version of PostgreSQL.
> 
> "A small sample" suggests to me that there are other equally important
> features that you did not list, in a somewhat random way.  I doubt
> that's true; as a user, I would expect you to list the most important
> changes.  I would use the phrase "The following are the most visible
> improvements" or some such.

After trying to reword it, I ended up striking the whole section. A
bunch of it was redundant to the above section. The title of the section
can have it stand on its own: "PostgreSQL 13 Highlights"

>> PostgreSQL 13 adds incremental sorting, which accelerates sorting data when
>> existing data in a query is already sorted.
> 
> I'm not sure this is very accurate.  I would say "incremental sorting,
> which can take advantage of partially sorted data". (Could add more to
> it, "when only a subset of the result set is needed", but that is
> perhaps too many words).

I made modifications based on your downthread comments.

>> There are more improvements added to PostgreSQL's partitioning functionality in
>> this release, including an increased number of cases where a
>> "partitionwise join" (a join between matching partitions) can be used,
> 
> I'd say "A join between partitioned tables".  (The new feature precisely
> is that the partition strategies don't have to match exactly anymore).

Cool, modified.

>> One of the most anticipated features of PostgreSQL 13 is the ability for the
>> `VACUUM` command to process indexes in parallel. This functionality can be
>> accessed using the new `PARALLEL` option on the `VACUUM` command (or
>> `--parallel` on `vacuumdb`), which allows you to specify the number of parallel
>> workers to use for vacuuming indexes. Note that this does not work with the
>> `FULL` option.
> 
> I feel this "Note" is unnecessary; VACUUM FULL is of fringe use anyway.
> The phrase on incremental sorting above is better use of these extra
> words, if you have a surplus.

While I'm not running in production as much as I used to, there will
still times I would need to use a VACUUM FULL ;)

>  
>> This release includes more ways to monitor actibity within a PostgreSQL
>> database: PostgreSQL 13 can now track WAL usage statistics and the progress of
>> streaming `pg_basebackup`s, and the progress of an `ANALYZE` command.
>> `pg_basebackup` can also generate a manifest that can be used to verify the
>> integrity of a backup using a new tool called `pg_verifybackup`.
> 
> In this monitoring paragraph I would add that it's possible to limit WAL
> reserved by replication slots.  "It is now possible to limit the amount
> of WAL space reserved by replication slots."

That is a good one - I added that mostly word-for-word.

Thanks!

Jonathan

PostgreSQL 13 Beta 1 Released
=============================

The PostgreSQL Global Development Group announces that the first beta release of
PostgreSQL 13 is now [available for download](https://www.postgresql.org/download/).
This release contains previews of all features that will be available in the
final release of PostgreSQL 13, though some details of the release could change
before then.

You can find information about all of the features and changes found in
PostgreSQL 13 in the [release notes](https://www.postgresql.org/docs/13/release-13.html):

  [https://www.postgresql.org/docs/13/release-13.html](https://www.postgresql.org/docs/13/release-13.html)

In the spirit of the open source PostgreSQL community, we strongly encourage you
to test the new features of PostgreSQL 13 in your systems to help us eliminate
any bugs or other issues that may exist. While we do not advise you to run
PostgreSQL 13 Beta 1 in your production environments, we encourage you to find
ways to run your typical application workloads against this beta release.

Your testing and feedback will help the community ensure that the PostgreSQL 13
release upholds our standards of providing a stable, reliable release of the
world's most advanced open source relational database. You can read more about
our [beta testing process](https://www.postgresql.org/developer/beta/) and how
you can contribute here:

  [https://www.postgresql.org/developer/beta/](https://www.postgresql.org/developer/beta/)

PostgreSQL 13 Feature Highlights
--------------------------------

### Functionality

There are many new features in PostgreSQL 13 that help improve the overall
performance of PostgreSQL while making it even easier to develop applications.

B-tree indexes, the standard index of PostgreSQL, received improvements for
how they handle duplicate data. These enhancements help to shrink index size and
improve lookup speed, particularly for indexes that contain many repeat values.

PostgreSQL 13 adds incremental sorting, which accelerates sorting data when data
that is sorted from earlier parts of a query are already sorted. Additionally,
queries with OR clauses or IN/ANY constant lists can use extended statistics
(created via `CREATE STATISTICS`), which can lead to better planning and
performance gains. PostgreSQL 13 can now use disk storage for hash aggregation
(used as part of aggregate queries) with large aggregation sets.

There are more improvements added to PostgreSQL's partitioning functionality in
this release, including an increased number of cases where a join directly
between partitioned tables can occur, which can improve overall query execution
time. Partitioned tables now support `BEFORE` row-level triggers, and a
partitioned table can now be fully replicated via logical replication without
having to publish individual partitions.

PostgreSQL 13 brings more convenience to writing queries with features like
`FETCH FIRST WITH TIES`, which returns any additional rows that match the last
row. There is also the addition of the ".datetime" function for jsonpath
queries, which will automatically convert a date-like or time-like string to the
appropriate PostgreSQL date/time datatype. It is also even easier now to
generate random UUIDs, as the `gen_random_uuid()` function can be used without
having to enable any extensions.

### Administration

One of the most anticipated features of PostgreSQL 13 is the ability for the
`VACUUM` command to process indexes in parallel. This functionality can be
accessed using the new `PARALLEL` option on the `VACUUM` command (or
`--parallel` on `vacuumdb`), which allows you to specify the number of parallel
workers to use for vacuuming indexes. Note that this does not work with the
`FULL` option.

The `reindexdb` command has also added parallelism with the new `--jobs` flag,
which lets you specify the number of concurrent sessions to use when reindexing
a database.

PostgreSQL 13 introduces the concept of a "trusted extension", which allows for
a superuser to specify extensions that a user can install in their database so
long as they have a `CREATE` privilege.

This release includes more ways to monitor activity within a PostgreSQL
database: PostgreSQL 13 can now track WAL usage statistics and the progress of
streaming `pg_basebackup`s, and the progress of an `ANALYZE` command.
`pg_basebackup` can also generate a manifest that can be used to verify the
integrity of a backup using a new tool called `pg_verifybackup`. It is also now
possible to limit the amount of WAL space reserved by replication slots.

A new flag for `pg_dump`, `--include-foreign-data`, includes data from  servers
referenced by foreign data wrappers in the dump output.

The `pg_rewind` command also has improvements in PostgreSQL 13. In addition to
`pg_rewind` automatically performing crash recovery, you can now use it to
configure standby PostgreSQL instances using the `--write-recovery-conf` flag.
`pg_rewind` can also use the `restore_command` of the target instance to fetch
needed write-ahead logs.

### Security

PostgreSQL continues to improve on its security capabilities in this latest
release, introducing several features to help further deploy PostgreSQL safely.

libpq, the connection library that powers `psql` and many PostgreSQL connection
drivers, includes several new parameters to help secure connections.
PostgreSQL 13 introduces the `channel_binding` connection parameters, which
lets a client specify that they want to require the channel binding
functionality as part of SCRAM. Additionally, a client that is using a password
protected TLS certificate can now specify its password using the `sslpassword`
parameter. PostgreSQL 13 also adds support for DER encoded certificates.

The PostgreSQL foreign data wrapper (`postgres_fdw`) also received several
enhancements to how it can secure connections, including the ability to use
certificate-based authentication to connect to other PostgreSQL clusters.
Additionally, unprivileged accounts can now connect to another PostgreSQL
database via the `postgres_fdw` without using a password.

### Other Highlights

PostgreSQL 13 continues to improve operability on Windows, as now users who
run PostgreSQL on Windows now have the option to connect over UNIX domain
sockets.

The PostgreSQL 13 documentation adds a [glossary](https://www.postgresql.org/docs/devel/glossary.html)
of terms to help people familiarize themselves with both PostgreSQL and general
database concepts. This coincides with a significant rework in the display of
functions and operators in tables, which helps to improve readability both on
the web and in the PDF documentation.

The `pgbench` utility, used for performance testing, now supports the ability to
partition its "accounts" table, making it easier to benchmark workloads that
contain partitions.

`psql` now includes the `\warn` command that is similar to the `\echo` command
in terms of outputting data, except `\warn` sends it to stderr. And in case you
need additional guidance on any of the PostgreSQL commands, the `--help` flag
now includes a link to [https://www.postgresql.org](https://www.postgresql.org).

Additional Features
-------------------

Many other new features and improvements have been added to PostgreSQL 13, some
of which may be as or more important to your use case than what is mentioned
above. Please see the [Release Notes](https://www.postgresql.org/docs/13/release-13.html)
for a complete list of new and changed features:

  [Release Notes](https://www.postgresql.org/docs/13/release-13.html)

Testing for Bugs & Compatibility
--------------------------------

The stability of each PostgreSQL release greatly depends on you, the community,
to test the upcoming version with your workloads and testing tools in order to
find bugs and regressions before the general availability of PostgreSQL 13. As
this is a Beta, minor changes to database behaviors, feature details, and APIs
are still possible. Your feedback and testing will help determine the final
tweaks on the new features, so please test in the near future. The quality of
user testing helps determine when we can make a final release.

A list of [open issues](https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items)
is publicly available in the PostgreSQL wiki.  You can
[report bugs](https://www.postgresql.org/account/submitbug/) using this form on
the PostgreSQL website:

  [https://www.postgresql.org/account/submitbug/](https://www.postgresql.org/account/submitbug/)

Beta Schedule
-------------

This is the first beta release of version 13. The PostgreSQL Project will
release additional betas as required for testing, followed by one or more
release candidates, until the final release in late 2020. For further
information please see the [Beta Testing](https://www.postgresql.org/developer/beta/) page.

Links
-----

* [Download](https://www.postgresql.org/download/)
* [Beta Testing Information](https://www.postgresql.org/developer/beta/)
* [PostgreSQL 13 Beta Release Notes](https://www.postgresql.org/docs/devel/release-13.html)
* [PostgreSQL 13 Open Issues](https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items)
* [Submit a Bug](https://www.postgresql.org/account/submitbug/)


Attachments:

  [text/plain] 13beta1.md (9.0K, ../../[email protected]/2-13beta1.md)
  download | inline:
PostgreSQL 13 Beta 1 Released
=============================

The PostgreSQL Global Development Group announces that the first beta release of
PostgreSQL 13 is now [available for download](https://www.postgresql.org/download/).
This release contains previews of all features that will be available in the
final release of PostgreSQL 13, though some details of the release could change
before then.

You can find information about all of the features and changes found in
PostgreSQL 13 in the [release notes](https://www.postgresql.org/docs/13/release-13.html):

  [https://www.postgresql.org/docs/13/release-13.html](https://www.postgresql.org/docs/13/release-13.html)

In the spirit of the open source PostgreSQL community, we strongly encourage you
to test the new features of PostgreSQL 13 in your systems to help us eliminate
any bugs or other issues that may exist. While we do not advise you to run
PostgreSQL 13 Beta 1 in your production environments, we encourage you to find
ways to run your typical application workloads against this beta release.

Your testing and feedback will help the community ensure that the PostgreSQL 13
release upholds our standards of providing a stable, reliable release of the
world's most advanced open source relational database. You can read more about
our [beta testing process](https://www.postgresql.org/developer/beta/) and how
you can contribute here:

  [https://www.postgresql.org/developer/beta/](https://www.postgresql.org/developer/beta/)

PostgreSQL 13 Feature Highlights
--------------------------------

### Functionality

There are many new features in PostgreSQL 13 that help improve the overall
performance of PostgreSQL while making it even easier to develop applications.

B-tree indexes, the standard index of PostgreSQL, received improvements for
how they handle duplicate data. These enhancements help to shrink index size and
improve lookup speed, particularly for indexes that contain many repeat values.

PostgreSQL 13 adds incremental sorting, which accelerates sorting data when data
that is sorted from earlier parts of a query are already sorted. Additionally,
queries with OR clauses or IN/ANY constant lists can use extended statistics
(created via `CREATE STATISTICS`), which can lead to better planning and
performance gains. PostgreSQL 13 can now use disk storage for hash aggregation
(used as part of aggregate queries) with large aggregation sets.

There are more improvements added to PostgreSQL's partitioning functionality in
this release, including an increased number of cases where a join directly
between partitioned tables can occur, which can improve overall query execution
time. Partitioned tables now support `BEFORE` row-level triggers, and a
partitioned table can now be fully replicated via logical replication without
having to publish individual partitions.

PostgreSQL 13 brings more convenience to writing queries with features like
`FETCH FIRST WITH TIES`, which returns any additional rows that match the last
row. There is also the addition of the ".datetime" function for jsonpath
queries, which will automatically convert a date-like or time-like string to the
appropriate PostgreSQL date/time datatype. It is also even easier now to
generate random UUIDs, as the `gen_random_uuid()` function can be used without
having to enable any extensions.

### Administration

One of the most anticipated features of PostgreSQL 13 is the ability for the
`VACUUM` command to process indexes in parallel. This functionality can be
accessed using the new `PARALLEL` option on the `VACUUM` command (or
`--parallel` on `vacuumdb`), which allows you to specify the number of parallel
workers to use for vacuuming indexes. Note that this does not work with the
`FULL` option.

The `reindexdb` command has also added parallelism with the new `--jobs` flag,
which lets you specify the number of concurrent sessions to use when reindexing
a database.

PostgreSQL 13 introduces the concept of a "trusted extension", which allows for
a superuser to specify extensions that a user can install in their database so
long as they have a `CREATE` privilege.

This release includes more ways to monitor activity within a PostgreSQL
database: PostgreSQL 13 can now track WAL usage statistics and the progress of
streaming `pg_basebackup`s, and the progress of an `ANALYZE` command.
`pg_basebackup` can also generate a manifest that can be used to verify the
integrity of a backup using a new tool called `pg_verifybackup`. It is also now
possible to limit the amount of WAL space reserved by replication slots.

A new flag for `pg_dump`, `--include-foreign-data`, includes data from  servers
referenced by foreign data wrappers in the dump output.

The `pg_rewind` command also has improvements in PostgreSQL 13. In addition to
`pg_rewind` automatically performing crash recovery, you can now use it to
configure standby PostgreSQL instances using the `--write-recovery-conf` flag.
`pg_rewind` can also use the `restore_command` of the target instance to fetch
needed write-ahead logs.

### Security

PostgreSQL continues to improve on its security capabilities in this latest
release, introducing several features to help further deploy PostgreSQL safely.

libpq, the connection library that powers `psql` and many PostgreSQL connection
drivers, includes several new parameters to help secure connections.
PostgreSQL 13 introduces the `channel_binding` connection parameters, which
lets a client specify that they want to require the channel binding
functionality as part of SCRAM. Additionally, a client that is using a password
protected TLS certificate can now specify its password using the `sslpassword`
parameter. PostgreSQL 13 also adds support for DER encoded certificates.

The PostgreSQL foreign data wrapper (`postgres_fdw`) also received several
enhancements to how it can secure connections, including the ability to use
certificate-based authentication to connect to other PostgreSQL clusters.
Additionally, unprivileged accounts can now connect to another PostgreSQL
database via the `postgres_fdw` without using a password.

### Other Highlights

PostgreSQL 13 continues to improve operability on Windows, as now users who
run PostgreSQL on Windows now have the option to connect over UNIX domain
sockets.

The PostgreSQL 13 documentation adds a [glossary](https://www.postgresql.org/docs/devel/glossary.html)
of terms to help people familiarize themselves with both PostgreSQL and general
database concepts. This coincides with a significant rework in the display of
functions and operators in tables, which helps to improve readability both on
the web and in the PDF documentation.

The `pgbench` utility, used for performance testing, now supports the ability to
partition its "accounts" table, making it easier to benchmark workloads that
contain partitions.

`psql` now includes the `\warn` command that is similar to the `\echo` command
in terms of outputting data, except `\warn` sends it to stderr. And in case you
need additional guidance on any of the PostgreSQL commands, the `--help` flag
now includes a link to [https://www.postgresql.org](https://www.postgresql.org).

Additional Features
-------------------

Many other new features and improvements have been added to PostgreSQL 13, some
of which may be as or more important to your use case than what is mentioned
above. Please see the [Release Notes](https://www.postgresql.org/docs/13/release-13.html)
for a complete list of new and changed features:

  [Release Notes](https://www.postgresql.org/docs/13/release-13.html)

Testing for Bugs & Compatibility
--------------------------------

The stability of each PostgreSQL release greatly depends on you, the community,
to test the upcoming version with your workloads and testing tools in order to
find bugs and regressions before the general availability of PostgreSQL 13. As
this is a Beta, minor changes to database behaviors, feature details, and APIs
are still possible. Your feedback and testing will help determine the final
tweaks on the new features, so please test in the near future. The quality of
user testing helps determine when we can make a final release.

A list of [open issues](https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items)
is publicly available in the PostgreSQL wiki.  You can
[report bugs](https://www.postgresql.org/account/submitbug/) using this form on
the PostgreSQL website:

  [https://www.postgresql.org/account/submitbug/](https://www.postgresql.org/account/submitbug/)

Beta Schedule
-------------

This is the first beta release of version 13. The PostgreSQL Project will
release additional betas as required for testing, followed by one or more
release candidates, until the final release in late 2020. For further
information please see the [Beta Testing](https://www.postgresql.org/developer/beta/) page.

Links
-----

* [Download](https://www.postgresql.org/download/)
* [Beta Testing Information](https://www.postgresql.org/developer/beta/)
* [PostgreSQL 13 Beta Release Notes](https://www.postgresql.org/docs/devel/release-13.html)
* [PostgreSQL 13 Open Issues](https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items)
* [Submit a Bug](https://www.postgresql.org/account/submitbug/)

  [application/pgp-signature] signature.asc (833B, ../../[email protected]/3-signature.asc)
  download

^ permalink  raw  reply  [nested|flat] 7+ messages in thread


end of thread, other threads:[~2020-05-21 02:06 UTC | newest]

Thread overview: 7+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2020-05-19 02:40 PostgreSQL 13 Beta 1 Release Announcement Draft Jonathan S. Katz <[email protected]>
2020-05-19 05:52 ` Laurenz Albe <[email protected]>
2020-05-20 22:12 ` Jonathan S. Katz <[email protected]>
2020-05-20 23:30   ` Alvaro Herrera <[email protected]>
2020-05-20 23:43     ` Alvaro Herrera <[email protected]>
2020-05-20 23:47     ` Adrian Klaver <[email protected]>
2020-05-21 02:06     ` Jonathan S. Katz <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox