Re: PostgreSQL 12 Beta 1 press release draft

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: PostgreSQL 12 Beta 1 press release draft
Дата
Msg-id 20190522194438.v5jas2czczld2bcu@alap3.anarazel.de
обсуждение исходный текст
Ответ на PostgreSQL 12 Beta 1 press release draft  ("Jonathan S. Katz" <jkatz@postgresql.org>)
Список pgsql-hackers
Hi,

> ### Indexing Performance, Functionality, and Management
> 
> PostgreSQL 12 improves the overall performance of the standard B-tree indexes
> with improvements to the overall space management of these indexes as well.
> These improvements also provide an overall reduction of bloating when using
> B-tree for specific use cases, in addition to a performance gain.

I'm not sure everyone will understand bloating as a term? Perhaps just
saying 'also reduce index size when the index is modified frequently' or
such?



> ### Inlined WITH queries (Common table expressions)
> 
> Common table expressions (aka `WITH` queries) can now be automatically inlined
> in a query if they are a) not recursive, b) do not have any side-effects and
> c) are only referenced once in a later part of a query. These removes a known
> "optimization fence" that has existed since the introduction of the `WITH`
> clause in PostgreSQL 8.4
> 
> You can force a `WITH` query to be inlined using the `NOT MATERIALIZED` clause,
> e.g.
> 
> ```
> WITH c AS NOT MATERIALIZED (
>     SELECT * FROM a WHERE a.x % 4
> )
> SELECT * FROM c JOIN d ON d.y = a.x;
> ```

Wouldn't it be more important to reference how they can be *forced* to
be materialized? Because that'll be what users will need. And I think if
we reference NOT MATERIALIZED it also sounds like CTEs will not
automatically inlined ever.


> ### Pluggable Table Storage Interface
> 
> PostgreSQL 12 introduces the pluggable table storage interface that allows for
> the creation and use of different storage mechanisms for table storage. New
> access methods can be added to a PostgreSQL cluster using the  [`CREATE ACCESS
METHOD`](https://www.postgresql.org/docs/devel/sql-create-access-method.html)
> and subsequently added to tables with the new `USING` clause on `CREATE TABLE`.
> 
> A table storage interface can be defined by creating a new [table access
method](https://www.postgresql.org/docs/devel/tableam.html).
> 
> In PostgreSQL 12, the storage interface that is used by default is the `heap`
> access method, which is currently the only supported method.

I think s/which is currently the only supported method/which currently
is the only built-in method/ or such would be good. I don't know what
"supported" would actually mean here.


> ### Authentication
> 
> GSSAPI now supports client and server-side encryption and can be specified in
> the [`pg_hba.conf`](https://www.postgresql.org/docs/devel/auth-pg-hba-conf.html)
> file using the `hostgssenc` and `hostnogssenc` record types. PostgreSQL 12 also
> allows for LDAP servers to be discovered based on `DNS SRV` records if
> PostgreSQL was compiled with OpenLDAP.

Is this really accurately categorized under authentication? Because it's
really ongoing encryption, as an alternative to tls?


> Noted Behavior Changes
> ----------------------
> 
> There are several changes introduced in PostgreSQL 12 that can affect the
> behavior as well as management of your ongoing operations. A few of these are
> noted below; for information about other changes, please review the
> "Migrating to Version 12" section of the [release notes](https://www.postgresql.org/docs/devel/release-12.html).
> 
> 1. The `recovery.conf` configuration file is now merged into the main
> `postgresql.conf` file. PostgreSQL will not start if it detects that
> `recovery.conf` is present. To put PostgreSQL into a non-primary mode, you can
> use the `recovery.signal` and the `standby.signal` files.
> 
> You can read more about [archive
recovery](https://www.postgresql.org/docs/devel/runtime-config-wal.html#RUNTIME-CONFIG-WAL-ARCHIVE-RECOVERY)here:
 
> 
> https://www.postgresql.org/docs/devel/runtime-config-wal.html#RUNTIME-CONFIG-WAL-ARCHIVE-RECOVERY
> 
> 2. Just-in-Time (JIT) compilation is now enabled by default.

I think we should probably list the removal of WITH OIDs.


Greetings,

Andres Freund



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: pgindent run next week?
Следующее
От: Donald Dong
Дата:
Сообщение: Re: Why could GEQO produce plans with lower costs than thestandard_join_search?