First cut at 9.1alpha4 release notes.
authorRobert Haas
Sat, 5 Mar 2011 14:36:19 +0000 (09:36 -0500)
committerRobert Haas
Sat, 5 Mar 2011 14:36:19 +0000 (09:36 -0500)
doc/src/sgml/release-9.1.sgml

index 649d6b0599cd0b47e4d564bf3c95c76346c29fc1..30817d99130a8800995fbcd53c0ba7c85d815365 100644 (file)
@@ -1,9 +1,9 @@
 
 
-
+
 
 
-  Release 9.1alpha<span class="marked">3</span>
+  Release 9.1alpha<span class="marked">4</span>
   
     Overview
     
          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
         
        
 
         
        
 
+       
+        
+         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.
+        
+       
+
       
     
     
          This can be used to optimize nearest-neighbor searches.
         
        
+
        
         
          Improve process shutdown speed
         
        
 
+       
+        
+         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
         
        
 
+       
+        
+         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
         
        
 
+       
+        
+         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
+        
+       
+
       
     
     
         
        
 
+       
+        
+         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.
+        
+       
+
       
     
     
         
        
 
+       
+        
+         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.
+        
+       
+
       
     
     
         
        
 
+       
+        
+         Add REPLICATION privilege for ROLEs.
+        
+        
+         This makes it possible for replication to be performed by a
+         non-superuser account.
+        
+       
+
       
     
     
         
        
 
+       
+        
+         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.
+        
+       
+
       
     
     
         
        
 
+       
+        
+         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
+        
+       
+
       
     
     
          with (at present) no default value.
         
        
-
        
         
          Add a \sf (show function) command to psql, for those
         
        
 
+       
+        
+         Add a \dL command to psql, to list procedural
+         languages
+        
+       
+
+       
+        
+         Allow psql to automatically deduce the client encoding from
+         the locale
+        
+       
+
       
     
     
 
       
     
+    
+      ecpg
+      
+       
+        
+         Allow ecpg to accept dynamic cursor names even in WHERE
+         CURRENT OF clauses
+        
+       
+      
+    
     
       Procedural Languages
       
           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
       
         
        
 
+       
+        
+         New module contrib/sepgsql, an SE-Linux integration for
+         PostgreSQL
+        
+       
+
        
         
          Updates to contrib/isn ISBN tables
         
        
 
+       
+        
+         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.
+        
+       
+
       
     
     
         
        
 
+       
+        
+         Allow make check in PL directories
+        
+       
+
+       
+        
+         Add a make check-world target
+        
+       
+
+       
+        
+         PGXS support for contrib/hstore
+        
+       
+