PostgeSQL is a leading open-source SQL database server.
- Make an editorial pass over the 9.4 release notes
Tom Lane: Update the notes to include commits through today, and do a lot of wordsmithing and markup adjustment.
- Add opr_sanity queries to inspect commutator/negator links more closely
Tom Lane: Make lists of the names of all operators that are claimed to be commutator pairs or negator pairs.
- pg_upgrade: prevent oid conflicts with new-cluster TOAST tables
Bruce Momjian: Previously, TOAST tables only required in the new cluster could cause oid conflicts if they were auto-numbered and a later conflicting oid had to be assigned.
- pgbench: Allow \setrandom to generate Gaussian/exponential distributions
Robert Haas: Mitsumasa KONDO and Fabien COELHO, with further wordsmithing by me.
- Release notes for 9.3.5, 9.2.9, 9.1.14, 9.0.18, 8.4.22.
- Defend against bad relfrozenxid/relminmxid/datfrozenxid/datminmxid values
Tom Lane: In commit a61daa14d56867e90dc011bbba52ef771cea6770, we fixed pg_upgrade so that it would install sane relminmxid and datminmxid values, but that does not cure the problem for installations that were already pg_upgraded to 9.3; they'll initially have "1" in those fields.
- First-draft release notes for 9.3.5.
Tom Lane: As usual, the release notes for older branches will be made by cutting these down, but put them up for community review first.
Note: a few of these items actually don't apply to 9.3, but only to older branches.
- Add option to pg_ctl to choose event source for logging
Magnus Hagander: pg_ctl will log to the Windows event log when it is running as a service, which is the primary way of running PostgreSQL on Windows.
- Allow join removal in some cases involving a left join to a subquery
Tom Lane: We can remove a left join to a relation if the relation's output is provably distinct for the columns involved in the join clause (considering only equijoin clauses) and the relation supplies no variables needed above the join.
- pg_basebackup: Add more information about --max-rate option to help output
Peter Eisentraut: It was previously not clear what unit the option argument should have.
Most Popular This Year
- Improve performance of numeric sum(), avg(), stddev(), variance(), etc
Tom Lane: This patch improves performance of most built-in aggregates that formerly used a NUMERIC or NUMERIC array as their transition type; this includes not only aggregates on numeric inputs, but some aggregates on integer inputs where overflow of an int8 value is a possibility.
- Extend cube on-disk format to pack points more tightly
Heikki Linnakangas: If the lower left and upper right corners of a cube are the same, set a flag in the cube header, and only store one copy of the coordinates.
- Introduce logical decoding
Robert Haas: This feature, building on previous commits, allows the write-ahead log stream to be decoded into a series of logical changes; that is, inserts, updates, and deletes and the transactions which contain them.
- Remove IRIX port
Robert Haas: Development of IRIX has been discontinued, and support is scheduled to end in December of 2013.
- Rework SSL renegotiation code
Alvaro Herrera: The existing renegotiation code was home for several bugs: it might erroneously report that renegotiation had failed; it might try to execute another renegotiation while the previous one was pending; it failed to terminate the connection if the renegotiation never actually took place; if a renegotiation was started, the byte count was reset, even if the renegotiation wasn't completed (this isn't good from a security perspective because it means continuing to use a session that should be considered compromised due to volume of data transferred.)
The new code is structured to avoid these pitfalls: renegotiation is started a little earlier than the limit has expired; the handshake sequence is retried until it has actually returned successfully, and no more than that, but if it fails too many times, the connection is closed.
- pg_dump et al: Add --if-exists option
Alvaro Herrera: This option makes pg_dump, pg_dumpall and pg_restore inject an IF EXISTS clause to each DROP command they emit.
- Allow using huge TLB pages on Linux (MAP_HUGETLB)
Heikki Linnakangas: This patch adds an option, huge_tlb_pages, which allows requesting the shared memory segment to be allocated using huge pages, by using the MAP_HUGETLB flag in mmap().
- Add a GUC to report whether data page checksums are enabled
- Update release notes for 9.3.2, 9.2.6, 9.1.11, 9.0.15, 8.4.19.
- Release notes for 9.3.4, 9.2.8, 9.1.13, 9.0.17, 8.4.21.