PostgreSQL 9.5.2
更新細節:
# Changes
* Disable abbreviated keys for string sorting in non-C locales
- PostgreSQL 9.5 introduced logic for speeding up comparisons of string data types by using the standard C library function strxfrm() as a substitute for strcoll(). It now emerges that most versions of glibc (Linux's implementation of the C library) have buggy implementations of strxfrm() that, in some locales, can produce string comparison results that do not match strcoll(). Until this problem can be better characterized, disable the optimization in all non-C locales. (C locale is safe since it uses neither strcoll() nor strxfrm().) Unfortunately, this problem affects not only sorting but also entry ordering in B-tree indexes, which means that B-tree indexes on text, varchar, or char columns may now be corrupt if they sort according to an affected locale and were built or modified under PostgreSQL 9.5.0 or 9.5.1. Users should REINDEX indexes that might be affected. It is not possible at this time to give an exhaustive list of known-affected locales. C locale is known safe, and there is no evidence of trouble in English-based locales such as en_US, but some other popular locales such as de_DE are affected in most glibc versions.
* Maintain row-security status properly in cached plans
- In a session that performs queries as more than one role, the plan cache might incorrectly re-use a plan that was generated for another role ID, thus possibly applying the wrong set of policies when row-level security (RLS) is in use. (CVE-2016-2193)
* Add must-be-superuser checks to some new contrib/pageinspect functions
- Most functions in the pageinspect extension that inspect bytea values disallow calls by non-superusers, but brin_page_type() and brin_metapage_info() failed to do so. Passing contrived bytea values to them might crash the server or disclose a few bytes of server memory. Add the missing permissions checks to prevent misuse. (CVE-2016-3065)
* Fix incorrect handling of indexed ROW() comparisons
- Flaws in a minor optimization introduced in 9.5 caused incorrect results if the ROW() comparison matches the index ordering partially but not exactly (for example, differing column order, or the index contains both ASC and DESC columns). Pending a better solution, the optimization has been removed.
* Fix incorrect handling of NULL index entries in indexed ROW() comparisons
- An index search using a row comparison such as ROW(a, b) > ROW('x', 'y') would stop upon reaching a NULL entry in the b column, ignoring the fact that there might be non-NULL b values associated with later values of a.
* Avoid unlikely data-loss scenarios due to renaming files without adequate fsync() calls before and after
* Fix incorrect behavior when rechecking a just-modified row in a query that does SELECT FOR UPDATE/SHARE and contains some relations that need not be locked
- Rows from non-locked relations were incorrectly treated as containing all NULLs during the recheck, which could result in incorrectly deciding that the updated row no longer passes the WHERE condition, or in incorrectly outputting NULLs.
* Fix bug in json_to_record() when a field of its input object contains a sub-object with a field name matching one of the requested output column names
* Fix nonsense result from two-argument form of jsonb_object() when called with empty arrays
* Fix misbehavior in jsonb_set() when converting a path array element into an integer for use as an array subscript
* Fix misformatting of negative time zone offsets by to_char()'s OF format code
* Fix possible incorrect logging of waits done by INSERT ... ON CONFLICT
- Log messages would sometimes claim that the wait was due to an exclusion constraint although no such constraint was responsible.
* Ignore recovery_min_apply_delay parameter until recovery has reached a consistent state
- Previously, standby servers would delay application of WAL records in response to recovery_min_apply_delay even while replaying the initial portion of WAL needed to make their database state valid. Since the standby is useless until it's reached a consistent database state, this was deemed unhelpful.
* Correctly handle cases where pg_subtrans is close to XID wraparound during server startup
* Fix assorted bugs in logical decoding (Andres Freund)
- Trouble cases included tuples larger than one page when replica identity is FULL, UPDATEs that change a primary key within a transaction large enough to be spooled to disk, incorrect reports of "subxact logged without previous toplevel record", and incorrect reporting of a transaction's commit time.
* Fix planner error with nested security barrier views when the outer view has a WHERE clause containing a correlated subquery
* Fix memory leak in GIN index searches
* Fix corner-case crash due to trying to free localeconv() output strings more than once
* Fix parsing of affix files for ispell dictionaries
- The code could go wrong if the affix file contained any characters whose byte length changes during case-folding, for example I in Turkish UTF8 locales.
* Avoid use of sscanf() to parse ispell dictionary files
- This dodges a portability problem on FreeBSD-derived platforms (including OS X).
* Fix atomic-operations code used on PPC with IBM's xlc compiler
- This error led to rare failures of concurrent operations on that platform.
* Avoid a crash on old Windows versions (before 7SP1/2008R2SP1) with an AVX2-capable CPU and a Postgres build done with Visual Studio 2013
- This is a workaround for a bug in Visual Studio 2013's runtime library, which Microsoft have stated they will not fix in that version.
* Fix psql's tab completion logic to handle multibyte characters properly
* Fix psql's tab completion for SECURITY LABEL
- Pressing TAB after SECURITY LABEL might cause a crash or offering of inappropriate keywords.
* Make pg_ctl accept a wait timeout from the PGCTLTIMEOUT environment variable, if none is specified on the command line
- This eases testing of slower buildfarm members by allowing them to globally specify a longer-than-normal timeout for postmaster startup and shutdown.
* Fix incorrect test for Windows service status in pg_ctl
- The previous set of minor releases attempted to fix pg_ctl to properly determine whether to send log messages to Window's Event Log, but got the test backwards.
* Fix pgbench to correctly handle the combination of -C and -M prepared options
* In pg_upgrade, skip creating a deletion script when the new data directory is inside the old data directory
- Blind application of the script in such cases would result in loss of the new data directory.
* In PL/Perl, properly translate empty Postgres arrays into empty Perl arrays
* Make PL/Python cope with function names that aren't valid Python identifiers
* Fix multiple mistakes in the statistics returned by contrib/pgstattuple's pgstatindex() function
* Remove dependency on psed in MSVC builds, since it's no longer provided by core Perl
* Update time zone data files to tzdata release 2016c for DST law changes in Azerbaijan, Chile, Haiti, Palestine, and Russia (Altai, Astrakhan, Kirov, Sakhalin, Ulyanovsk regions), plus historical corrections for Lithuania, Moldova, and Russia
版本下載:PostgreSQL 9.5.2
HWiNFO 5.22
PostgreSQL 9.5.1
更新細節:
# Changes
- Fix infinite loops and buffer-overrun problems in regular expressions
- Very large character ranges in bracket expressions could cause infinite loops in some cases, and memory overwrites in other cases.
- Fix an oversight that caused hash joins to miss joining to some tuples of the inner relation in rare cases
- Avoid pushdown of HAVING clauses when grouping sets are used
- Fix deparsing of ON CONFLICT arbiter WHERE clauses
- Make %h and %r escapes in log_line_prefix work for messages emitted due to log_connections
- Previously, %h/%r started to work just after a new session had emitted the "connection received" log message; now they work for that message too.
- Avoid leaking a token handle during SSPI authentication
- Fix psql's det command to interpret its pattern argument the same way as other d commands with potentially schema-qualified patterns do
- In pg_ctl on Windows, check service status to decide where to send output, rather than checking if standard output is a terminal
- Fix assorted corner-case bugs in pg_dump's processing of extension member objects
- Fix improper quoting of domain constraint names in pg_dump
- Make pg_dump mark a view's triggers as needing to be processed after its rule, to prevent possible failure during parallel pg_restore
- Install guards in pgbench against corner-case overflow conditions during evaluation of script-specified division or modulo operators
- Suppress useless warning message when pg_receivexlog connects to a pre-9.4 server
- Avoid dump/reload problems when using both plpython2 and plpython3
- In principle, both versions of PL/Python can be used in the same database, though not in the same session (because the two versions of libpython cannot safely be used concurrently). However, pg_restore and pg_upgrade both do things that can fall foul of the same-session restriction. Work around that by changing the timing of the check.
- Fix PL/Python regression tests to pass with Python 3.5
- Prevent certain PL/Java parameters from being set by non-superusers.This change mitigates a PL/Java security bug (CVE-2016-0766), which was fixed in PL/Java by marking these parameters as superuser-only. To fix the security hazard for sites that update PostgreSQL more frequently than PL/Java, make the core code aware of them also.
- Fix ecpg-supplied header files to not contain comments continued from a preprocessor directive line onto the next line ,Such a comment is rejected by ecpg. It's not yet clear whether ecpg itself should be changed.
- Fix hstore_to_json_loose()'s test for whether an hstore value can be converted to a JSON number .Previously this function could be fooled by non-alphanumeric trailing characters, leading to emitting syntactically-invalid JSON.
- In contrib/postgres_fdw, fix bugs triggered by use of tableoid in data-modifying commands
- Fix ill-advised restriction of NAMEDATALEN to be less than 256
- Improve reproducibility of build output by ensuring filenames are given to the linker in a fixed order
- This avoids possible bitwise differences in the produced executable files from one build to the next.
- Ensure that dynloader.h is included in the installed header files in MSVC builds
- Update time zone data files to tzdata release 2016a for DST law changes in Cayman Islands, Metlakatla, and Trans-Baikal Territory (Zabaykalsky Krai), plus historical corrections for Pakistan.
版本下載:PostgreSQL 9.5.1
PostgreSQL 9.5.0
更新細節:
# Major enhancements :
- Allow INSERTs that would generate constraint conflicts to be turned into UPDATEs or ignored
- Add GROUP BY analysis features GROUPING SETS, CUBE and ROLLUP.
- Add row-level security control.
- Create mechanisms for tracking the progress of replication, including methods for identifying the origin of individual changes during logical replication.
- Add Block Range Indexes (BRIN).
- Substantial performance improvements for sorting.
- Substantial performance improvements for multi-CPU machines.
版本下載:PostgreSQL 9.5.0
PostgreSQL 9.4.5
更新細節:
- Guard against stack overflows in json parsing
> If an application constructs PostgreSQL json or jsonb values from arbitrary user input, the application's users can reliably crash the PostgreSQL server, causing momentary denial of service.
- Fix contrib/pgcrypto to detect and report too-short crypt() salts
> Certain invalid salt arguments crashed the server or disclosed a few bytes of server memory. We have not ruled out the viability of attacks that arrange for presence of confidential information in the disclosed bytes, but they seem unlikely.
- Fix subtransaction cleanup after a portal (cursor) belonging to an outer subtransaction fails
> A function executed in an outer-subtransaction cursor could cause an assertion failure or crash by referencing a relation created within an inner subtransaction.
- Fix possible deadlock during WAL insertion when commit_delay is set
- Ensure all relations referred to by an updatable view are properly locked during an update statement
- Fix insertion of relations into the relation cache "init file"
> An oversight in a patch in the most recent minor releases caused pg_trigger_tgrelid_tgname_index to be omitted from the init file. Subsequent sessions detected this, then deemed the init file to be broken and silently ignored it, resulting in a significant degradation in session startup time. In addition to fixing the bug, install some guards so that any similar future mistake will be more obvious.
- Avoid O(N^2) behavior when inserting many tuples into a SPI query result
- Improve LISTEN startup time when there are many unread notifications
- Fix performance problem when a session alters large numbers of foreign key constraints
> This was seen primarily when restoring pg_dump output for databases with many thousands of tables.
- Disable SSL renegotiation by default
> While use of SSL renegotiation is a good idea in theory, we have seen too many bugs in practice, both in the underlying OpenSSL library and in our usage of it. Renegotiation will be removed entirely in 9.5 and later. In the older branches, just change the default value of ssl_renegotiation_limit to zero (disabled).
- Lower the minimum values of the *_freeze_max_age parameters
> This is mainly to make tests of related behavior less time-consuming, but it may also be of value for installations with limited disk space.
- Limit the maximum value of wal_buffers to 2GB to avoid server crashes
- Avoid logging complaints when a parameter that can only be set at server start appears multiple times in postgresql.conf, and fix counting of line numbers after an include_dir directive
- Fix rare internal overflow in multiplication of numeric values
- Guard against hard-to-reach stack overflows involving record types, range types, json, jsonb, tsquery, ltxtquery and query_int
- Fix handling of DOW and DOY in datetime input
> These tokens aren't meant to be used in datetime values, but previously they resulted in opaque internal error messages rather than "invalid input syntax".
- Add more query-cancel checks to regular expression matching
- Add recursion depth protections to regular expression, SIMILAR TO, and LIKE matching
> Suitable search patterns and a low stack depth limit could lead to stack-overrun crashes.
- Fix potential infinite loop in regular expression execution
> A search pattern that can apparently match a zero-length string, but actually doesn't match because of a back reference, could lead to an infinite loop.
- In regular expression execution, correctly record match data for capturing parentheses within a quantifier even when the match is zero-length
- Fix low-memory failures in regular expression compilation
- Fix low-probability memory leak during regular expression execution
- Fix rare low-memory failure in lock cleanup during transaction abort
- Fix "unexpected out-of-memory situation during sort" errors when using tuplestores with small work_mem settings
- Fix very-low-probability stack overrun in qsort
- Fix "invalid memory alloc request size" failure in hash joins with large work_mem settings
- Fix assorted planner bugs
> These mistakes could lead to incorrect query plans that would give wrong answers, or to assertion failures in assert-enabled builds, or to odd planner errors such as "could not devise a query plan for the given query", "could not find pathkey item to sort", "plan should not reference subplan's variable", or "failed to assign all NestLoopParams to plan nodes". Thanks are due to Andreas Seltenreich and Piotr Stefaniak for fuzz testing that exposed these problems.
- Improve planner's performance for UPDATE/DELETE on large inheritance sets -
- Ensure standby promotion trigger files are removed at postmaster startup
- This prevents unwanted promotion from occurring if these files appear in a database backup that is used to initialize a new standby server.
- During postmaster shutdown, ensure that per-socket lock files are removed and listen sockets are closed before we remove the postmaster.pid file
> This avoids race-condition failures if an external script attempts to start a new postmaster as soon as pg_ctl stop returns.
- Ensure that the postmaster does not exit until all its child processes are gone, even in an immediate shutdown
> Like the previous item, this avoids possible race conditions against a subsequently-started postmaster.
- Fix postmaster's handling of a startup-process crash during crash recovery
> If, during a crash recovery cycle, the startup process crashes without having restored database consistency, we'd try to launch a new startup process, which typically would just crash again, leading to an infinite loop.
- Make emergency autovacuuming for multixact wraparound more robust
- Do not print a WARNING when an autovacuum worker is already gone when we attempt to signal it, and reduce log verbosity for such signals
- Prevent autovacuum launcher from sleeping unduly long if the server clock is moved backwards a large amount
- Ensure that cleanup of a GIN index's pending-insertions list is interruptable by cancel requests
- Allow all-zeroes pages in GIN indexes to be reused
> Such a page might be left behind after a crash.
- Fix handling of all-zeroes pages in SP-GiST indexes
> VACUUM attempted to recycle such pages, but did so in a way that wasn't crash-safe.
- Fix off-by-one error that led to otherwise-harmless warnings about "apparent wraparound" in subtrans/multixact truncation
- Fix misreporting of CONTINUE and MOVE statement types in PL/pgSQL's error context messages
- Fix PL/Perl to handle non-ASCII error message texts correctly
- Fix PL/Python crash when returning the string representation of a record result
- Fix some places in PL/Tcl that neglected to check for failure of malloc() calls
- In contrib/isn, fix output of ISBN-13 numbers that begin with 979
> EANs beginning with 979 (but not 9790) are considered ISBNs, but they must be printed in the new 13-digit format, not the 10-digit format.
- Improve contrib/pg_stat_statements' handling of query-text garbage collection
> The external file containing query texts could bloat to very large sizes; once it got past 1GB attempts to trim it would fail, soon leading to situations where the file could not be read at all.
- Improve contrib/postgres_fdw's handling of collation-related decisions
> The main user-visible effect is expected to be that comparisons involving varchar columns will be sent to the remote server for execution in more cases than before.
- Improve libpq's handling of out-of-memory conditions
- Fix memory leaks and missing out-of-memory checks in ecpg
- Fix psql's code for locale-aware formatting of numeric output
> The formatting code invoked by pset numericlocale on did the wrong thing for some uncommon cases such as numbers with an exponent but no decimal point. It could also mangle already-localized output from the money data type.
- Prevent crash in psql's c command when there is no current connection
- Make pg_dump handle inherited NOT VALID check constraints correctly
- Fix selection of default zlib compression level in pg_dump's directory output format
- Ensure that temporary files created during a pg_dump run with tar-format output are not world-readable
- Fix pg_dump and pg_upgrade to support cases where the postgres or template1 database is in a non-default tablespace
- Fix pg_dump to handle object privileges sanely when dumping from a server too old to have a particular privilege type
> When dumping data types from pre-9.2 servers, and when dumping functions or procedural languages from pre-7.3 servers, pg_dump would produce GRANT/REVOKE commands that revoked the owner's grantable privileges and instead granted all privileges to PUBLIC. Since the privileges involved are just USAGE and EXECUTE, this isn't a security problem, but it's certainly a surprising representation of the older systems' behavior. Fix it to leave the default privilege state alone in these cases.
- Fix pg_dump to dump shell types
> Shell types (that is, not-yet-fully-defined types) aren't useful for much, but nonetheless pg_dump should dump them.
- Fix assorted minor memory leaks in pg_dump and other client-side programs
- Fix pgbench's progress-report behavior when a query, or pgbench itself, gets stuck
- Fix spinlock assembly code for Alpha hardware
- Fix spinlock assembly code for PPC hardware to be compatible with AIX's native assembler
> Building with gcc didn't work if gcc had been configured to use the native assembler, which is becoming more common.
- On AIX, test the -qlonglong compiler option rather than just assuming it's safe to use
- On AIX, use -Wl,-brtllib link option to allow symbols to be resolved at runtime
> Perl relies on this ability in 5.8.0 and later.
- Avoid use of inline functions when compiling with 32-bit xlc, due to compiler bugs
- Use librt for sched_yield() when necessary, which it is on some Solaris versions
- Translate encoding UHC as Windows code page 949
> This fixes presentation of non-ASCII log messages from processes that are not attached to any particular database, such as the postmaster.
- On Windows, avoid failure when doing encoding conversion to UTF16 outside a transaction, such as for log messages
- Fix postmaster startup failure due to not copying setlocale()'s return value
> This has been reported on Windows systems with the ANSI code page set to CP936 ("Chinese (Simplified, PRC)"), and may occur with other multibyte code pages.
- Fix Windows install.bat script to handle target directory names that contain spaces
- Make the numeric form of the PostgreSQL version number (e.g., 90405) readily available to extension Makefiles, as a variable named VERSION_NUM
- Update time zone data files to tzdata release 2015g for DST law changes in Cayman Islands, Fiji, Moldova, Morocco, Norfolk Island, North Korea, Turkey, and Uruguay. There is a new zone name America/Fort_Nelson for the Canadian Northern Rockies.
版本下載:PostgreSQL 9.4.5
PostgreSQL 9.4.4
更新細節:
# Changes
* Fix possible failure to recover from an inconsistent database state.
* Fix rare failure to invalidate relation cache init file.
* Avoid deadlock between incoming sessions and CREATE/DROP DATABASE.
* Improve planner's cost estimates for semi-joins and anti-joins with inner indexscans.
版本下載:PostgreSQL 9.4.4
PostgreSQL 9.4.3
更新細節:
- Avoid failures while fsync'ing data directory during crash restart
- Fix pg_get_functiondef() to show functions' LEAKPROOF property, if set
- Fix pushJsonbValue() to unpack jbvBinary objects.This change does not affect any behavior in the core code as of 9.4, but it avoids a corner case for possible third-party callers.
- Remove configure's check prohibiting linking to a threaded libpython on OpenBSD.The failure this restriction was meant to prevent seems to not be a problem anymore on current OpenBSD versions.
版本下載:PostgreSQL 9.4.3
PostgreSQL 9.4.2
更新細節:
- Avoid possible crash when client disconnects just before the authentication timeout expires
- Improve detection of system-call failures
- In contrib/pgcrypto, uniformly report decryption failures as "Wrong key or corrupt data"
- Protect against wraparound of multixact member IDs
- Fix incorrect declaration of contrib/citext's regexp_matches() functions
- Render infinite dates and timestamps as infinity when converting to json, rather than throwing an error
- Fix json/jsonb's populate_record() and to_record() functions to handle empty input properly
- Fix incorrect checking of deferred exclusion constraints after a HOT update
- Fix behavior when changing foreign key constraint deferrability status with ALTER TABLE ... ALTER CONSTRAINT
- Fix planning of star-schema-style queries
- Prevent improper reordering of antijoins (NOT EXISTS joins) versus other outer joins
- Fix incorrect matching of subexpressions in outer-join plan nodes
- Fix GEQO planner to cope with failure of its join order heuristic
- Ensure that row locking occurs properly when the target of an UPDATE or DELETE is a security-barrier view
- Fix possible deadlock at startup when max_prepared_transactions is too small
- Don't archive useless preallocated WAL files after a timeline switch
- Recursively fsync() the data directory after a crash
- Fix autovacuum launcher's possible failure to shut down, if an error occurs after it receives SIGTERM
- Fix failure to handle invalidation messages for system catalogs early in session startup
- Fix crash in BackendIdGetTransactionIds() when trying to get status for a backend process that just exited
- Fix crash when doing COPY IN to a table with check constraints that contain whole-row references
- Avoid waiting for WAL flush or synchronous replication during commit of a transaction that was read-only so far as the user is concerned
- Avoid busy-waiting with short recovery_min_apply_delay values
- Fix crash when manipulating hash indexes on temporary tables
- Fix possible failure during hash index bucket split, if other processes are modifying the index concurrently
- Fix memory leaks in GIN index vacuum
- Check for interrupts while analyzing index expressions
- Ensure tableoid of a foreign table is reported correctly when a READ COMMITTED recheck occurs after locking rows in SELECT FOR UPDATE, UPDATE, or DELETE
- Add the name of the target server to object description strings for foreign-server user mappings
- Include the schema name in object identity strings for conversions
- Recommend setting include_realm to 1 when using Kerberos/GSSAPI/SSPI authentication
- Remove code for matching IPv4 pg_hba.conf entries to IPv4-in-IPv6 addresses
- Fix status reporting for terminated background workers that were never actually started
- After a database crash, don't restart background workers that are marked BGW_NEVER_RESTART
- Report WAL flush, not insert, position in IDENTIFY_SYSTEM replication command
- While shutting down service on Windows, periodically send status updates to the Service Control Manager to prevent it from killing the service too soon; and ensure that pg_ctl will wait for shutdown
- Reduce risk of network deadlock when using libpq's non-blocking mode
- In libpq, fix misparsing of empty values in URI connection strings
- Fix array handling in ecpg
- Fix psql to sanely handle URIs and conninfo strings as the first parameter to connect
- Suppress incorrect complaints from psql on some platforms that it failed to write ~/.psql_history at exit
- Fix pg_dump's rule for deciding which casts are system-provided casts that should not be dumped
- In pg_dump, fix failure to honor -Z compression level option together with -Fd
- Make pg_dump consider foreign key relationships between extension configuration tables while choosing dump order
- Avoid possible pg_dump failure when concurrent sessions are creating and dropping temporary functions
- Fix dumping of views that are just VALUES(...) but have column aliases
- Ensure that a view's replication identity is correctly set to nothing during dump/restore
- In pg_upgrade, force timeline 1 in the new cluster
- In pg_upgrade, check for improperly non-connectable databases before proceeding
- In pg_upgrade, quote directory paths properly in the generated delete_old_cluster script
- In pg_upgrade, preserve database-level freezing info properly
- Run pg_upgrade and pg_resetxlog with restricted privileges on Windows, so that they don't fail when run by an administrator
- Improve handling of readdir() failures when scanning directories in initdb and pg_basebackup
- Fix slow sorting algorithm in contrib/intarray
- Fix compile failure on Sparc V8 machines
- Silence some build warnings on OS X
- Update time zone data files to tzdata release 2015d for DST law changes in Egypt, Mongolia, and Palestine, plus historical changes in Canada and Chile. Also adopt revised zone abbreviations for the America/Adak zone (HST/HDT not HAST/HADT).
版本下載:PostgreSQL 9.4.2
PostgreSQL 9.4.1
更新細節:
# Changes
* Fix buffer overruns in to_char()
* Fix buffer overruns in contrib/pgcrypto
* Fix possible loss of frontend/backend protocol synchronization after an error
* Fix information leak via constraint-violation error messages
* Lock down regression testing's temporary installations on Windows
* Cope with the Windows locale named "Norwegian (Bokmål)"
* Fix use-of-already-freed-memory problem in EvalPlanQual processing
* Avoid possible deadlock while trying to acquire tuple locks in EvalPlanQual processing
* Fix failure to wait when a transaction tries to acquire a FOR NO KEY EXCLUSIVE tuple lock, while multiple other transactions currently hold FOR SHARE locks
* Improve performance of EXPLAIN with large range tables
* Fix jsonb Unicode escape processing, and in consequence disallow u0000
* Fix namespace handling in xpath()
* Fix assorted oversights in range-operator selectivity estimation
* Revert unintended reduction in maximum size of a GIN index item
* Fix query-duration memory leak during repeated GIN index rescans
* Fix possible crash when using nonzero gin_fuzzy_search_limit
* Assorted fixes for logical decoding
* Fix incorrect replay of WAL parameter change records that report changes in the wal_log_hints setting
* Change "pgstat wait timeout" warning message to be LOG level, and rephrase it to be more understandable
* Warn if OS X's setlocale() starts an unwanted extra thread inside the postmaster
* Fix libpq's behavior when /etc/passwd isn't readable
* Improve consistency of parsing of psql's special variables
* Fix pg_dump to handle comments on event triggers without failing
* Allow parallel pg_dump to use --serializable-deferrable
* Prevent WAL files created by pg_basebackup -x/-X from being archived again when the standby is promoted
* Handle unexpected query results, especially NULLs, safely in contrib/tablefunc's connectby()
* Numerous cleanups of warnings from Coverity static code analyzer
* Allow CFLAGS from configure's environment to override automatically-supplied CFLAGS
* Make pg_regress remove any temporary installation it created upon successful exit
* Add CST (China Standard Time) to our lists of timezone abbreviations
* Update time zone data files to tzdata release 2015a for DST law changes in Chile and Mexico, plus historical changes in Iceland.
版本下載:PostgreSQL 9.4.1
PostgreSQL 9.4.0
更新細節:
# Major enhancements in PostgreSQL 9.4 include:
- Add jsonb, a more capable and efficient data type for storing JSON data
- Add new SQL command ALTER SYSTEM for changing postgresql.conf configuration file entries
- Reduce lock strength for some ALTER TABLE commands
- Allow materialized views to be refreshed without blocking concurrent reads
- Add support for logical decoding of WAL data, to allow database changes to be streamed out in a customizable format
- Allow background worker processes to be dynamically registered, started and terminated
版本下載:PostgreSQL 9.4.0
PostgreSQL 9.4.0 RC 1
PostgreSQL 9.3.5
更新細節:
* Changes
- In pg_upgrade, remove pg_multixact files left behind by initdb
- Correctly initialize padding bytes in contrib/btree_gist indexes on bit columns
- Protect against torn pages when deleting GIN list pages
- Don't clear the right-link of a GiST index page while replaying updates from WAL
- Fix corner-case infinite loop during insertion into an SP-GiST text index
- Fix incorrect answers from SP-GiST index searches with -|- (range adjacency) operator
- Fix wraparound handling for pg_multixact/members
- Truncate pg_multixact during checkpoints, not during VACUUM
- Fix possible inconsistency of all-visible flags after WAL recovery
- Fix possibly-incorrect cache invalidation during nested calls to ReceiveSharedInvalidMessages
- Fix race condition when updating a tuple concurrently locked by another process
- Fix "could not find pathkey item to sort" planner failures with UNION ALL over subqueries reading from tables with inheritance children
- Don't assume a subquery's output is unique if there's a set-returning function in its targetlist
- Improve planner to drop constant-NULL inputs of AND/OR when possible
- Ensure that the planner sees equivalent VARIADIC and non-VARIADIC function calls as equivalent
- Fix handling of nested JSON objects in json_populate_recordset() and friends
- Fix identification of input type category in to_json() and friends
- Fix failure to detoast fields in composite elements of structured types
- Fix "record type has not been registered" failures with whole-row references to the output of Append plan nodes (Tom Lane)
- Fix possible crash when invoking a user-defined function while rewinding a cursor
- Fix query-lifespan memory leak while evaluating the arguments for a function in FROM
- Fix session-lifespan memory leaks in regular-expression processing
- Fix data encoding error in hungarian.stop
- Prevent foreign tables from being created with OIDS when default_with_oids is true
- Fix liveness checks for rows that were inserted in the current transaction and then deleted by a now-rolled-back subtransaction
- Clear pg_stat_activity.xact_start during PREPARE TRANSACTION
- Fix REASSIGN OWNED to not fail for text search objects
- Prevent pg_class.relminmxid values from going backwards during VACUUM FULL
- Reduce indentation in rule/view dumps to improve readability and avoid excessive whitespace
- Fix dumping of rules/views when subsequent addition of a column has resulted in multiple input columns matching a USING specification
- Repair view printing for some cases involving functions in FROM that return a composite type containing dropped columns
- Block signals during postmaster startup
- Fix client host name lookup when processing pg_hba.conf entries that specify host names instead of IP addresses
- Allow the root user to use postgres -C variable and postgres --describe-config
- Secure Unix-domain sockets of temporary postmasters started during make check
- Fix tablespace creation WAL replay to work on Windows
- Fix detection of socket creation failures on Windows
- On Windows, allow new sessions to absorb values of PGC_BACKEND parameters (such as log_connections) from the configuration file
- Properly quote executable path names on Windows
- Fix linking of libpython on OS X
- Avoid buffer bloat in libpq when the server consistently sends data faster than the client can absorb it
- Ensure that LDAP lookup attempts in libpq time out as intended
- Fix ecpg to do the right thing when an array of char * is the target for a FETCH statement returning more than one row, as well as some other array-handling fixes
- Fix pg_dump to cope with a materialized view that depends on a table's primary key
- Fix parsing of pg_dumpall's -i switch
- Fix pg_restore's processing of old-style large object comments
- Fix pg_upgrade for cases where the new server creates a TOAST table but the old version did not
- In pg_upgrade, preserve pg_database.datminmxid and pg_class.relminmxid values from the old cluster, or insert reasonable values when upgrading from pre-9.3; also defend against unreasonable values in the core server
- Prevent contrib/auto_explain from changing the output of a user's EXPLAIN
- Fix query-lifespan memory leak in contrib/dblink
- In contrib/pgcrypto functions, ensure sensitive information is cleared from stack variables before returning
- Prevent use of already-freed memory in contrib/pgstattuple's pgstat_heap()
- In contrib/uuid-ossp, cache the state of the OSSP UUID library across calls
- Update time zone data files to tzdata release 2014e for DST law changes in Crimea, Egypt, and Morocco.
版本下載:PostgreSQL 9.3.5
PostgreSQL 9.3.4
更新細節:
# Changes
* Fix WAL replay of locking an already-updated tuple
* Restore GIN metapages unconditionally to avoid torn-page risk
* Avoid race condition in checking transaction commit status during receipt of a NOTIFY message
* Allow materialized views to be referenced in UPDATE and DELETE commands
* Allow regular-expression operators to be terminated early by query cancel requests
* Remove incorrect code that tried to allow OVERLAPS with single-element row arguments
* Avoid getting more than AccessShareLock when de-parsing a rule or view
* Improve performance of index endpoint probes during planning
* Use non-default selectivity estimates for value IN (list) and value operator ANY (array) expressions when the righthand side is a stable expression
* Remove the correct per-database statistics file during DROP DATABASE
* Fix walsender ping logic to avoid inappropriate disconnects under continuous load
* Fix walsender's failure to shut down cleanly when client is pg_receivexlog
* Check WAL level and hot standby parameters correctly when doing crash recovery that will be followed by archive recovery
* Fix test to see if hot standby connections can be allowed immediately after a crash
* Add read-only data_checksums parameter to display whether page checksums are enabled
* Prevent interrupts while reporting non-ERROR messages
* Fix memory leak in PL/Perl when returning a composite result, including multiple-OUT-parameter cases
* Fix tracking of psql script line numbers during copy from out-of-line data
* Fix contrib/postgres_fdw to handle multiple join conditions properly
* Prevent intermittent "could not reserve shared memory region" failures on recent Windows versions
* Update time zone data files to tzdata release 2014a for DST law changes in Fiji and Turkey, plus historical changes in Israel and Ukraine.
版本下載:PostgreSQL 9.3.4
PostgreSQL 9.3.2
更新細節:
# Changes
* Fix VACUUM's tests to see whether it can update relfrozenxid
* Fix multiple bugs in MultiXactId freezing
* Fix initialization of pg_clog and pg_subtrans during hot standby startup
* Fix multiple bugs in update chain traversal
* Fix dangling-pointer problem in fast-path locking
* Fix assorted race conditions in timeout management
* Truncate pg_multixact contents during WAL replay
* Ensure an anti-wraparound VACUUM counts a page as scanned when it's only verified that no tuples need freezing
* Fix full-table-vacuum request mechanism for MultiXactIds
* Fix race condition in GIN index posting tree page deletion
* Fix "unexpected spgdoinsert() failure" error during SP-GiST index creation
* Fix assorted bugs in materialized views
* Re-allow duplicate table aliases if they're within aliased JOINs
* Avoid flattening a subquery whose SELECT list contains a volatile function wrapped inside a sub-SELECT
* Fix planner's processing of non-simple-variable subquery outputs nested within outer joins
* Fix incorrect planning in cases where the same non-strict expression appears in multiple WHERE and outer JOIN equality clauses
* Fix planner crash with whole-row reference to a subquery
* Fix incorrect generation of optimized MIN()/MAX() plans for inheritance trees
* Fix premature deletion of temporary files
* Prevent intra-transaction memory leak when printing range values
* Fix memory leaks when reloading configuration files
* Prevent incorrect display of dropped columns in NOT NULL and CHECK constraint violation messages
* Allow default arguments and named-argument notation for window functions
* Suppress trailing whitespace on each line when pretty-printing rules and views
* Fix possible read past end of memory in rule printing
* Fix array slicing of int2vector and oidvector values
* Return a valid JSON value when converting an empty hstore value to json
* Fix incorrect behaviors when using a SQL-standard, simple GMT offset timezone
* Prevent possible misbehavior when logging translations of Windows error codes
* Properly quote generated command lines in pg_ctl
* Fix pg_dumpall to work when a source database sets default_transaction_read_only via ALTER DATABASE SET
* Fix pg_isready to handle its -d option properly
* Fix parsing of WAL file names in pg_receivexlog
* Report out-of-disk-space failures properly in pg_upgrade
* Make ecpg search for quoted cursor names case-sensitively
* Fix ecpg's processing of lists of variables declared varchar
* Make contrib/lo defend against incorrect trigger definitions
* Update time zone data files to tzdata release 2013h for DST law changes in Argentina, Brazil, Jordan, Libya, Liechtenstein, Morocco, and Palestine. Also, new timezone abbreviations WIB, WIT, WITA for Indonesia.
版本下載:PostgreSQL 9.3.2