diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml
index 9f14a46f7cf..a17157bce9a 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.
+
+
+
+
+
+
+ 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)
+
+
+
+
+
+
+
+
+ CREATE TABLE>
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+ COPY>
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+ EXPLAIN>
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+ VACUUM>
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+ XML
+
+
+
+
+
+ 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
+
+
+ PL/pgSQL Server-Side Language
+
+
+
+
+
+ Add FOREACH IN ARRAY to plpgsql to allow array interation
+ (Pavel Stehule)
+
+
+
+ This is more efficient than previous methods.
+
+
+
+
+
+
+
+
+ PL/Perl 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.
+
+
+
+
+
+
+
+
+ PL/Python 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)
+
+
+
+
+
+
+ psql>
+
+
+
+
+
+ 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)
+
+
+
+
+
+
+
+
+ pg_dump>
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+ pg_ctl>
+
+
+
+
+
+ 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)
+
+
+
+
+
+
+
+
+
+
+ Development Tools>
+
+
+ libpq>
+
+
+
+
+
+ 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.1alpha4Overview
- 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 @@
-
+
+