PostgeSQL is a leading open-source SQL database server.
- Disallow changing an inherited column's type if not all parents changed
Tom Lane: If a table inherits from multiple unrelated parents, we must disallow changing the type of a column inherited from multiple such parents, else it would be out of step with the other parents.
- Apply constraint exclusion more generally in partitioning
Alvaro Herrera: We were applying constraint exclusion on the partition constraint when generating pruning steps for a clause, but only for the rather restricted situation of them being boolean OR operators; however it is possible to have differently shaped clauses that also benefit from constraint exclusion.
- Add safeguards in LSN, numeric and float calculation for custom errors
Michael Paquier: Those data types use parsing and/or calculation wrapper routines which can generate some generic error messages in the event of a failure.
- Add sort support routine for the inet data type
Peter Geoghegan: Add sort support for inet, including support for abbreviated keys.
- Add support for --jobs in reindexdb
Michael Paquier: When doing a schema-level or a database-level operation, a list of relations to build is created which gets processed in parallel using multiple connections, based on the recent refactoring for parallel slots in src/bin/scripts/.
- Tweak our special-case logic for the IANA "Factory" timezone
Tom Lane: pg_timezone_names() tries to avoid showing the "Factory" zone in the view, mainly because that has traditionally had a very long "abbreviation" such as "Local time zone must be set--see zic manual page", so that showing it messes up psql's formatting of the whole view.
- doc: Add support for xref to command and function elements
Peter Eisentraut: Discussion:
- Add CREATE DATABASE LOCALE option
Peter Eisentraut: This sets both LC_COLLATE and LC_CTYPE with one option.
- Install dependencies to prevent dropping partition key columns
Tom Lane: The logic in ATExecDropColumn that rejects dropping partition key columns is quite an inadequate defense, because it doesn't execute in cases where a column needs to be dropped due to cascade from something that only the column, not the whole partitioned table, depends on.
- Make better use of the new List implementation in a couple of places
David Rowley: In nodeAppend.c and nodeMergeAppend.c there were some foreach loops which looped over the list of subplans and only performed any work if the subplan index was found in a Bitmapset.