PostgeSQL is a leading open-source SQL database server.
Other Activity This Week
- Allow pg_stat_statements to track planning statistics
Fujii Masao: This commit makes pg_stat_statements support new GUC pg_stat_statements.track_planning.
- Collect statistics about SLRU caches
Tomas Vondra: There's a number of SLRU caches used to access important data like clog, commit timestamps, multixact, asynchronous notifications, etc.
- Add support for binary I/O of ltree, lquery, and ltxtquery types
Tom Lane: Not much to say here --- does what it says on the tin.
- Check equality semantics for unique indexes on partitioned tables
Tom Lane: We require the partition key to be a subset of the set of columns being made unique, so that physically-separate indexes on the different partitions are sufficient to enforce the uniqueness constraint.
The existing code checked that the listed columns appear, but did not inquire into the index semantics, which is a serious oversight given that different index opclasses might enforce completely different notions of uniqueness.
Ideally, perhaps, we'd just match the partition key opfamily to the index opfamily.
- Correct CREATE INDEX documentation for opclass parameters
Alexander Korotkov: Old versions of opclass parameters patch supported ability to specify DEFAULT as the opclass name in CREATE INDEX command.
- Add -c/--restore-target-wal to pg_rewind
Michael Paquier: pg_rewind needs to copy from the source cluster to the target cluster a set of relation blocks changed from the previous checkpoint where WAL forked up to the end of WAL on the target.
- Add CREATE INDEX deduplication assertions
Peter Geoghegan: Add two assertions that verify the assumptions about posting list tuple space accounting and suffix truncation made within nbtsort.
- doc: clarify which table creation is used for inheritance part
Bruce Momjian: Previously people might assume that the partition syntax version of CREATE TABLE is to be used for the inheritance partition table example; mention that the non-partitioned version should be used.
- Fix lquery's NOT handling, and add ability to quantify non-'*' items
Tom Lane: The existing implementation of the ltree ~ lquery match operator is sufficiently complex and undocumented that it's hard to tell exactly what it does.
- Implement operator class parameters
Alexander Korotkov: PostgreSQL provides set of template index access methods, where opclasses have much freedom in the semantics of indexing.
- Introduce vacuum errcontext to display additional information
Amit Kapila: The additional information displayed will be block number for error occurring while processing heap and index name for error occurring while processing the index.
This will help us in diagnosing the problems that occur during a vacuum.
- Document color support
Peter Eisentraut: Add a documentation appendix that explains the PG_COLOR and PG_COLORS environment variables.
Most Popular In The Past Month
- Support adding partitioned tables to publication
Peter Eisentraut: When a partitioned table is added to a publication, changes of all of its partitions (current or future) are published via that publication.
This change only affects which tables a publication considers as its members.
- Disk-based Hash Aggregation
Jeff Davis: While performing hash aggregation, track memory usage when adding new groups to a hash table.
- Implement type regcollation
Peter Eisentraut: This will be helpful for a following commit and it's also just generally useful, like the other reg* types.
- Add tg_updatedcols to TriggerData
Peter Eisentraut: This allows a trigger function to determine for an UPDATE trigger which columns were actually updated.
- Allow ALTER TYPE to change some properties of a base type
Tom Lane: Specifically, this patch allows ALTER TYPE to:
- Change the default TOAST strategy for a toastable base type;
- Promote a non-toastable type to toastable;
- Add/remove binary I/O functions for a type;
- Add/remove typmod I/O functions for a type;
- Add/remove a custom ANALYZE statistics functions for a type.
The first of these can be done by the type's owner; all the others require superuser privilege since misuse could cause problems.
The main motivation for this patch is to allow extensions to upgrade the feature sets of their data types, so the set of alterable properties is biased towards that use-case.
- Show opclass and opfamily related information in psql
Alexander Korotkov: This commit provides psql commands for listing operator classes, operator families and its contents in psql.
- Remove HAVE_WORKING_LINK
Peter Eisentraut: Previously, hard links were not used on Windows and Cygwin, but they support them just fine in currently supported OS versions, so we can use them there as well.
- Add pg_dump support for ALTER obj DEPENDS ON EXTENSION
Alvaro Herrera: pg_dump is oblivious to this kind of dependency, so they're lost on dump/restores (and pg_upgrade).
- Preserve integer and float values accurately in (de)serialize_deflist
Tom Lane: Previously, this code just smashed all types of DefElem values to strings, cavalierly reasoning that nobody would care.
- Use multi-variate MCV lists to estimate ScalarArrayOpExpr
Tomas Vondra: Commit 8f321bd16c added support for estimating ScalarArrayOpExpr clauses (IN/ANY) clauses using functional dependencies.