From b03b17c4118345cc89dda1d96cda9ed2313f3ed9 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 19 Mar 2011 16:39:17 -0400 Subject: [PATCH] Initial version of PG 9.1 release notes. --- doc/src/sgml/release-9.1.sgml | 2215 ++++++++++++++++++++++++++++++++- 1 file changed, 2205 insertions(+), 10 deletions(-) diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index 9f14a46f7c..a17157bce9 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -1,20 +1,2214 @@ + + Release 9.1 + + + Release Date + 2011-??-?? + + + + Overview + + + This release of + PostgreSQL adds ... Major enhancements include: + + + + + + The above items are explained in more detail in the sections below. + + + + + + + Migration to Version 9.1 + + + A dump/restore using pg_dump, + or use of pg_upgrade, is required + for those wishing to migrate data from any previous + release. + + + + Version 9.1 contains a number of changes that ... + Observe the following incompatibilities: + + + + Server Settings + + + + + + Change pg_last_xlog_receive_location() so it never moves + backwards (Fujii Masao) + + + + Previously pg_last_xlog_receive_location() could move backward + when streaming replication is restarted. + + + + + + Have logging of replication connections honor log_connections + (Magnus Hagander) + + + + Previously replication connections were always logged. + + + + + + + + + Strings + + + + + + Change the default value of standard_conforming_strings to on + (Robert Haas) + + + + This removes a long-standing incompatibility with the SQL + standard; escape_string_warning has produced warnings about + this usage for years. E'' strings the proper way to embed + escapes in strings and is unaffected by this change. + + + + + + + + + Casting + + + + + + Disallow functional or attribute string data type casts for + composite types (Tom Lane) + + + + For example, disallow composite_name.text and text(composite_name). + CAST and '::' are still available for casting. + + + + + + Tighten casting checks for domains based on arrays (Tom Lane) + + + + **Details? + + + + + + + + + Arrays + + + + + + Change string_to_array to return an empty array for for a + zero-length string (Pavel Stehule) + + + + Previously this returned NULL. + + + + + + Change string_to_array so a NULL separator splits the string + into characters (Pavel Stehule) + + + + Previously this returned NULL. + + + + + + + + + Object Modification + + + + + + Fix improper checks for before/after triggers (Tom Lane) + + + + **Tom, I need more details on the impact of this for existing + installs. + + + + + + Require superuser or CREATEROLE permissions to set role + comments (Tom Lane) + + + + + + + + + PL/pgSQL + + + + + + Change PL/pgSQL's RAISE command without parameters to be + catchable by the attached exception block (Piyush Newe) + + + + Previously RAISE in a code block always scoped to an attached + exception block, so it was uncatchable at the same scope. + + + + + + Adjust PL/pgsql's error line reporting code to be consistent + with SQL error line reporting (Pavel Stehule) + + + + Previously error numbering was off by one. + + + + + + + + + Other Incompatibilities + + + + + + Have pg_stat_reset() reset all database-level statistics (Tom + Lane) + + + + Some counters were not being reset. + + + + + + Fix some information_schema.triggers column names to match + the new SQL-standard names (Dean Rasheed) + + + + + + Treat ecpg cursor names as case-insensitive (Zoltan Boszormenyi) + + + + + + + + + + Changes, current as of 2011-03-15 + + Version 9.1 has ... + + + + Server + + + Continuous Archiving and Streaming Replication + + + + + + Add a synchronous replication option (Simon Riggs, Fujii Masao) + + + + This allows the primary to wait for the standby to receive + transaction information before acknowledging the commit. + + + + + + Add variable hot_standby_feedback to enable standbys to + communicate their needed snapshots to the primary (Simon Riggs) + + + + This helps avoid cancelling long-running queries on the standby. + + + + + + Add support for sending file system backups to standbys using + the streaming replication network connection (Magnus Hagander, + Heikki Linnakangas) + + + + This avoids the requirement of manually transferring a file + system backup when creating a standby server. + + + + + + Add command-line tool pg_basebackup for creating a new standby + server or database backup (Magnus Hagander) + + + + + + Add new "replication" permission for roles (Magnus Hagander) + + + + This is a read-only permission used for streaming replication + and allows non-super users to initiate replication connections. + Previously only super-users could initiate replication + connections; super-users have this permission by default. + + + + + + + Monitoring + + + + + + Add system view pg_stat_replication which displays activity + of WAL sender processes (Itagaki Takahiro, Simon Riggs) + + + + This reports that status of all connected standby servers. + + + + + + Add monitoring function pg_last_xact_replay_timestamp (Fujii + Masao) + + + + This returns the time on the primary that generated the most + recently commit or abort record applied on the standby. + + + + + + + + + Recovery Control + + + + + + Add functions to control streaming replication replay (Simon + Riggs) + + + + The new functions are pg_xlog_replay_pause(), + pg_xlog_replay_resume(), and the status function + pg_is_xlog_replay_paused(). + + + + + + Add named restore points for recovery which can be specified + in recovery.conf (Jaime Casanova) + + + + The function pg_create_restore_point() allows recovery targets + to be named for later designation during recovery. + + + + + + Add recovery.conf setting pause_at_recovery_target to pause + recovery at target (Simon Riggs) + + + + This allows a recovery server to be queried to check if the + recovery point is the one desired. + + + + + + Allow standby recovery to switch to a new timeline automatically + (Heikki Linnakangas) + + + + Now standby servers scan the archive directory for new + timelines periodically. + + + + + + Allow recovery.conf to use the same quoting behavior as + postgresql.conf (Dimitri Fontaine) + + + + Previously all values had to be quoted. + + + + + + + + + + + Performance + + + + + + Allow unlogged tables (Robert Haas) + + + + These tables are optimized for performance but are cleared in + case of a server crash. + + + + + + Support RIGHT and FULL OUTER JOIN in hash joins (Tom Lane) + + + + Previously hash joins could not be considered for outer joins; + this provides additional query optimization possibilities. + **What about LEFT joins? + + + + + + Merge duplicate fsync requests on busy systems (Robert Haas, + Greg Smith) + + + + + + Improve performance of commit_siblings (Greg Smith) + + + + This allows the use of commit_siblings with fewer delays. + + + + + + + + + Optimizer + + + + + + Allow inheritance table queries to return meaningfully-sorted + results (Greg Stark, Hans-Jurgen Schonig, Robert Haas, Tom + Lane) + + + + This allows optimization of ORDER BY and LIMIT clauses in + inheritance table queries. + + + + + + Allow optimizations of MIN/MAX for inheritance table queries + (Tom Lane) + + + + + + Allow hash joins for array values (Tom Lane) + + + + This provides additional query optimization possibilities. + + + + + + Improve GIN index scan cost estimation (Teodor Sigaev) + + + + + + + + + Authentication + + + + + + Support host names and host suffixes (e.g. .example.com) in + pg_hba.conf (Peter Eisentraut) + + + + Previously only host IP addresses and CIDR values were supported. + + + + + + Support they keyword 'all' in the host column of pg_hba.conf + (Peter Eisentraut) + + + + Previously people used '0.0.0.0/0' or '::/0' for this. + + + + + + Allow GSSAPI to be used to authenticate to servers via SSPI + (Christian Ullrich) + + + + Specifically this allows Unix-based GSSAPI clients to authenticate + to Windows SSPI servers. + + + + + + + + + Monitoring + + + + + + Add details to the logging of restart points and checkpoints, + which is controlled by log_checkpoints (Fujii Masao, Greg + Smith) + + + + New details show WAL file and sync activity. + + + + + + Add log_file_mode which controls the permissions on log files + created by the logging_collector (Martin Pihlak) + + + + + + + + + Statistical Views + + + + + + Add client_hostname field to pg_stat_activity (Peter Eisentraut) + + + + Previously only the client address was reported. + + + + + + Add pg_stat_xact_* statistic functions and views (Joel Jacobson) + + + + This are like the database-wide statistics counter views but + reflect counts for only the current transaction. + + + + + + Add the pg_stat_database_conflicts system view to show queries + that have been canceled and the reason (Magnus Hagander) + + + + Cancelations can occur because of dropped tablespaces, lock + timeouts, old snapshots, pinned buffers, and deadlocks. + + + + + + Add a "conflicts" count to pg_stat_database (Magnus Hagander) + + + + This is the number of conflicts that occurred in the database. + + + + + + Add record of last reset for database and background writer-level + statistics (Tomas Vondra) + + + + + + Add columns showing the number of vacuum and analyze operations + in pg_stat_*_tables views (Magnus Hagander) + + + + + + Add new buffers_backend_fsync field to pg_stat_bgwriter (Greg + Smith) + + + + This new field counts the number of times a backend fsyncs a + buffer. + + + + + + + + + Server Settings + + + + + + Allow auto-tuning of wal_buffers (Greg Smith) + + + + wal_buffers is now auto-tuned by default based on the size of + shared_buffers. + + + + + + Add restart_after_crash which disables server restart after + a backend crash (Robert Haas) + + + + This is designed for cluster managers that want to control + restarts. + + + + + + + + + + + Queries + + + + + + Allow data-modification commands (INSERT/UPDATE/DELETE) in + WITH clauses (Marko Tiikkaja, Hitoshi Harada) + + + + This allows INSERT/UPDATE/DELETE RETURNING in WITH clauses to + pass rows to outer queries. + + + + + + Allow WITH clauses to be fed into INSERT, UPDATE, DELETE + statements (Marko Tiikkaja, Hitoshi Harada) + + + + Specifically, let SELECT query results be feed into INSERT, + UPDATE, DELETE statements. + + + + + + Allow non-GROUP BY columns in the query target list when the + primary key is specified in the GROUP BY clause (Peter + Eisentraut) + + + + Some other database system already allowed this behavior, and + because of the primary key, the result is unambiguous.. + + + + + + Allow the use of the keyword DISTINCT in UNION/INTERSECT/EXCEPT + clauses (Tom Lane) + + + + DISTINCT is the default behavior so use of this keyword is + redundant. + + + + + + + Strings + + + + + + Add per-column collation support (Peter Eisentraut, Tom Lane) + + + + Previously collation could only be set at the database level. + Collation can now be set per column, domain, index, or + expression. + + + + + + + + + + + Object Manipulation + + + + + + Add support for foreign tables (Shigeru Hanada, Robert Haas, + Jan Urbanski, Heikki Linnakangas) + + + + This allows data stored in foreign sources to be used like + native Postgres-stored data. + + + + + + Add ALTER TYPE ... ADD/DROP/ALTER/RENAME ATTRIBUTE (Peter + Eisentraut) + + + + This allows modification of composite types. + + + + + + + <command>ALTER Object</> + + + + + + Add RESTRICT/CASCADE to ALTER TYPE operations on typed tables + (Peter Eisentraut) + + + + This controls ADD/DROP/ALTER/RENAME ATTRIBUTE cascading + behavior. + + + + + + Add support for more object types in ALTER object ... SET SCHEMA commands (Dimitri Fontaine) + + + + + + + + + <link linkend="SQL-CREATETABLE"><command>CREATE TABLE</></link> + + + + + + Add CREATE TABLE IF NOT EXISTS syntax (Robert Haas) + + + + This allows table creation without causing an error if the + table already exists. + + + + + + Add ALTER TABLE ADD UNIQUE/PRIMARY KEY USING INDEX (Gurjeet + Singh) + + + + This allows existing unique indexes to be used as primary + keys, including indexes that were created concurrently. + + + + + + Allow ALTER TABLE to add foreign keys without validation (Simon + Riggs) + + + + The new option is called NOT VALID, which can later be modified + to VALIDATED and validation checks performed. + + + + + + Allow ALTER TABLE .. SET DATA TYPE to avoid table rewrites in + appropriate cases (Noah Misch, Robert Haas) + + + + For example, converting a varchar column to text no longer + requires a rewrite of the table. **Length changes require + rewrite? + + + + + + + + + Object Permissions + + + + + + Add a SECURITY LABEL command (KaiGai Kohei) + + + + This allows security labels to be assigned to objects. + + + + + + + + + + + Utility Operations + + + + + + Add true a serializable isolation level (Kevin Grittner, Dan + Ports) + + + + Previously asking for serializable isolation level produced + snapshot isolation, which had certain documented anomalies. + The old snapshot isolation is still accessible by the requesting + repeatable read isolation level. + + + + + + Add transaction-level advisory locks (Marko Tiikkaja) + + + + This is similar to the existing session-level advisory locks, + but are freed at transaction end. + + + + + + Make TRUNCATE ... RESTART IDENTITY restart sequences transactionally + (Steve Singer) + + + + Previously the counter could have been left out of sync if a + backend crashed between the on-commit truncation activity and + commit completion. + + + + + + + <link linkend="SQL-COPY"><command>COPY</></link> + + + + + + Add ENCODING option to COPY TO/FROM (Hitoshi Harada, Itagaki + Takahiro) + + + + This allows the COPY file encoding to be specified separately + from client encoding. + + + + + + Add bidirectional COPY protocol support (Fujii Masao) + + + + This is currently only used by streaming replication. + + + + + + + + + <link linkend="SQL-EXPLAIN"><command>EXPLAIN</></link> + + + + + + Have EXPLAIN show the function call expression in VERBOSE + mode (Tom Lane) + + + + + + Fix EXPLAIN ANALYZE with rules to use the same snapshot behavior + as ordinary queries (Marko Tiikkaja) + + + + Previously EXPLAIN ANALYZE used a slightly different snapshot + for queries involving rules. + + + + + + + + + <link linkend="SQL-VACUUM"><command>VACUUM</></link> + + + + + + Add additional details to the output of VACUUM FULL VERBOSE + and CLUSTER VERBOSE (Itagaki Takahiro) + + + + New information includes the live/dead tuple count and whether + CLUSTER is using an index to rebuild. + + + + + + Prevent autovacuum from waiting if it cannot acquire a lock + (Robert Haas) + + + + It will try to vacuum later. + + + + + + + + + Indexes + + + + + + Add nearest-neighbor (order-by-operator) searching to GIST + indexes (Teodor Sigaev, Tom Lane) + + + + This allows GIST indexes to quickly return LIMIT-specified + closest values. + + + + + + Allow GIN indexes to index null and empty values (Tom Lane) + + + + This allows full GIN index scans. + + + + + + Fix GiST indexes to be fully crash-safe (Heikki Linnakangas) + + + + Previously there were rare cases where a REINDEX would be + required (you would be informed). + + + + + + + + + + + Data Types + + + + + + Allow numeric to use a more compact, 2-byte header in many + cases (Robert Haas) + + + + Previously all numeric values had 4-byte headers; this saves + on disk storage. + + + + + + Allow new values to be added to an existing enum type (Andrew + Dunstan) + + + + + + Add support for dividing money by money (Andy Balholm) + + + + + + + Casting + + + + + + Add support for casting between money and numeric (Andy Balholm) + + + + + + Allow casting a table's row type to the table's supertype if + it's a typed table (Peter Eisentraut) + + + + **Needs description. + + + + + + + + + <link linkend="functions-xml">XML</link> + + + + + + Add XML function XMLEXISTS and xpath_exists() functions (Mike + Fowler) + + + + This is used for xpath matching. + + + + + + Add XML functions xml_is_well_formed, xml_is_well_formed_document, + xml_is_well_formed_content (Mike Fowler) + + + + These check whether the input is properly-formed XML. + + + + + + + + + + + Functions + + + + + + Add new SQL function, format(text), which behaves like C's + printf() (Pavel Stehule, Robert Haas) + + + + It currently supports formats for strings, SQL literals, and + SQL identifiers. + + + + + + Add string functions: concat(), concat_ws(), left(), right(), + and reverse() (Pavel Stehule) + + + + **Why were these added? + + + + + + Add function pg_read_binary_file() to read binary files + (Dimitri Fontaine, Itagaki Takahiro) + + + + + + Add single-parameter version of function pg_read_file() to + read an entire file (Dimitri Fontaine, Itagaki Takahiro) + + + + + + Add three-parameter forms of array_to_string and string_to_array + for NULL processing control (Pavel Stehule) + + + + + + + Object Information Functions + + + + + + Add pg_describe_object function (Alvaro Herrera) + + + + This function is used to obtain comments on objects. **Alvaro, + why is this useful for pg_depend? + + + + + + Update comments for built-in operators and their underlying + functions (Tom Lane) + + + + + + Add variable quote_all_identifiers to force the quoting of + all identifiers in EXPLAIN and system catalog functions like + pg_get_viewdef() (Robert Haas) + + + + This makes exporting schemas to tools and other databases with + different quoting rules easier. + + + + + + Add fields to the information_schema.sequences system view + (Peter Eisentraut) + + + + Previously, though the view existed, all of these view fields + were unimplemented. + + + + + + Allow 'public' as a pseudo-role name in has_table_privilege() + and and related functions (Alvaro Herrera) + + + + This allows checking for public permissions. + + + + + + Add ERRCODE_T_R_DATABASE_DROPPED error code to report recovery + conflicts due to dropped databases (Tatsuo Ishii) + + + + This is useful for connection pooling software. + + + + + + + + + Function and Trigger Creation + + + + + + Allow INSTEAD OF triggers on views (Dean Rasheed) + + + + This feature can be used to implement updatable views. + + + + + + Reduce lock levels for CREATE TRIGGER and some ALTER TABLE, + CREATE RULE actions (Simon Riggs) + + + + This improves concurrency. + + + + + + + + + + + Server-Side Languages + + + <link linkend="plpgsql">PL/pgSQL</link> Server-Side Language + + + + + + Add FOREACH IN ARRAY to plpgsql to allow array interation + (Pavel Stehule) + + + + This is more efficient than previous methods. + + + + + + + + + <link linkend="plperl">PL/Perl</link> Server-Side Language + + + + + + Allow generic record arguments to plperl functions (Andrew + Dunstan) + + + + **Andrew, I need details on this. + + + + + + Convert PL/Perl input arguments to Perl arrays (Alexey Klyukin, + Alex Hunsaker) + + + + String representations are still available. + + + + + + Convert PL/Perl row and composite type arguments to Perl hashes + (Alexey Klyukin, Alex Hunsaker) + + + + String representations are still available. + + + + + + + + + <link linkend="plpython">PL/Python</link> Server-Side Language + + + + + + Add table function support for PL/Python (Jan Urbanski) + + + + PL/Python now can return multiple OUT parameters and record + sets. + + + + + + Add validator to PL/Python (Jan Urbanski) + + + + This allows PL/Python functions to be validated at function + creation time. + + + + + + Allow exceptions for SQL queries in PL/Python (Jan Urbanski) + + + + This allows access to SQL-generated exception error codes from + PL/Python exception blocks. + + + + + + Allow PL/Python to access SQLSTATE exception values (Jan + Urbanski) + + + + **Is this the same as the item above? + + + + + + Add PL/Python explicit subtransactions (Jan Urbanski) + + + + + + Add PL/Python functions for quoting strings (Jan Urbanski) + + + + The functions are plpy.quote_ident, plpy.quote_literal, and + plpy.quote_nullable. + + + + + + Report PL/Python errors from iterators with PLy_elog (Jan + Urbanski) + + + + + + Overhaul of PL/Python (Jan Urbanski) + + + + This includes exception support for Python 3. **More? + + + + + + + + + + + Client Applications + + + + + + Mark createlang/droplang as deprecated now that they use the + extension framework (Tom Lane) + + + + + + + <link linkend="APP-PSQL"><application>psql</></link> + + + + + + Add the \conninfo command to psql, to show current connection + information (David Christensen) + + + + + + Allow psql's \e and \ef commands to accept a line number to + be used to position the cursor in the editor (Pavel Stehule) + + + + This is passed to the editor using the EDITOR_LINENUMBER_SWITCH + environment variable. + + + + + + Add psql command \sf command to show a function's definition + (Pavel Stehule) + + + + + + Add system table ("S") option to psql \dn (schemas) (Tom Lane) + + + + \dn without "S" now suppresses system schemas. + + + + + + Add new psql \dL command \dL to list languages (Fernando Ike) + + + + + + Have psql set the client encoding from the operating system + locale by default (Heikki Linnakangas) + + + + This only happens if the PGCLIENTENCODING environment variable + is not set. + + + + + + Allow tab completion of psql variables (Pavel Stehule) + + + + + + More psql tab completion support (Itagaki Takahiro) + + + + + + + + + <link linkend="APP-PGDUMP"><application>pg_dump</></link> + + + + + + Add pg_dump and pg_dumpall option --quote-all-identifiers to + force quoting of all identifiers (Robert Haas) + + + + + + Add 'directory' format to pg_dump (Joachim Wieland, Heikki + Linnakangas) + + + + This is internally similar to the 'tar' pg_dump format. + + + + + + + + + <link linkend="APP-PG-CTL"><application>pg_ctl</></link> + + + + + + Fix pg_ctl so it no longer incorrectly reports that the server + is not running (Bruce Momjian) + + + + Previously this could happen if the server was running but + pg_ctl could not authenticate. + + + + + + Improve pg_ctl start's "wait" mode to handle non-standard port + numbers, non-standard unix-domain socket locations, permission + problems, and stale postmaster lock files (Bruce Momjian) + + + + + + Add 'promote' option to pg_ctl to change a standby server to + primary (Fujii Masao) + + + + + + + + + + + <application>Development Tools</> + + + <link linkend="libpq"><application>libpq</></link> + + + + + + Add a libpq connection option client_encoding which behaves + like the PGCLIENTENCODING environment variable (Heikki + Linnakangas) + + + + The value 'auto' sets the client encoding based on the operating + system locale. + + + + + + Add PQlibVersion() function which returns the libpq library + version (Magnus Hagander) + + + + libpq already had PQserverVersion() which returns the server + version. + + + + + + Allow libpq database clients to use Unix-domain sockets to + check the user name of the server process using requirepeer + (Peter Eisentraut) + + + + PostgreSQL already allowed servers to determine the client + user name via Unix-domain sockets. + + + + + + Add PQping and PQpingParams to libpq (Bruce Momjian, Tom Lane) + + + + The allow detection of the server's status without creating + a new session. + + + + + + + + + + + Build Options + + + + + + Add extensions which allow packaged additions to Postgres + (Dimitri Fontaine, Tom Lane) + + + + This is controlled by the new CREATE/ALTER/DROP EXTENSION + command; this replaces a more manual method of adding features + to PostgreSQL. + + + + + + + Makefiles + + + + + + Require GNU make 3.80 or newer (Peter Eisentraut) + + + + + + Improved parallel make support (Peter Eisentraut) + + + + This allows for faster compiles. Also, make -k and make -q + now work properly. **When was recursive make supported? + + + + + + + + + Windows + + + + + + On Windows, allow pg_ctl to register the service as auto-start + or start-on-demand (Quan Zongliang) + + + + + + Add support for collecting crash dumps on Windows (Craig + Ringer, Magnus Hagander) + + + + minidumps can now be generated by non-debug + Windows binaries and analyzed by standard debugging tools. + + + + + + Enable building with the Mingw64 compiler (Andrew Dunstan) + + + + This allows building 64-bit Windows binaries even on non-Windows + platforms with cross-compiling. + + + + + + + + + + + Source Code + + + + + + Add latches to the source code to wait for events (Heikki + Linnakangas) + + + + + + Centralize DML permissions-checking logic (KaiGai Kohei) + + + + + + Add missing get_{object}_oid functions, for consistency + (Robert Haas) + + + + + + Improve ability to use C++ compilers for backend compiles by + removing conflicting keywords (Tom Lane) + + + + + + Add support for DragonFly BSD (Rumko) + + + + + + Expose quote_literal_cstr() for backend use (Robert Haas) + + + + + + Run regression tests in the default encoding (Peter Eisentraut) + + + + Regression tests were previously always run with SQL_ASCII + encoding. + + + + + + Add src/tools/git_changelog to replace cvs2cl and pgcvslog + (Robert Haas, Tom Lane) + + + + + + Add git-external-diff script to src/tools (Bruce Momjian) + + + + This is used to generate context diffs from git. + + + + + + + Server Hooks + + + + + + Add source code hooks to check permissions (Robert Haas, + Stephen Frost) + + + + + + Add post-object-creation function hooks for use by security + frameworks (KaiGai Kohei) + + + + + + Add a client authentication hook (KaiGai Kohei) + + + + + + + + + + + Contrib + + + + + + Modify /contrib modules and stored procedure languages to + install via the new extension mechanism (Tom Lane, Dimitri + Fontaine) + + + + This replaces a more manual method of installation. + + + + + + Add contrib/file_fdw foreign-data wrapper for reading files + via COPY (Shigeru Hanada) + + + + This adds foreign table support for flat-file. + + + + + + Add nearest-neighbor support to contrib/pg_trgm and + contrib/btree_gist (Teodor Sigaev) + + + + + + Add contrib/btree_gist support for searching on "not equals" + (Jeff Davis) + + + + + + Allow contrib/fuzzystrmatch's levenshtein() function handle + multi-byte characters (Alexander Korotkov) + + + + + + Add ssl_cipher() and ssl_version() functions to contrib/sslinfo + (Robert Haas) + + + + + + Fix contrib/intarray and contrib/hstore to give consistent + results with indexed empty arrays (Tom Lane) + + + + Previously a empty-array query that used an index might return + different results from one that used a sequential scan. + + + + + + In contrib/xml2, remove arbitrary limit on the number of + parameter=value pairs that can be handled by xslt_process() + (Pavel Stehule) + + + + The previous limit was 20. + + + + + + + Security + + + + + + Add contrib/sepgsql to interface permission checks with SE-Linux + (KaiGai Kohei) + + + + This uses the new SECURITY LABEL facility. + + + + + + New contrib module, auth_delay (KaiGai Kohei) + + + + This causes the server to pause before returning authentication + failure; it is designed to make brute force password attacks + more difficult. + + + + + + Add dummy_seclabel contrib module (KaiGai Kohei) + + + + This is used for permission regression testing. + + + + + + + + + Performance + + + + + + Add support for LIKE and ILIKE index searches to contrib/pg_trgm + (Alexander Korotkov) + + + + + + Add levenshtein_less_equal function, which is optimized for + small distances (Alexander Korotkov) + + + + + + Improve performance of index lookups on contrib/seg columns + (Alexander Korotkov) + + + + **Confirm this does not affect pg_upgrade + + + + + + Improve performance of pg_upgrade for databases with many + relations (Bruce Momjian) + + + + + + Add flag to pgbench to report per-statement latencies (Florian + Pflug) + + + + + + + + + Fsync Testing + + + + + + Move src/tools/test_fsync to contrib/pg_test_fsync (Bruce + Momjian, Tom Lane) + + + + + + Add O_DIRECT support to contrib/pg_test_fsync (Bruce Momjian) + + + + This matches the use of O_DIRECT by wal_sync_method. + + + + + + Add new tests to contrib/pg_test_fsync (Bruce Momjian) + + + + + + + + + + + Documentation + + + + + + Extensive ECPG documentation improvements (Satoshi Nagayasu) + + + + + + Add documentation for exit_on_error (Robert Haas) + + + + This parameter causes sessions to exit on any error. + + + + + + Add documentation for pg_options_to_table() (Josh Berkus) + + + + This parameter shows table storage options. + + + + + + Document that it is possible to access all composite fields + using (compositeval).* syntax (Peter Eisentraut) + + + + **Is this syntax new in 9.1? + + + + + + Document that translate() removes characters in "from" that + don't have a corresponding "to" character (Josh Kupershmidt) + + + + + + Merge docs for CREATE CONSTRAINT TRIGGER and CREATE TRIGGER + (Alvaro Herrera) + + + + + + Centralize permission and upgrade documentation (Bruce Momjian) + + + + + + Add kernel tuning docs for Solaris 10 (Josh Berkus) + + + + Previously only Solaris 9 kernel tuning was documented. + + + + + + + + + + + + - + + Release 9.1alpha4 Overview - PostgreSQL alpha releases are snapshots of development code. They - are intended to preview and test upcoming features and to provide - the possibility for early feedback. They should not be used in - production installations or active development projects. While the - PostgreSQL code is continuously subject to a number of automated - and manual tests, alpha releases might have serious bugs. Also - features may be changed incompatibly or removed at any time during - the development cycle. + PostgreSQL alpha releases are snapshots of development code. + They are intended to preview and test upcoming features and to + provide the possibility for early feedback. They should not be + used in production installations or active development projects. + While the PostgreSQL code is continuously subject to a number + of automated and manual tests, alpha releases might have serious + bugs. Also features may be changed incompatibly or removed at + any time during the development cycle. The development cycle of a PostgreSQL major release alternates @@ -1362,4 +3556,5 @@ - + +