PostgeSQL is a leading open-source SQL database server.
- Limit the verbosity of memory context statistics dumps
Tom Lane: We had a report from Stefan Kaltenbrunner of a case in which postmaster log files overran available disk space because multiple backends spewed enormous context stats dumps upon hitting an out-of-memory condition.
- In AlterRole, make bypassrls an int
Stephen Frost: When reworking bypassrls in AlterRole to operate the same way the other attribute handling is done, I missed that the variable was incorrectly a bool rather than an int.
- Encoding PG_UHC is code page 949.
Noah Misch: This fixes presentation of non-ASCII messages to the Windows event log and console in rare cases involving Korean locale.
- Close some holes in BRIN page assignment
Alvaro Herrera: In some corner cases, it is possible for the BRIN index relation to be extended by brin_getinsertbuffer but the new page not be used immediately for anything by its callers; when this happens, the page is initialized and the FSM is updated (by brin_getinsertbuffer) with the info about that page, but these actions are not WAL-logged.
- Add confirmed_flush column to pg_replication_slots
Andres Freund: There's no reason not to expose both restart_lsn and confirmed_flush since they have rather distinct meanings.
- 9.5 release notes: add non-LEAKPROOF view pushdown mention
Bruce Momjian: Report by Dean Rasheed
- Further fixes for degenerate outer join clauses
Tom Lane: Further testing revealed that commit f69b4b9495269cc4 was still a few bricks shy of a load: minor tweaking of the previous test cases resulted in the same wrong-outer-join-order problem coming back.
- Fix output of ISBN-13 numbers beginning with 979.
Heikki Linnakangas: An EAN beginning with 979 (but not 9790 - those are ISMN's) are accepted as ISBN numbers, but they cannot be represented in the old, 10-digit ISBN format.
- Add IF NOT EXISTS processing to ALTER TABLE ADD COLUMN
Andrew Dunstan: Fabrízio de Royes Mello, reviewed by Payal Singh, Alvaro Herrera and Michael Paquier.
- pg_basebackup: Add --slot option
Peter Eisentraut: This option specifies a replication slot for WAL streaming (-X stream), so that there can be continuous replication slot use between WAL streaming during the base backup and the start of regular streaming replication.
Most Popular This Year
- Update time zone data files to tzdata release 2014h
Tom Lane: Most zones in the Russian Federation are subtracting one or two hours as of 2014-10-26.
- Add width_bucket(anyelement, anyarray).
Tom Lane: This provides a convenient method of classifying input values into buckets that are not necessarily equal-width.
- Implement SKIP LOCKED for row-level locks
Alvaro Herrera: This clause changes the behavior of SELECT locking clauses in the presence of locked rows: instead of causing a process to block waiting for the locks held by other processes (or raise an error, with NOWAIT), SKIP LOCKED makes the new reader skip over such rows.
- Avoid corrupting tables when ANALYZE inside a transaction is rolled back
Tom Lane: VACUUM and ANALYZE update the target table's pg_class row in-place, that is nontransactionally.
- Remove support for 64-bit CRC.
Heikki Linnakangas: It hasn't been used for anything for a long time.
- Support timezone abbreviations that sometimes change
Tom Lane: Up to now, PG has assumed that any given timezone abbreviation (such as "EDT") represents a constant GMT offset in the usage of any particular region; we had a way to configure what that offset was, but not for it to be changeable over time.
- Release notes for 9.4.1, 9.3.6, 9.2.10, 9.1.15, 9.0.19.
- Keep track of transaction commit timestamps
Alvaro Herrera: Transactions can now set their commit timestamp directly as they commit, or an external transaction commit timestamp can be fed from an outside system using the new function TransactionTreeSetCommitTsData().
- Remove pg_audit
Stephen Frost: This removes pg_audit, per discussion:
- Add SQL-callable pg_get_object_address
Alvaro Herrera: This allows access to get_object_address from SQL, which is useful to obtain OID addressing information from data equivalent to that emitted by the parser.