PostgreSQL is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness.
It is fully ACID compliant, has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages). It includes most SQL:2008 data types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP.
Fix processing of partition keys containing multiple expressions.
Ensure that all temporary files made by pg_upgrade are non-world-readable.
Fix vacuuming of tuples that were updated while key-share locked.
Fix failure to mark a hash index's metapage dirty after adding a new overflow page, potentially leading to index corruption.
Ensure that vacuum will always clean up the pending-insertions list of a GIN index.
Fix inadequate buffer locking in some LSN fetches.
Fix incorrect query results from cases involving flattening of subqueries whose outputs are used in GROUPING SETS.
Fix handling of list partitioning constraints for partition keys of boolean or array types.
Avoid unnecessary failure in a query on an inheritance tree that occurs concurrently with some child table being removed from the tree by ALTER TABLE NO INHERIT.
Fix spurious deadlock failures when multiple sessions are running CREATE INDEX CONCURRENTLY.
During VACUUM FULL, update the table's size fields in pg_class sooner.
Fix UNION/INTERSECT/EXCEPT over zero columns.
Disallow identity columns on typed tables and partitions.
Fix assorted failures to apply the correct default value when inserting into an identity column.
Fix failures when an inheritance tree contains foreign child tables.
Repair failure with correlated sub-SELECT inside VALUES inside a LATERAL subquery.
Fix “could not devise a query plan for the given query” planner failure for some cases involving nested UNION ALL inside a lateral subquery.
Allow functional dependency statistics to be used for boolean columns.
Avoid underestimating the number of groups emitted by subqueries containing set-returning functions in their grouping columns.
Fix use of triggers in logical replication workers.
Fix logical decoding to correctly clean up disk files for crashed transactions.
Fix walsender timeout failure and failure to respond to interrupts when processing a large transaction.
Fix race condition during replication origin drop that could allow the dropping process to wait indefinitely.
Allow members of the pg_read_all_stats role to see walsender statistics in the pg_stat_replication view.
Show walsenders that are sending base backups as active in the pg_stat_activity view.
Fix reporting of scram-sha-256 authentication method in the pg_hba_file_rules view.
Fix has_sequence_privilege() to support WITH GRANT OPTION tests, as other privilege-testing functions do.
In databases using UTF8 encoding, ignore any XML declaration that asserts a different encoding.
Provide for forward compatibility with future minor protocol versions.
Allow a client that supports SCRAM channel binding (such as v11 or later libpq) to connect to a v10 server.
Avoid live-lock in ConditionVariableBroadcast().
Clean up waits for condition variables correctly during subtransaction abort.
Ensure that child processes that are waiting for a condition variable will exit promptly if the postmaster process dies.
Fix crashes in parallel queries using more than one Gather node.
Fix hang in parallel index scan when processing a deleted or half-dead index page.
Avoid crash if parallel bitmap heap scan is unable to allocate a shared memory segment.
Cope with failure to start a parallel worker process.
Avoid unnecessary failure when no parallel workers can be obtained during parallel query startup.
Fix collection of EXPLAIN statistics from parallel workers.
Ensure that query strings passed to parallel workers are correctly null-terminated.
Avoid unsafe alignment assumptions when working with __int128.
Prevent stack-overflow crashes when planning extremely deeply nested set operations (UNION/INTERSECT/EXCEPT).
Avoid crash during an EvalPlanQual recheck of an indexscan that is the inner child of a merge join.
Fix crash in autovacuum when extended statistics are defined for a table but can't be computed.
Fix null-pointer crashes for some types of LDAP URLs appearing in pg_hba.conf.
Prevent out-of-memory failures due to excessive growth of simple hash tables.
Fix sample INSTR() functions in the PL/pgSQL documentation.
Fix pg_dump to make ACL (permissions), comment, and security label entries reliably identifiable in archive output formats.
Rename pg_rewind's copy_file_range function to avoid conflict with new Linux system call of that name.
In ecpg, detect indicator arrays that do not have the correct length and report an error.
Change the behavior of contrib/cube's cube ~> int operator to make it compatible with KNN search.
Avoid triggering a libc assertion in contrib/hstore, due to use of memcpy() with equal source and destination pointers.
Fix incorrect display of tuples' null bitmaps in contrib/pageinspect.
Fix incorrect output from contrib/pageinspect's hash_page_items() function.
In contrib/postgres_fdw, avoid “outer pathkeys do not match mergeclauses” planner error when constructing a plan involving a remote join.
In contrib/postgres_fdw, avoid planner failure when there are duplicate GROUP BY entries.
Provide modern examples of how to auto-start Postgres on macOS.
Fix incorrect selection of configuration-specific libraries for OpenSSL on Windows.
Support linking to MinGW-built versions of libperl.
Fix MSVC build to test whether 32-bit libperl needs -D_USE_32BIT_TIME_T.
On Windows, install the crash dump handler earlier in postmaster startup.
On Windows, avoid encoding-conversion-related crashes when emitting messages very early in postmaster startup.
Use our existing Motorola 68K spinlock code on OpenBSD as well as NetBSD.
Add support for spinlocks on Motorola 88K.
Update time zone data files to tzdata release 2018c for DST law changes in Brazil, Sao Tome and Principe, plus historical corrections for Bolivia, Japan, and South Sudan. The US/Pacific-New zone has been removed (it was only an alias for America/Los_Angeles anyway).