commit : ef3c3cf6d021ff9884c513afd850a9fe85cad736
author : John Naylor <john.naylor@postgresql.org>
date : Sat, 14 Feb 2026 13:50:06 +0700
committer: John Naylor <john.naylor@postgresql.org>
date : Sat, 14 Feb 2026 13:50:06 +0700
Click here for diff
Radix sort can be much faster than quicksort, but for our purposes it
is limited to sequences of unsigned bytes. To make tuples with other
types amenable to this technique, several features of tuple comparison
must be accounted for, i.e. the sort key must be "normalized":
1. Signedness -- It's possible to modify a signed integer such that
it can be compared as unsigned. For example, a signed char has range
-128 to 127. If we cast that to unsigned char and add 128, the range
of values becomes 0 to 255 while preserving order.
2. Direction -- SQL allows specification of ASC or DESC. The
descending case is easily handled by taking the complement of the
unsigned representation.
3. NULL values -- NULLS FIRST and NULLS LAST must work correctly.
This commmit only handles the case where datum1 is pass-by-value
Datum (possibly abbreviated) that compares like an ordinary
integer. (Abbreviations of values of type "numeric" are a convenient
counterexample.) First, tuples are partitioned by nullness in the
correct NULL ordering. Then the NOT NULL tuples are sorted with radix
sort on datum1. For tiebreaks on subsequent sortkeys (including the
first sort key if abbreviated), we divert to the usual qsort.
ORDER BY queries on pre-warmed buffers are up to 2x faster on high
cardinality inputs with radix sort than the sort specializations added
by commit 697492434, so get rid of them. It's sufficient to fall back
to qsort_tuple() for small arrays. Moderately low cardinality inputs
show more modest improvents. Our qsort is strongly optimized for very
low cardinality inputs, but radix sort is usually equal or very close
in those cases.
The changes to the regression tests are caused by under-specified sort
orders, e.g. "SELECT a, b from mytable order by a;". For unstable
sorts, such as our qsort and this in-place radix sort, there is no
guarantee of the order of "b" within each group of "a".
The implementation is taken from ska_byte_sort() (Boost licensed),
which is similar to American flag sort (an in-place radix sort) with
modifications to make it better suited for modern pipelined CPUs.
The technique of normalization described above can also be extended
to the case of multiple keys. That is left for future work (Thanks
to Peter Geoghegan for the suggestion to look into this area).
Reviewed-by: Chengpeng Yan <chengpeng_yan@outlook.com>
Reviewed-by: zengman <zengman@halodbtech.com>
Reviewed-by: ChangAo Chen <cca5507@qq.com>
Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de>
Reviewed-by: Chao Li <li.evan.chao@gmail.com> (earlier version)
Discussion: https://postgr.es/m/CANWCAZYzx7a7E9AY16Jt_U3+GVKDADfgApZ-42SYNiig8dTnFA@mail.gmail.com
M src/backend/utils/sort/tuplesort.c
M src/include/utils/sortsupport.h
M src/include/utils/tuplesort.h
M src/test/regress/expected/tuplesort.out
M src/tools/pgindent/typedefs.list
Stamp 14.21.
commit : eb788b43371849237c61ba2747fc11e96c08d861
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 16:57:12 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 16:57:12 -0500
Click here for diff
M configure
M configure.ac
Last-minute updates for release notes.
commit : 8771763bd97607882dd47925dceea0859a59ce97
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 14:01:20 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 14:01:20 -0500
Click here for diff
Stamp 15.16.
commit : 78bc85dd4455c302c345c550e0628a1522df108d
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 16:55:28 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 16:55:28 -0500
Click here for diff
M configure
M configure.ac
Last-minute updates for release notes.
commit : 749e616b7693cec9baaaf8744d740d436693ac91
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 14:01:20 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 14:01:20 -0500
Click here for diff
Stamp 16.12.
commit : e15d96551f9760e62888b5082ad050329c1c4cdf
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 16:53:53 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 16:53:53 -0500
Click here for diff
M configure
M configure.ac
M meson.build
Last-minute updates for release notes.
commit : 9889b3b64fe6bb52084159ae9bc5f2f5943fdd8a
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 14:01:20 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 14:01:20 -0500
Click here for diff
Stamp 17.8.
commit : 6af885119b52a2a6229959670ba3ae5e36bf9806
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 16:51:54 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 16:51:54 -0500
Click here for diff
M configure
M configure.ac
M meson.build
Last-minute updates for release notes.
commit : a3acb409025a2f8e2cb93346bbc1d87281f861fc
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 14:01:20 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 14:01:20 -0500
Click here for diff
Stamp 18.2.
commit : 5a461dc4dbf72a1ec281394a76eb36d68cbdd935
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 16:49:49 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 16:49:49 -0500
Click here for diff
M configure
M configure.ac
M meson.build
Last-minute updates for release notes.
commit : 30d2603f5c340133ca03e098fcaa9c242843d5e1
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 14:01:20 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 9 Feb 2026 14:01:20 -0500
Click here for diff
v2.58.0: Object Storage Improvements
commit : d50cfa9ee0b0b921fb6823165c65f23ff5fed0fc
author : David Steele <david@pgbackrest.org>
date : Mon, 19 Jan 2026 17:03:44 +0700
committer: David Steele <david@pgbackrest.org>
date : Mon, 19 Jan 2026 17:03:44 +0700
Click here for diff
IMPORTANT NOTE: The minimum values for the repo-storage-upload-chunk-size option have increased. They now represent the minimum allowed by the vendors.
Bug Fixes:
* Fix deadlock due to logging in signal handler. (Fixed by Maxim Michkov. Reviewed by David Steele.)
Features:
* HTTP support for S3, GCS, and Azure. (Contributed by Will Morland. Reviewed by David Steele.)
* Allow expiration of oldest full backup regardless of current retention. (Contributed by Stefan Fercot. Reviewed by David Steele. Suggested by Ron Johnson.)
* Support for Azure managed identities. (Contributed by Moiz Ibrar, Matthew Mols. Reviewed by David Steele.)
* Experimental support for S3 EKS pod identity. (Contributed by Pierre BOUTELOUP. Reviewed by David Steele.)
* Allow configuration of TLS cipher suites. (Contributed by Gunnar "Nick" Bluth. Reviewed by David Steele.)
* Allow process priority to be set. (Reviewed by Douglas J Hunley.)
Improvements:
* Allow dots in S3 bucket names when using path-style URIs. (Contributed by Joakim Hindersson. Reviewed by David Steele.)
* Require TLS >= 1.2 unless verification is disabled. (Reviewed by Douglas J Hunley, Gunnar "Nick" Bluth.)
* Dynamically size S3/GCS/Azure chunks for large uploads. (Reviewed by Douglas J Hunley. Suggested by Timothée Peignier.)
* Optimize S3/GCS/Azure chunk size for small files. (Reviewed by Douglas J Hunley.)
* Remove support for PostgreSQL 9.5. (Reviewed by Douglas J Hunley.)
* Improve logging of default for options with an unresolved dependency. (Reviewed by Stefan Fercot.)
Documentation Improvements:
* Remove explicit max_wal_senders/wal_level configuration from user guide. (Suggested by Jamie Nguyen.)
* Clarify that bundling is useful for filesystems with large block sizes. (Suggested by Ron Johnson.)
M CONTRIBUTING.md
M README.md
M doc/RELEASE.md
M doc/resource/exe.cache
M doc/resource/git-history.cache
M doc/xml/auto/metric-coverage-report.auto.xml
M doc/xml/release/2020s/2026/2.58.0.xml
M meson.build
M src/version.h
M test/code-count/file-type.yaml
Stamp 13.23.
commit : 89df812eb890814b105d871185935b580478e660
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 16:59:18 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 16:59:18 -0500
Click here for diff
M configure
M configure.in
Last-minute updates for release notes.
commit : 9a219bb0038a7c56eb4ea9680e1d0c7043a81c88
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 13:36:13 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 13:36:13 -0500
Click here for diff
Stamp 14.20.
commit : 9ad034be354da9af1cea76836a9e576c110d1ff3
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 16:58:00 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 16:58:00 -0500
Click here for diff
M configure
M configure.ac
Last-minute updates for release notes.
commit : ee953cd8f0a9325ad67fef94539df8b4201efafe
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 13:36:13 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 13:36:13 -0500
Click here for diff
Stamp 15.15.
commit : 32f38816779420502d4a311835d5fe939e9548a0
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 16:56:47 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 16:56:47 -0500
Click here for diff
M configure
M configure.ac
Last-minute updates for release notes.
commit : 70d03b5f4f9e585a5a1425e89af234015e2c63c5
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 13:36:13 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 13:36:13 -0500
Click here for diff
Stamp 16.11.
commit : d61dd817be70749d14e982a369e97fdda9d5cba6
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 16:55:22 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 16:55:22 -0500
Click here for diff
M configure
M configure.ac
M meson.build
Last-minute updates for release notes.
commit : b2e70cc348992012cab140172d0aaf9a3bec6b0b
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 13:36:13 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 13:36:13 -0500
Click here for diff
Stamp 17.7.
commit : fbb530a3dff569222bea7098ad4de3d8bde97740
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 16:53:58 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 16:53:58 -0500
Click here for diff
M configure
M configure.ac
M meson.build
Last-minute updates for release notes.
commit : 2c0382f98b3fa05f482b94c706169f6bebbc92ea
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 13:36:13 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 13:36:13 -0500
Click here for diff
Stamp 18.1.
commit : 4b324845ba5d24682b9b3708a769f00d160afbd7
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 16:52:06 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 16:52:06 -0500
Click here for diff
M configure
M configure.ac
M meson.build
Last-minute updates for release notes.
commit : 91d070c7bb1480247cb834c36c89b15a7db5f82d
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 13:36:13 -0500
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 10 Nov 2025 13:36:13 -0500
Click here for diff
v2.57.0: Suppress Repository Symlinks
commit : d9773a31c97077761ee8e7d06e073b0b0734e26f
author : David Steele <david@pgbackrest.org>
date : Sat, 18 Oct 2025 11:07:36 +0200
committer: David Steele <david@pgbackrest.org>
date : Sat, 18 Oct 2025 11:07:36 +0200
Click here for diff
Bug Fixes:
* Unnest HTTP/TLS/socket timeouts. (Reviewed by David Christensen.)
* Fix possible segfault in page checksum error message. (Fixed by Zsolt Parragi. Reviewed by David Steele.)
Features:
* Add repo-symlink option to suppress creation of repository symlinks. (Reviewed by Douglas J Hunley. Suggested by Ron Johnson.)
Improvements:
* Add HTTP retries for 408 and 429 errors. (Reviewed by David Christensen.)
M CONTRIBUTING.md
M README.md
M doc/resource/exe.cache
M doc/resource/git-history.cache
M doc/xml/auto/metric-coverage-report.auto.xml
M doc/xml/release/2025/2.57.0.xml
M meson.build
M src/version.h
Stamp 18.0.
commit : 3d6a828938a5fa0444275d3d2f67b64ec3199eb7
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 22 Sep 2025 16:11:33 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 22 Sep 2025 16:11:33 -0400
Click here for diff
M configure
M configure.ac
M meson.build
Translation updates
commit : 9bbcec6030a2744d83311370ec92213fbd76e514
author : Peter Eisentraut <peter@eisentraut.org>
date : Mon, 22 Sep 2025 14:18:56 +0200
committer: Peter Eisentraut <peter@eisentraut.org>
date : Mon, 22 Sep 2025 14:18:56 +0200
Click here for diff
Stamp 13.22.
commit : af2dbe860b638dbd45604270d103e0a59dc0a372
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 17:10:58 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 17:10:58 -0400
Click here for diff
M configure
M configure.in
Last-minute updates for release notes.
commit : 17d41fc70d5b87a1fc1b41d045a9634da120a74f
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 15:37:32 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 15:37:32 -0400
Click here for diff
Stamp 14.19.
commit : 4e9da016ade3e75400f6fdc22ed1fed7fdd32f7a
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 17:09:37 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 17:09:37 -0400
Click here for diff
M configure
M configure.ac
Last-minute updates for release notes.
commit : 2e19ad79e1a14e5dacd0ad3a3ec959fff928ca17
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 15:37:32 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 15:37:32 -0400
Click here for diff
Stamp 15.14.
commit : 0ab43b548237b3791261480d6a023f6b95b53942
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 17:08:18 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 17:08:18 -0400
Click here for diff
M configure
M configure.ac
Last-minute updates for release notes.
commit : 4eb9733b2b76aeaca84e450be8c7653012ab215a
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 15:37:32 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 15:37:32 -0400
Click here for diff
Stamp 16.10.
commit : c13dd7d50f21268dc64b4b3edbce31993985ab12
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 17:06:43 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 17:06:43 -0400
Click here for diff
M configure
M configure.ac
M meson.build
Last-minute updates for release notes.
commit : 18d01671ef2576f7f950c2797a467370bc1a654d
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 15:37:32 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 15:37:32 -0400
Click here for diff
Stamp 17.6.
commit : 7885b94dd81b98bbab9ed878680d156df7bf857f
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 17:04:51 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 17:04:51 -0400
Click here for diff
M configure
M configure.ac
M meson.build
Last-minute updates for release notes.
commit : 86ad5a84c76b0ed1cf9ddb1d88f7204a9a076051
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 15:37:32 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 Aug 2025 15:37:32 -0400
Click here for diff
v2.56.0: Progress Info Improvements
commit : eca9290a2a6583fd0dd9156ee6ef6cf26899336e
author : David Steele <david@pgbackrest.org>
date : Mon, 21 Jul 2025 10:12:22 -0400
committer: David Steele <david@pgbackrest.org>
date : Mon, 21 Jul 2025 10:12:22 -0400
Click here for diff
Bug Fixes:
* Fix issue with adhoc expiration when no backups in a repository. (Reviewed by Stefan Fercot. Reported by Anup Gupta.)
Features:
* Add restore progress to info command output. (Contributed by Denis Garsh, Maxim Michkov. Reviewed by David Steele.)
* Add progress-only detail level for info command output. (Contributed by Denis Garsh. Reviewed by David Steele, Stefan Fercot.)
Improvements:
* Retry failed reads on object stores. (Reviewed by David Christensen.)
* Fix defaults in command-line help. (Reviewed by David Christensen, Chris Bandy.)
Documentation Improvements:
* Describe discrete option values in a list where appropriate. (Contributed by Anton Kurochkin. Reviewed by David Steele.)
* Fix "less than" in help output for archive-mode option. (Contributed by Anton Kurochkin. Reviewed by David Steele.)
M CONTRIBUTING.md
M README.md
M doc/resource/exe.cache
M doc/resource/git-history.cache
M doc/xml/auto/metric-coverage-report.auto.xml
M doc/xml/release/2025/2.56.0.xml
M meson.build
M src/version.h
Stamp 13.21.
commit : 8b3c5d9f5299666e2c548cc6e18d837d52f2ab2e
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 16:34:49 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 16:34:49 -0400
Click here for diff
M configure
M configure.in
Last-minute updates for release notes.
commit : 5dff5ce8636660772f23493918e69af91c820321
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 11:29:49 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 11:29:49 -0400
Click here for diff
Stamp 14.18.
commit : 8bde80e30edd408a5bef4d5612db0bb173206293
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 16:33:27 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 16:33:27 -0400
Click here for diff
M configure
M configure.ac
Last-minute updates for release notes.
commit : d9cee6a5f2ad73e1c13b619fdc2d42961079dbc3
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 11:29:49 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 11:29:49 -0400
Click here for diff
Stamp 15.13.
commit : 5261b40acb67fdb8ed1e5976ae99599f16864c93
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 16:31:49 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 16:31:49 -0400
Click here for diff
M configure
M configure.ac
Last-minute updates for release notes.
commit : 4b6f246b6791904b16d277138800a3f8a4ece847
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 11:29:49 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 11:29:49 -0400
Click here for diff
Stamp 16.9.
commit : 6e4ab1b69197e2756192a1019439aebacdea5497
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 16:30:08 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 16:30:08 -0400
Click here for diff
M configure
M configure.ac
M meson.build
Last-minute updates for release notes.
commit : ce12d66ce731a863abb489dfb9b3f01a4537ee73
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 11:29:49 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 5 May 2025 11:29:49 -0400
Click here for diff