From 4691e84204e15b6e2f0ad62053fb1d4fd3a7300d Mon Sep 17 00:00:00 2001 From: "Jonathan S. Katz" Date: Mon, 18 May 2020 22:42:20 -0400 Subject: [PATCH] PostgreSQL 13 Beta 1 release announcement draft --- releases/13/beta/13beta1.md | 185 ++++++++++++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 releases/13/beta/13beta1.md diff --git a/releases/13/beta/13beta1.md b/releases/13/beta/13beta1.md new file mode 100644 index 0000000..41243f0 --- /dev/null +++ b/releases/13/beta/13beta1.md @@ -0,0 +1,185 @@ +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/) -- 2.39.5