Re: 9.4 release notes

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: 9.4 release notes
Date: 2014-05-04 13:49:27
Message-ID: 20140504134927.GP12715@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2014-05-04 08:46:07 -0400, Bruce Momjian wrote:
> Feedback expected and welcomed. I expect to be modifying this until we
> release 9.4 final. I have marked items where I need help with question
> marks.

Thanks for doing that work. Some comments inline:

+ <listitem>
+ <para>
+ Remove system column pg_class.reltoastidxid (Michael Paquier)
+ </para>
+
+ <para>
+ Instead use normal index access methods.
+ </para>
+ </listitem>

The explanation doesn't seem helpful to me. I'd just remove it as the
full explanation seems to be to complex and not actually interesting.

+ <sect3>
+ <title>Server</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Have VACUUM properly report dead but not removable rows to the statistics collector (Hari Babu)
+ </para>
+
+ <para>
+ Previously these were reported as live rows.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve SSL renegotiation handling (&Aacute;lvaro Herrera)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ During immediate shutdown, send uncatchable termination signals to child processes that have not already shutdown (MauMau,
+ &Aacute;lvaro Herrera)
+ </para>
+
+ <para>
+ This reduces the likelihood of orphaned child processes after postmaster shutdown.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve randomness of the database system identifier (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Allow background workers to be dynamically started and terminated (Robert Haas)
+ </para>

This is much more important than the previous features imo. Also, I'd
add the word "registered" in the above list.

+ <listitem>
+ <para>
+ Allow dynamic allocation of shared memory segments (Robert Haas, Amit Kapila)
+ </para>
+ </listitem>

Should also be earlier in the list.

+ <listitem>
+ <para>
+ Freeze tuples when tables are written with CLUSTER or VACUUM FULL (Robert Haas, Andres Freund)
+ </para>
+
+ <para>
+ This avoids later freezing overhead.
+ </para>
+ </listitem>

This sentence seems a bit awkward to me. Maybe "This avoids the need to
freeze tuples at some later point in time."

+ <listitem>
+ <para>
+ Improve speed of accessing many sequence values (David Rowley)
+ </para>
+ </listitem>

I think this description isn't accurate. Isn't it something like
"Improve speed of accesessing many different sequences in the same backend."

+ <listitem>
+ <para>
+ Use memory barriers to avoid some spinlock use (Heikki Linnakangas)
+ </para>
+ </listitem>

This is about 1a3d104475ce01326fc00601ed66ac4d658e37e5? If so I'd put it
as: "Reduce spinlock contention during WAL replay." or similar.

This imo deserves to be further up this list as this is one of the
biggest bottlenecks in HS node performance.

+ <listitem>
+ <para>
+ Add huge_pages configuration parameter to attempt to use huge translation look-aside buffer (TLB) pages on Linux (Christian Kruse,
+ Richard Poole, Abhijit Menon-Sen)
+ </para>

I think this is too detailed - how about: "... to use huge pages ..."?

+ <para>
+ This can improve performance on large memory systems.
+ </para>
+ </listitem>

Should this be in the performance section?

+ <listitem>
+ <para>
+ Add configuration variable data_checksums to report whether data page checksums are enabled (Bernd Helmle)
+ </para>
+ </listitem>

Since this has been backpatched since it should probably be removed.

+ <listitem>
+ <para>
+ Use the last specified recovery_target if multiple are specified (Heikki Linnakangas)
+ </para>
+ </listitem>

This might want an entry in the compatibility section.

+ <listitem>
+ <para>
+ Add replication slots to report the WAL activity on streaming standbys (Andres Freund, Robert Haas)
+ </para>
+
+ <para>
+ Description? Logical only?
+ </para>
+ </listitem>

No, it's not logical only. How about:
'Replication slots allow to reserve resources like WAL on the primary
that are needed by standby servers."

+ <listitem>
+ <para>
+ Improve return codes from external recovery commands (Peter Eisentraut)
+ </para>
+ </listitem>

This doesn't seem to be very descriptive. s/improve/report/?

+ <listitem>
+ <para>
+ Write WAL records of running transactions every 15 seconds ? (Andres Freund)
+ </para>
+ </listitem>

"Write WAL records about running transactions more frequently."

"This allows standby servers to startup faster and to cleanup resources
more aggressively."

+ </itemizedlist>
+
+ <sect4>
+ <title>Logical Change-Set Encoding</title>

s/Encoding/Extraction/

This probably deserves one entry about the new feature instead of
separate entries about individually commited parts.

REPLICA IDENTITY should probably documented separately. Other solutions
can use it as well.

+ <listitem>
+ <para>
+ Allow security barrier views automatically updateable (Dean Rasheed)
+ </para>

*to be?

+ <listitem>
+ <para>
+ Add functions pg_filenode_relation() and pg_relation_filepath() to do relation/relfilenode conversions (Andres Freund)
+ </para>

pg_relation_filepath() isn't new. I think this should be something like:
"Add function pg_filenode_relation() to allow for more efficient
filenode to relation lookup."

+ <para>
+ These use a new pg_class index to speed lookups.
+ </para>
+ </listitem>

Don't think that's interesting for the release notes.

+ <listitem>
+ <para>
+ Have \d display disabled system triggers (Bruce Momjian)
+ </para>
+
+ <para>
+ Previously if you disabled all triggers, only user triggers would show as disabled.
+ </para>
+ </listitem>

Maybe mention that this could lead to broken foreign key checks after an
ALTER TABLE .. DISABLE TRIGGERS?.

+ <sect3>
+ <title>Source Code</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Improve the way tuples are frozen, to preserve forensic information ((Robert Haas, Andres Freund)
+ </para>
+
+ <para>
+ Code that inspects tuple flag bits will need to be modified
+ </para>
+ </listitem>

Not sure if that's just a source code level change.

+ <listitem>
+ <para>
+ Remove SnapshotNow and HeapTupleSatisfiesNow (Robert Haas)
+ </para>
+
+ <para>
+ All existing uses have been switched to more appropriate snapshot types.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Use an MVCC snapshot (rather than SnapshotNow) for catalog scans (Robert Haas)
+ </para>
+ </listitem>

I wonder if those two shouldn't be one entry.

+ <listitem>
+ <para>
+ Use printf() modifier "z" to specify size_t values (Andres Freund)
+ </para>
+ </listitem>

s/Use/Add infrastructure to allow to use the %x printf modifier .../

+ <listitem>
+ <para>
+ Memory barrier changes?
+ </para>
+ </listitem>

Not sure what that refers to?

+ <listitem>
+ <para>
+ Remove spinlock support for unsupported platforms SINIX, Sun3, and NS32K (Robert Haas)
+ </para>
+ </listitem>

I'd put it as "Remove leftover code for the unsupported
... platforms.".

+ <listitem>
+ <para>
+ Rewrite duplicate_oids Unix hell script in Perl (Andrew Dunstan)
+ </para>
+ </listitem>

Heh. s/hell/shell/

+ <listitem>
+ <para>
+ Remove IRIX port (Robert Haas)
+ </para>
+ </listitem>

Should probably be next to the unsupported platforms list.

+ <listitem>
+ <para>
+ Have pg_stat_statements use a flat file for query text storage, allowing higher limits (Peter Geoghegan)
+ </para>
+
+ <para>
+ Also add the ability to retrieve all pg_stat_statements information except the query text. This allows programs to reuse the query
+ text already retrieved by referencing queryid.
+ </para>
+ </listitem>

This isn't an optional thing, is it?

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Petr Jelinek 2014-05-04 13:57:33 Re: bgworker crashed or not?
Previous Message Stephen Frost 2014-05-04 12:58:33 Re: pgaudit - an auditing extension for PostgreSQL