Re: PG 13 release notes, first draft
Justin Pryzby <pryzby@telsasoft.com>
Attachments
- 0001-fixes-release-notes.patch (text/x-diff)
There's some obvious improvements for which I include a patch. >Add alternate version of jsonb_setI() with special NULL handling (Andrew Dunstan) >The new function, jsonb_set_lax(), allows null new values to either set the specified key to JSON null, delete the key, raise exception, or ignore the operation. jsonb_set() raise *an* exception new null values? >IS 'return_target' CLEAR? I haven't used these before, but following the examples, it seems to return the "target" argument, unchanged. | Add function min_scale() that returns the number of digits to the right the decimal point that is required to represent the numeric value with full precision (Pavel Stehule) right *of* that *are* required ? |The old function names were kept for backward compatibility. DO WE HAVE NEW NAMES? => I think the docs are clear: > In releases of PostgreSQL before 13 there was no xid8 type, so variants of these functions were provided that used bigint to represent a 64-bit XID, with a correspondingly distinct snapshot data type txid_snapshot. These older functions have txid in their names. They are still supported for backward compatibility, but may be removed from a future release. See Table 9.76.... > This improves performance for queries that access many object. The internal List API has also been improved. many objects* |Allow skipping of WAL for full table writes if wal_level is minimal (Kyotaro Horiguchi) Allow WAL writes to be skipped... And: this is not related to full_page_writes. | Enable Unix-domain sockets support on Windows (Peter Eisentraut) Enable support for .. | Improve the performance when replaying DROP DATABASE commands when many tablespaces are in use (Fujii Masao) s/the// |Allow a sample of statements to be logged (Adrien Nayrat) Allow logging a sample of statements |Allow WAL receivers use a temporary replication slot if a permanent one is not specified (Peter Eisentraut, Sergei Kornilov) *to* use | Add leader_pid to pg_stat_activity to report parallel worker ownership (Julien Rouhaud) s/ownership/leader/ ? |Allow WAL recovery to continue even if invalid pages are referenced (Fujii Masao) remove "WAL" or say: >Allow recovery to continue even if invalid pages are referenced by WAL (Fujii Masao) A few things I have't fixed in my patch: |Previously, this value was adjusted before effecting the number of concurrent requests. This value is now used directly. Conversion of old values to new ones can be done using: |SELECT round(sum(OLD / n::float)) FROM generate_series(1, OLD) s(n); I think the round() should be aliased, "AS new". I think "before effecting" is confusing, maybe say: | Previously, the effective value was computed internally from the user-supplied parameter... |Allow partitioned tables to be logically replicated via publications (Amit Langote) |Previously, partitions had to be replicated individually. Now partitioned tables can be published explicitly causing all partitions to be automatically published. Addition/removal of partitions from partitioned tables are automatically added/removed from publications. The CREATE PUBLICATION option publish_via_partition_root controls whether changes to partitions are published as their own or their ancestor's. => "causing any future partitions to be automatically published". "addition/removal .. are automatically" isn't right |Implement incremental sorting (James Coleman, Alexander Korotkov, Tomas Vondra) |If a result is already sorted by several leading keys, this allows for batch sorting of additional trailing keys because the previous keys are already equal. This is controlled by enable_incremental_sort. s/several/one or more/ remove "additional" ? remove "batch" ? maybe "of ONLY trailing keys" |Allow inserts to trigger autovacuum activity (Laurenz Albe, Darafei Praliaskouski) |This new behavior reduces the work necessary when the table needs to be frozen and allows pages to be set as all-visible. All-visible pages allow index-only scans to access fewer heap rows. There's a lot of "allow" here, but it sounds like relaxing a restriction when actually this is a new functionality. Maybe: | Allow autovacuum to be triggered by INSERTs. | ..and allows autovacuum to set pages as all-visible. I already mentioned a couple things back in May that still stand out;: |Add jsonpath .datetime() method (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov) |This allows json values to be converted to timestamps, which can then be processed in jsonpath expressions. This also adds jsonpath functions that support time zone-aware output. timezone-aware or time-zone-aware, if you must. > Allow vacuum commands run by vacuumdb to operate in parallel mode (Masahiko Sawada) => I think this is still going to be lost/misunderstood/confuse some people. vacuumdb already supports -j. This allows it to run vacuum(parallel N). So maybe say "...to process indexes in parallel". -- Justin
Commits
-
Doc: improve release notes' info about FROM UNPACKAGED feature removal.
- d42c61764464 13.0 landed
-
Doc: fix misstatement in v13 release notes.
- 001d2c5f15bf 13.0 landed
-
Doc: some more v13 release note tweaking.
- 9892564121d4 13.0 landed
-
Doc: update v13 release notes through today, do a copy-editing pass.
- 3965de54e718 13.0 cited
-
Doc: fill in "major enhancements" list in v13 release notes.
- 3d92252d7d8b 13.0 landed
-
doc: PG 13 relnotes: fix typos
- b31d6efe3d06 13.0 landed
-
doc: PG 13 relnotes, update TOAST item to mention decompression
- fb544735f114 13.0 landed
-
pgbench: document that the default data loading is client-side
- c3d1fdb59891 13.0 landed
-
psql \d: Display table where trigger is defined, if inherited
- c33869cc3bfc 13.0 cited
-
Skip WAL for new relfilenodes, under wal_level=minimal.
- c6b92041d385 13.0 cited
-
Introduce vacuum errcontext to display additional information.
- b61d161c1463 13.0 cited
-
Fix lquery's behavior for consecutive '*' items.
- 9950c8aadf0e 13.0 cited
-
Improve the internal implementation of ereport().
- 17a28b03645e 13.0 cited
-
Add object names to partition integrity violations.
- 33753ac9d7bc 13.0 cited
-
Allow page lock to conflict among parallel group members.
- 3ba59ccc896e 13.0 cited
-
Allow relation extension lock to conflict among parallel group members.
- 85f6b49c2c53 13.0 cited
-
Introduce "anycompatible" family of polymorphic types.
- 24e2885ee304 13.0 cited
-
Improve checking of child pages in contrib/amcheck.
- d114cc538715 13.0 cited
-
doc: Add information about new SQL part SQL/MDA
- 33e27c3785c5 13.0 cited
-
Added relation name in error messages for constraint checks.
- 05f18c6b6b6e 13.0 cited
-
Avoid full scan of GIN indexes when possible
- 4b754d6c16e1 13.0 cited
-
Use carriage returns for data insertion logs in pgbench on terminal
- d37ddb745be0 13.0 cited
-
Use memcpy instead of a byte loop in pglz_decompress
- c60e520f6e0e 13.0 cited
-
Add backtrace support for error reporting
- 71a8a4f6e365 13.0 cited
-
Improve pruning of a default partition
- 86544071484a 12.0 cited
- 489247b0e615 13.0 cited
-
Improve psql's \d output for partitioned indexes.
- 24f62e93f314 13.0 cited
-
initdb: Change authentication defaults
- 09f08930f0f6 13.0 cited