-
+
-
Release 9.1alpha3
+
Release 9.1alpha4
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
+
+
+