Hello,

Thanks for putting this together!  It's quite the monster.  I read
through and found the following points worth mentioning:

I think almost all of the non-stock section titles Are Lacking Case
Title.

> The new 
> [`io_method`](https://www.postgresql.org/docs/18/runtime-config-resource.html#GUC-IO-METHOD)
>  setting lets you toggle between the AIO methods, including `worker` and 
> `io_uring` (when built with PostgreSQL, available on certain Linux systems), 
> or you can choose to maintain the current PostgreSQL behavior with the `sync` 
> setting. There are now more parameters to consider tuning with AIO, which you 
> can [learn more about in the 
> documentation](https://www.postgresql.org/docs/18/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-IO).

I don't understand the "when built with PostgreSQL".  Did you mean to
reference something else here?

> PostgreSQL 18 further accelerates query performance with features that 
> automatically make your workloads faster. This release introduces "skip scan" 
> lookups on [multicolumn B-tree 
> indexes](https://www.postgresql.org/docs/18/indexes-multicolumn.html), which 
> improves execution time for queries that omit an `=` condition on one or more 
> prefix index columns. It can also optimize queries that use `OR` conditions 
> in a `WHERE` to use an index, leading to significantly faster execution. 
> There are also numerous improvements for how PostgreSQL plans and executes 
> table joins, from boosting the performance of hash joins to allowing merge 
> joins to use incremental sorts.

introduces "skip scan" lookups ..., which improve
(remove ending 's')

> PostgreSQL 18 now supports parallel builds for [GIN 
> indexes](https://www.postgresql.org/docs/18/gin.html), joining B-tree and 
> [BRIN indexes](https://www.postgresql.org/docs/current/brin.html) in 
> supporting this capability. Additionally, [materialized 
> views](https://www.postgresql.org/docs/18/rules-materializedviews.html) can 
> now use unique indexes that aren't B-trees as partition keys, expanding how 
> you can construct materialized views.

Materialized views can use non-btree indexes as partition keys?  Sounds
cool, but the linked-to matview page doesn't talk about partitioning at
all.  I think there's something wrong with the way this has been
written.  [trawls the release notes]  Hmm, the release notes have this
text:

   "Allow non-btree unique indexes to be used as partition keys and in
   materialized views"

I think the confusion stems from having missed the "and" there.

Actually I wonder if these two items (commits f278e1fe3 and 9d6db8bec)
are actually worthy of being in the press release.  They are about using
unique indexes that aren't btrees, but as I understand, in stock
Postgres there isn't any other way to build unique indexes, so this is
about allowing out-of-core index AMs to be used in these contexts.


> PostgreSQL 18 makes text processing easier and faster with several new 
> enhancements. This release adds the 
> [`PG_UNICODE_FAST`](https://www.postgresql.org/docs/18/locale.html#LOCALE-PROVIDERS),
>  which accelerates lookups using the `upper` and `lower` string comparison 
> functions, and helps speed up the new 
> [`casefold`](https://www.postgresql.org/docs/18/functions-string.html#FUNCTIONS-STRING-OTHER)
>  function for case-insensitive comparisons. Additionally, PostgreSQL 18 now 
> supports making `LIKE` comparisons over text that uses a [nondeterministic 
> collation](https://www.postgresql.org/docs/18/collation.html#COLLATION-NONDETERMINISTIC),
>  simplifying how you can perform more complex pattern matching. This release 
> also changes [full text 
> search](https://www.postgresql.org/docs/18/textsearch.html) to use the 
> default collation provider of a cluster instead of always using libc, which 
> may require you to reindex all [full text 
> search](https://www.postgresql.org/docs/18/textsearch-tables.html#TEXTSEARCH-TABLES-INDEX)
>  and [`pg_trgm`](https://www.postgresql.org/docs/18/pgtrgm.html#PGTRGM-INDEX) 
> indexes after running 
> [`pg_upgrade`](https://www.postgresql.org/docs/18/pgupgrade.html).

I think this should say "This release adds the PG_UNICODE_FAST local
provider", or something like that, because ending in just
"PG_UNICODE_FAST" seems to be unintelligible.

> ### Authentication and security features

In this section I would also mention that pgcrypto gained SHA-2 cipher
for passwords (commit 749a9e20c979).

> PostgreSQL 18 now supports reporting logical replication write conflicts in 
> logs and in the 
> [`pg_stat_subscription_stats`](https://www.postgresql.org/docs/18/monitoring-stats.html#MONITORING-PG-STAT-SUBSCRIPTION-STATS)
>  view. Additionally, [`CREATE 
> SUBSCRIPTION`](https://www.postgresql.org/docs/18/sql-createsubscription.html)
>  now defaults to use parallel streaming for applying transactions, which can 
> help improve performance. The 
> [`pg_createsubscriber`](https://www.postgresql.org/docs/18/app-pgcreatesubscriber.html)
>  now has an `--all` flag so you can create logical replicas for all databases 
> in an instance with a single command. PostgreSQL 18 also lets you 
> automatically [drop idle replication 
> slots](https://www.postgresql.org/docs/18/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT)
>  to help prevent storing too many write-ahead log files on a publisher.

My English grammar fails me here.  I would say "... now defaults to
using", but maybe your "now defaults to use" is correct.

"The pg_createsubscriber **utility**" ?

> Databases initialized with PostgreSQL 18 
> [`initdb`](https://www.postgresql.org/docs/18/app-initdb.html) now have page 
> checksums enabled by default. This can affect upgrades from non-checksum 
> enabled clusters, which would require you to create a new PostgreSQL 18 
> cluster with the `--no-data-checksums` option when using 
> [`pg_upgrade`](https://www.postgresql.org/docs/18/pgupgrade.html).

I'm not sure that the relnotes really need to explain how to use
pg_upgrade.  To me it seems enough to say that initdb now creates
checksum-enabled clusters by default.


Thanks!

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
"La fuerza no está en los medios físicos
sino que reside en una voluntad indomable" (Gandhi)


Reply via email to