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.
Further restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options.
Disallow empty passwords in all password-based authentication methods.
Make lo_put() check for UPDATE privilege on the target large object.
Correct the documentation about the process for upgrading standby servers with pg_upgrade.
Fix concurrent locking of tuple update chains.
Fix potential data corruption when freezing a tuple whose XMAX is a multixact with exactly one still-interesting member.
Avoid integer overflow and ensuing crash when sorting more than one billion tuples in-memory.
On Windows, retry process creation if we fail to reserve the address range for our shared memory in the new process.
Fix low-probability corruption of shared predicate-lock hash table in Windows builds.
Avoid logging clean closure of an SSL connection as though it were a connection reset.
Prevent sending SSL session tickets to clients.
Fix code for setting tcp_keepalives_idle on Solaris.
Fix statistics collector to honor inquiry messages issued just after a postmaster shutdown and immediate restart.
Ensure that the statistics collector's receive buffer size is at least 100KB.
Fix possible creation of an invalid WAL segment when a standby is promoted just after it processes an XLOG_SWITCH WAL record.
Fix walsender to exit promptly when client requests shutdown.
Fix SIGHUP and SIGUSR1 handling in walsender processes.
Prevent walsender-triggered panics during shutdown checkpoints.
Fix unnecessarily slow restarts of walreceiver processes due to race condition in postmaster.
Fix leakage of small subtransactions spilled to disk during logical decoding.
Reduce the work needed to build snapshots during creation of logical-decoding slots.
Fix race condition that could indefinitely delay creation of logical-decoding slots.
Reduce overhead in processing syscache invalidation events.
Remove incorrect heuristic used in some cases to estimate join selectivity based on the presence of foreign-key constraints.
Fix cases where an INSERT or UPDATE assigns to more than one element of a column that is of domain-over-array type.
Allow window functions to be used in sub-SELECTs that are within the arguments of an aggregate function.
Ensure that a view's CHECK OPTIONS clause is enforced properly when the underlying table is a foreign table.
Move autogenerated array types out of the way during ALTER ... RENAME.
Fix dangling pointer in ALTER TABLE when there is a comment on a constraint belonging to the table.
Ensure that ALTER USER ... SET accepts all the syntax variants that ALTER ROLE ... SET does.
Allow a foreign table's CHECK constraints to be initially NOT VALID.
Properly update dependency info when changing a datatype I/O function's argument or return type from opaque to the correct type.
Allow parallelism in the query plan when COPY copies from a query's result.
Reduce memory usage when ANALYZE processes a tsvector column.
Fix unnecessary precision loss and sloppy rounding when multiplying or dividing money values by integers or floats.
Tighten checks for whitespace in functions that parse identifiers, such as regprocedurein().
Use relevant #define symbols from Perl while compiling PL/Perl.
In libpq, reset GSS/SASL and SSPI authentication state properly after a failed connection attempt.
In psql, fix failure when COPY FROM STDIN is ended with a keyboard EOF signal and then another COPY FROM STDIN is attempted.
Fix pg_dump and pg_restore to emit REFRESH MATERIALIZED VIEW commands last.
Improve pg_dump/pg_restore's reporting of error conditions originating in zlib.
Fix pg_dump with the --clean option to drop event triggers as expected.
Fix pg_dump with the --clean option to not fail when the public schema doesn't exist.
Fix pg_dump to not emit invalid SQL for an empty operator class.
Fix pg_dump output to stdout on Windows.
Fix pg_get_ruledef() to print correct output for the ON SELECT rule of a view whose columns have been renamed.
Fix dumping of outer joins with empty constraints, such as the result of a NATURAL LEFT JOIN with no common columns.
Fix dumping of function expressions in the FROM clause in cases where the expression does not deparse into something that looks like a function call.
Fix pg_basebackup output to stdout on Windows.
Fix pg_rewind to correctly handle files exceeding 2GB.
Fix pg_upgrade to ensure that the ending WAL record does not have wal_level = minimum.
Fix pg_xlogdump's computation of WAL record length.
In postgres_fdw, re-establish connections to remote servers after ALTER SERVER or ALTER USER MAPPING commands.
In postgres_fdw, allow cancellation of remote transaction control commands.
Increase MAX_SYSCACHE_CALLBACKS to provide more room for extensions.
Always use -fPIC, not -fpic, when building shared libraries with gcc.
In MSVC builds, handle the case where the openssl library is not within a VC subdirectory.
In MSVC builds, add proper include path for libxml2 header files.
In MSVC builds, recognize a Tcl library that is named tcl86.lib.
In MSVC builds, honor PROVE_FLAGS settings on vcregress.pl's command line.