From 5c44f38d3b63c5a11f58fe558adfe4d3cf4dcc39 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Sat, 5 Mar 2011 09:36:19 -0500 Subject: [PATCH] First cut at 9.1alpha4 release notes. --- doc/src/sgml/release-9.1.sgml | 545 +++++++++++++++++++++++++++++++++- 1 file changed, 539 insertions(+), 6 deletions(-) diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index 649d6b0599..30817d9913 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -1,9 +1,9 @@ - + - Release 9.1alpha3 + Release 9.1alpha4 Overview @@ -131,11 +131,12 @@ Allow WITH clauses to be attached to INSERT, UPDATE, DELETE statements + + - This is not the hoped-for facility of using - INSERT/UPDATE/DELETE inside a WITH, but rather the other way - around. + Allow INSERT/UPDATE/DELETE to be used inside a WITH + clause @@ -163,6 +164,98 @@ + + + Allow a table's row type to be cast to the table's supertype + if it's a type table. + + + This is analagous to the existing facility that allows casting a row + type to a supertable's row type. + + + + + + Make foreign data wrappers functional, and support FOREIGN + TABLEs. + + + Foreign tables are component of SQL/MED, and provide a framework to + allow data stored outside the database to be accessed via SQL. + contrib/file_fdw is provided as a sample foreign data wrapper. + + + + + + Allow a unique or primary key constraint to be created + using an existing index. + + + + + + Implement a truly serializable isolation level + + + + + + Allow foreign key constraints to be added as initially + NOT VALID, and validated later + + + + + + Allow multiple collations to be used within a single + database + + + + + + Support extensions, which provide a cleaner method for + installing and upgrading add-on modules, such as those in contrib + + + + + + + Teach ALTER TABLE .. SET DATA TYPE to avoid a table write + in some cases where it isn't necessary + + + + + + + Add ENCODING option to COPY TO/FROM + + + + + + Allow binary I/O of type "void" + + + + + + Rearrange snapshot handlling to make rule expansion more + consistent + + + Portals, SQL functions, and SPI all now agree that a completely new + MVCC snapshot should be obtained only after fully executing each + original query. This is equivalent to the prior behavior of EXPLAIN + ANALYZE. It eliminates one source of concurrency hazards for + rules, and should also be marginally faster. + + + @@ -184,6 +277,7 @@ This can be used to optimize nearest-neighbor searches. + Improve process shutdown speed @@ -210,6 +304,31 @@ + + + Support unlogged tables. + + + The contents of an unlogged table are not WAL-logged; thus, they + are replicated and are truncated whenever the database system enters + recovery. Indexes on unlogged tables are also unlogged, but GIST + indexes on unlogged tables are not currently supported. + + + + + + Hash joins now support right and full outer joins. + + + Previously, full joins could be implemented only as a merge join, + and left and right outer joins could only hash the table on the + nullable side of the join. This optimization is particularly + advantageous when the non-nullable side of a left or right outer + join is much smaller than the nullable side. + + + Reduce the memory requirement for large ispell dictionaries @@ -229,6 +348,20 @@ + + + Fix GIN to support null keys, empty and null items, and + full index scans + + + + + + Teach GIN to combine duplicate keys even across different + quals + + + Performance improvements in pg_upgrade for uses with many tables @@ -256,6 +389,20 @@ + + + Avoid unnecessary detoast when comparing unequal-length text + or bytea values for equality or inequality + + + + + + Try to compact the background writer's fsync queue when + it overflows, instead of doing an fsync per block written + + + @@ -298,6 +445,55 @@ + + + Teach replication connections to respect the value of + log_connections + + + Previously, they were always logged. + + + + + + Log restartpoints in the same fashion as + checkpoints + + + Previously, less information was logged for restartpoints. + + + + + + By default, set wal_buffers to a reasonable value, based + on the setting for shared_buffers + + + + + + Add new recovery.conf parameter, pause_at_recovery_target, + which defaults to on. + + + This is a behavior change from previous releases, which entered normal + running upon reaching the recovery target. + + + + + + Add new recovery.conf parameter, recovery_target_name, + allowing recovery to proceed to a named restore point + + + Named restore points can be created using a new server function, + pg_create_restore_point. + + + @@ -375,6 +571,77 @@ + + + Implement remaining fields of + information_schema.sequences view + + + + + + Add a "conflicts" column to pg_stat_database + + + + + + New system view pg_stat_database_conflicts + + + + + + New system view pg_stat_replication + + + This view shows which replication slaves are connected to the master, + and reports their status and replication progress. + + + + + + When an autovacuum worker (other than one performing an + anti-wraparound vacuum) is unable to obtain a lock on the target + relation without blocking, skip the relation. + + + This avoids pinning down an autovacuum worker. The next autovacuum + cycle will try again. + + + + + + When an autovacuum worker (other than one performing an + anti-wraparound vacuum) is unable to obtain a lock on the target + relation without blocking, skip the relation. + + + This avoids pinning down an autovacuum worker. The next autovacuum + cycle will try again. + + + + + + Track time of last statistics reset on databases and + bgwriter + + + + + + Allow standby servers to send information on running + transactions back to the master + + + When enabled, this prevents most recovery conflicts on the slave, + but may cause MVCC bloat on the master. + + + @@ -404,6 +671,16 @@ + + + Add REPLICATION privilege for ROLEs. + + + This makes it possible for replication to be performed by a + non-superuser account. + + + @@ -480,6 +757,20 @@ + + + Add pg_is_xlog_replay_paused, pg_xlog_replay_pause, and + pg_xlog_replay_resume functions. + + + + + + Change pg_last_xlog_receive_location not to move + backwards. + + + @@ -519,6 +810,22 @@ + + + Support streaming base backups. + + + A new client, pg_basebackup, can be used to perform a streaming base + backup. + + + + + + Add a directory output format to pg_dump + + + @@ -553,7 +860,6 @@ with (at present) no default value. - Add a \sf (show function) command to psql, for those @@ -569,6 +875,20 @@ + + + Add a \dL command to psql, to list procedural + languages + + + + + + Allow psql to automatically deduce the client encoding from + the locale + + + @@ -607,6 +927,17 @@ + + ecpg + + + + Allow ecpg to accept dynamic cursor names even in WHERE + CURRENT OF clauses + + + + Procedural Languages @@ -653,9 +984,138 @@ Allow generic record arguments to PL/Perl functions + + + + Convert PostgreSQL arrays passed to PL/perl functions to + Perl arrays + + + + + + + PL/Python + + + + + Fix an error when a set-returning function fails halfway + through + + + + + + Skip dropped attributes when converting Python objects to + tuples + + + + + + Improve messages for errors in compiling anonymous + PL/Python blocks + + + + + + Improve the handling of exceptions + + + Fix the way that exceptions are handled by the plpy module for Python + 3. Get rid of the global variable holding the error state, and + instead arrange to report PostgreSQL errors to Python immediately. + Call PLy_spi_execute_fetch_result inside the try/catch block, so that + errors from fetching tuples are correct reported as errors in the + SPI call. Use the built-in TypeError, not SPIError, for errors + having to do with argument counts or types. Use SPIError, not simply + plpy.Error, for errors in PLy_spi_execute_plan. Do not set + a Python exception if PyArg_ParseTuple failed, as it already sets + the correct exception. + + + + + + Do not prefix error messages with the string + "PL/Python: " + + + It is redundant, given the error context. + + + + + + Check PL/Python functions for syntax errors at creation + time + + + Previously, even gross syntax errors would not be detected until + the function was executed. + + + + + + Allow Python try/catch blocks to catch exceptions arising + from SPI calls + + + + + + Invalidate PL/python functions with composite type + arguments when the type changes + + + + + + Add quoting functions plpy.quote_ident, plpy.quote_literal, + and plpy.quote_nullable + + + + + + Support table functions + + + + + + Add a plpy.subtransaction() context manager + + + + + + Provide a separate exception class for each error code + the backend defines, and make it possible to get the SQLSTATE from + the exception object + + + + + + Assorted code cleanup + + + We now use HTABs instead of Python dictionary objects to cache + procedures. palloc is used in TopMemoryContext instead of malloc. + Avoid use of undocumented API PyObject_NEW. Free plan values in + the PlyPlanObject dealloc function. Add braces around an if block, + for readability. Refactor PLy_spi_prepare to save two levels of + indentation. Avoid palloc(0). + + + Additional Supplied Modules @@ -666,6 +1126,13 @@ + + + New module contrib/sepgsql, an SE-Linux integration for + PostgreSQL + + + Updates to contrib/isn ISBN tables @@ -708,6 +1175,54 @@ + + + New module contrib/pg_test_fsync, replacing + src/tools/test_fsync + + + + + + In contrib/pageinspect, fix the heap_page_item to return + infomasks as 32 bit values + + + + + + In contrib/btree_gist, support KNN GiST searches + + + + + + In contrib/pg_trgm, support LIKE, ILIKE, and KNN GiST + searches + + + + + + Several improvements to contrib/intarray + + + Correct the behavior of array containment operators, so that an empty + array is contained in any other array. Fix bogus failures where + operators would claim that nulls were present when they really + weren't. Remove arbitrary restriction to 1-D arrays. + + + + + + Fix pg_upgrade not to insist on pg_dumpall and psql in the + old cluster, since we don't need them, but do check for pg_resetxlog + in the old and new clusters, since we do. Avoid a useless attempt + to call pg_config in the old cluster. + + + @@ -808,6 +1323,24 @@ + + + Allow make check in PL directories + + + + + + Add a make check-world target + + + + + + PGXS support for contrib/hstore + + + -- 2.40.0