Re: PostgreSQL 18 GA press release draft
От | Álvaro Herrera |
---|---|
Тема | Re: PostgreSQL 18 GA press release draft |
Дата | |
Msg-id | 202509121846.xgt5moxcgoj6@alvherre.pgsql обсуждение исходный текст |
Ответ на | Re: PostgreSQL 18 GA press release draft ("Jonathan S. Katz" <jkatz@postgresql.org>) |
Список | pgsql-hackers |
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 togglebetween the AIO methods, including `worker` and `io_uring` (when built with PostgreSQL, available on certain Linuxsystems), or you can choose to maintain the current PostgreSQL behavior with the `sync` setting. There are now moreparameters 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 releaseintroduces "skip scan" lookups on [multicolumn B-tree indexes](https://www.postgresql.org/docs/18/indexes-multicolumn.html),which improves execution time for queries that omitan `=` 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 PostgreSQLplans and executes table joins, from boosting the performance of hash joins to allowing merge joins to use incrementalsorts. 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-treeand [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 indexesthat 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-insensitivecomparisons. Additionally, PostgreSQL 18 now supports making `LIKE` comparisons over text that uses a [nondeterministiccollation](https://www.postgresql.org/docs/18/collation.html#COLLATION-NONDETERMINISTIC), simplifying howyou 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 ofalways 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 touse 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 cancreate 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 preventstoring 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 checksumsenabled by default. This can affect upgrades from non-checksum enabled clusters, which would require you to createa 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)
В списке pgsql-hackers по дате отправления: