From 58453fae9d65ad20d7718a11e34bd6ef975c09a0 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 30 Mar 2009 22:01:15 +0000 Subject: [PATCH] More release note changes, including a lower level of subsections. --- doc/src/sgml/release.sgml | 3322 +++++++++++++++++++------------------ 1 file changed, 1671 insertions(+), 1651 deletions(-) diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 946c78cb84..673fcabf17 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -142,7 +142,7 @@ do it for earlier branch release files. - + Server Settings @@ -231,10 +231,10 @@ do it for earlier branch release files. - + - - Queries + + Queries @@ -293,11 +293,11 @@ do it for earlier branch release files. - + - - General Functions and Operators + + Functions and Operators @@ -350,72 +350,72 @@ do it for earlier branch release files. - - - + Temporal Functions and Operators - - - - - Have to_char()'s localized month/day names depend - on LC_TIME, not LC_MESSAGES (Euler - Taveira de Oliveira) - - - - - - Cause to_date() and to_timestamp() - to more consistently report errors on invalid input (Brendan - Jurd) - - - - - - Provide consistent rounding for fractional seconds (Ron Mayer) - bjm: combine with another item? - - - - - - Fix to_timestamp() to not require upper/lower case - matching for meridian (AM/PM) and era - (BC/AD) format designations (Brendan - Jurd) - - - - For example, input value ad now matches the format - string AD. - - - - - - Require the existence of periods in to_timestamp() - meridian (AM/PM) and era - (BC/AD) format designations to match - (Brendan Jurd) - - - - For example, input value AD now does not match - format string A.D.. - - - - - - DateStyle no longer controls INTERVAL - output (use new variable IntervalStyle) - - - - + + + + + Have to_char()'s localized month/day names depend + on LC_TIME, not LC_MESSAGES (Euler + Taveira de Oliveira) + + + + + + Cause to_date() and to_timestamp() + to more consistently report errors on invalid input (Brendan + Jurd) + + + + + + Provide consistent rounding for fractional seconds (Ron Mayer) + bjm: combine with another item? + + + + + + Fix to_timestamp() to not require upper/lower case + matching for meridian (AM/PM) and era + (BC/AD) format designations (Brendan + Jurd) + + + + For example, input value ad now matches the format + string AD. + + + + + + Require the existence of periods in to_timestamp() + meridian (AM/PM) and era + (BC/AD) format designations to match + (Brendan Jurd) + + + + For example, input value AD now does not match + format string A.D.. + + + + + + DateStyle no longer controls INTERVAL + output (use new variable IntervalStyle) + + + + + + @@ -565,58 +565,216 @@ do it for earlier branch release files. - Server Settings - + Server - - - Convert many postgresql.conf settings to enumerated - values so pg_settings can easily display valid - values (Magnus) - - + + Settings + + + + + + Convert many postgresql.conf settings to enumerated + values so pg_settings can easily display valid + values (Magnus) + + + + + + Add cursor_tuple_fraction parameter to control the + fraction of a cursor's rows expected to be requested by the + user (Robert Hell) + + + + + + Allow underscores in postgresql.conf custom variable + classes (Tom) + + + + + + + + + Authentication + + + + + Report appropriate error message for combination of MD5 + authentication and db_user_namespace enabled (Bruce) + + + + + + Support regular expressions in pg_ident.conf + (Magnus) + + + + + + Allow Kerberos/GSSAPI parameters + to be changed without restarting the postmaster (Magnus) + + + + + + + + + <filename>pg_hba.conf</> + + + + + Parse pg_hba.conf in the postmaster so errors are + reported on reload (Magnus) + + + + Previously errors in the file wouldn't be detected until clients + tried to connect, which could leave the system with a broken + file loaded. + + + + + + Remove the sameuser option, making it the default + if no usermap is specified (Magnus) + + + + + + Change all authentication options to be name=value + settings (Magnus) + + + + + + Allow usermap parameter for all external authentication methods + (Magnus) + + + + Previously this was only supported for ident + authentication. + + + + + + Allow ident authentication over Unix-domain sockets + on Solaris (Garick Hamlin) + + + + + + Add clientcert option to control requesting of a + client certificate (Magnus) + + + + Previously this was controlled by the presence of a root + certificate file in the server's data directory. + + + + + + Add cert authentication method to allow user + authentication via SSL certificates (Magnus) + + + + Previously SSL certificates could only verify that + the client had access to a certificate, not authenticate a + user. + + + + + + Allow krb5, gssapi and sspi + realm and krb5 host settings to be specified in + pg_hba.conf (Magnus) + + + + These override the settings in postgresql.conf. + + + + + + Add krb5, gssapi, and sspi + include_realm parameter (Magnus) + + + + This allows identical usernames from different realms to be + authenticated as different database users using usermaps. + + + + + + Show all parsing errors instead of aborting after the first + one (Selena Deckelmann) + + + + + + + + + + + Continuous Archiving + - Add cursor_tuple_fraction parameter to control the - fraction of a cursor's rows expected to be requested by the - user (Robert Hell) + Have pg_stop_backup() wait for modified WAL + files to be archived (Simon) - - - Allow underscores in postgresql.conf custom variable - classes (Tom) + This guarantees that the backup is valid at the time + pg_stop_backup() completes. - - - - - - Authentication - - - Report appropriate error message for combination of MD5 - authentication and db_user_namespace enabled (Bruce) + Prevent normal shutdown if a continuous archiving base backup + is in progress (Laurenz Albe) - Support regular expressions in pg_ident.conf - (Magnus) + Cancel a continuous archiving base backup if a fast shutdown + is requested (Laurenz Albe) - Allow Kerberos/GSSAPI parameters - to be changed without restarting the postmaster (Magnus) + Allow recovery.conf boolean variables to take the + same range of string values as postgresql.conf + (Bruce) @@ -624,240 +782,88 @@ do it for earlier branch release files. - - <filename>pg_hba.conf</> + + Monitoring - Parse pg_hba.conf in the postmaster so errors are - reported on reload (Magnus) - - - - Previously errors in the file wouldn't be detected until clients - tried to connect, which could leave the system with a broken - file loaded. + Add pg_conf_load_time() to report when + the Postgres configuration files were last loaded (George + Gensure) - Remove the sameuser option, making it the default - if no usermap is specified (Magnus) + Add pg_terminate_backend() to safely terminate a + backend (the SIGTERM signal works also) (Tom, Bruce) - Change all authentication options to be name=value - settings (Magnus) - - - - - - Allow usermap parameter for all external authentication methods - (Magnus) + Add ability to track user-defined functions call counts and + runtimes via parameter track_functions (Martin + Pihlak) - + - Previously this was only supported for ident - authentication. + Function statistics appear in a new system table, + pg_stat_user_functions. However, inlined + SQL functions are not tracked. - Allow ident authentication over Unix-domain sockets - on Solaris (Garick Hamlin) + Allow specification of the maximum pg_stat_activity + query string size via track_activity_query_size + parameter (Thomas Lee) - Add clientcert option to control requesting of a - client certificate (Magnus) - - - - Previously this was controlled by the presence of a root - certificate file in the server's data directory. + Improve syslog performance by increasing the maximum line length + (Tom) - Add cert authentication method to allow user - authentication via SSL certificates (Magnus) - - - - Previously SSL certificates could only verify that - the client had access to a certificate, not authenticate a - user. + Add read-only postgresql.conf variables segment_size, + wal_block_size, and wal_segment_size (Bernd Helmle) - Allow krb5, gssapi and sspi - realm and krb5 host settings to be specified in - pg_hba.conf (Magnus) + When reporting a deadlock, report all session queries involved + in the deadlock to the server log (Itagaki Takahiro) + + - These override the settings in postgresql.conf. + New pg_stat_get_activity(pid) function to return + information about a specific process id (Magnus) - Add krb5, gssapi, and sspi - include_realm parameter (Magnus) + Move the server statistics file into the subdirectory + pg_stat_tmp and allow its location to be specified + via stats_temp_directory (Magnus) - This allows identical usernames from different realms to be - authenticated as different database users using usermaps. - - - - - - Show all parsing errors instead of aborting after the first - one (Selena Deckelmann) - - - - - - - - - Continuous Archiving - - - - - Have pg_stop_backup() wait for modified WAL - files to be archived (Simon) - - - - This guarantees that the backup is valid at the time - pg_stop_backup() completes. - - - - - - Prevent normal shutdown if a continuous archiving base backup - is in progress (Laurenz Albe) - - - - - - Cancel a continuous archiving base backup if a fast shutdown - is requested (Laurenz Albe) - - - - - - Allow recovery.conf boolean variables to take the - same range of string values as postgresql.conf - (Bruce) - - - - - - - - - Monitoring - - - - - Add pg_conf_load_time() to report when - the Postgres configuration files were last loaded (George - Gensure) - - - - - - Add pg_terminate_backend() to safely terminate a - backend (the SIGTERM signal works also) (Tom, Bruce) - - - - - - Add ability to track user-defined functions call counts and - runtimes via parameter track_functions (Martin - Pihlak) - - - - Function statistics appear in a new system table, - pg_stat_user_functions. However, inlined - SQL functions are not tracked. - - - - - - Allow specification of the maximum pg_stat_activity - query string size via track_activity_query_size - parameter (Thomas Lee) - - - - - - Improve syslog performance by increasing the maximum line length - (Tom) - - - - - - Add read-only postgresql.conf variables segment_size, - wal_block_size, and wal_segment_size (Bernd Helmle) - - - - - - When reporting a deadlock, report all session queries involved - in the deadlock to the server log (Itagaki Takahiro) - - - - - - New pg_stat_get_activity(pid) function to return - information about a specific process id (Magnus) - - - - - - Move the server statistics file into the subdirectory - pg_stat_tmp and allow its location to be specified - via stats_temp_directory (Magnus) - - - - This allows the statistics file to be placed in a - RAM-resident directory to reduce I/O requirements. - On startup/shutdown, the file is copied to the top-level - $PGDATA directory so it is preserved between - restarts. + This allows the statistics file to be placed in a + RAM-resident directory to reduce I/O requirements. + On startup/shutdown, the file is copied to the top-level + $PGDATA directory so it is preserved between + restarts. @@ -974,1507 +980,1521 @@ do it for earlier branch release files. + + <command>TRUNCATE</> + + + + + Support statement-level ON TRUNCATE triggers (Simon) + + + + + + Add TRUNCATE TABLE ... + RESTART/CONTINUE IDENTITY clauses + (Zoltan Boszormenyi) + + + + The start value of a sequence can be changed by ALTER + SEQUENCE START WITH. + + + + + + Allow TRUNCATE tab1, tab1 to succeed (Bruce) + + + + + + Add a separate TRUNCATE permission (Robert Haas) + + + + + + + + + <command>EXPLAIN</> + + + + + Have EXPLAIN VERBOSE show the output columns of a + query (Tom) + + + + Previously EXPLAIN VERBOSE output an internal + representation of the query plan. (That behavior is now + available via debug_print_plan.) + + + + + + Have EXPLAIN honor debug_print_plan (Tom) + + + + + + Allow EXPLAIN on CREATE TABLE AS (Peter) + + + + + + + + + <literal>LIMIT</>/<literal>OFFSET</> + + + + + Allow LIMIT and OFFSET to use subselects + as arguments (Tom) + + + + + + Document that LIMIT NULL and OFFSET NULL + have no effect (Tom) + + + + + + Add SQL-standards syntax for + LIMIT/OFFSET capabilities (Peter) + + + + OFFSET num {ROW|ROWS} FETCH {FIRST|NEXT} [num] {ROW|ROWS} + ONLY. + + + + + + + - + - <command>TRUNCATE</> + Object Manipulation - Support statement-level ON TRUNCATE triggers (Simon) - - - - - - Add TRUNCATE TABLE ... - RESTART/CONTINUE IDENTITY clauses - (Zoltan Boszormenyi) - - - - The start value of a sequence can be changed by ALTER - SEQUENCE START WITH. + Add support for column-level privileges (Stephen Frost, KaiGai + Kohei) - Allow TRUNCATE tab1, tab1 to succeed (Bruce) + Improve reporting of dependencies during DROP + commands (Alex Hunsaker) - Add a separate TRUNCATE permission (Robert Haas) + Refactor multi-object DROP operations so conflicting + dependencies do not generate an error (Alex Hunsaker) - - - - - - <command>EXPLAIN</> - - - Have EXPLAIN VERBOSE show the output columns of a - query (Tom) - - - - Previously EXPLAIN VERBOSE output an internal - representation of the query plan. (That behavior is now - available via debug_print_plan.) + Add WITH [NO] DATA clause to CREATE TABLE + AS, per the SQL standard (Tom, Peter) - Have EXPLAIN honor debug_print_plan (Tom) + Add support for user-defined I/O conversion casts (Heikki) - Allow EXPLAIN on CREATE TABLE AS (Peter) + Allow CREATE AGGREGATE to use an internal + transition datatype (for super-users only) (Tom) - - - - - - <literal>LIMIT</>/<literal>OFFSET</> - - - Allow LIMIT and OFFSET to use subselects - as arguments (Tom) + Add LIKE clause to CREATE TYPE (Tom) - - - Document that LIMIT NULL and OFFSET NULL - have no effect (Tom) + This simplifies creation of data types like existing types. - Add SQL-standards syntax for - LIMIT/OFFSET capabilities (Peter) - - - - OFFSET num {ROW|ROWS} FETCH {FIRST|NEXT} [num] {ROW|ROWS} - ONLY. + Allow CREATE OR REPLACE VIEW to add columns to the + end of a view (Robert Haas) - - - - Object Manipulation - - - - - Add support for column-level privileges (Stephen Frost, KaiGai - Kohei) - - - - - - Improve reporting of dependencies during DROP - commands (Alex Hunsaker) - - - - - - Refactor multi-object DROP operations so conflicting - dependencies do not generate an error (Alex Hunsaker) - - - - - - Add WITH [NO] DATA clause to CREATE TABLE - AS, per the SQL standard (Tom, Peter) - - - - - - Add support for user-defined I/O conversion casts (Heikki) - - - - - - Allow CREATE AGGREGATE to use an internal - transition datatype (for super-users only) (Tom) - - - - - - Add LIKE clause to CREATE TYPE (Tom) - - - - This simplifies creation of data types like existing types. - - - - - - Allow CREATE OR REPLACE VIEW to add columns to the - end of a view (Robert Haas) - - + + <command>ALTER</> + + + + + Add ALTER TYPE RENAME (Petr Jelinek) + + + + + + Add ALTER SEQUENCE ... RESTART (no parameter) to + reset a sequence to its initial value (Zoltan Boszormenyi) + bjm: compatibility problem? + + + + + + Modify the ALTER TABLE syntax to allow all reasonable + combinations for tables, indexes, sequences, and views (Tom) + + + + + + New syntax supported (these formerly required ALTER + TABLE) + + + + + + + ALTER SEQUENCE OWNER TO + + + + + ALTER VIEW ALTER COLUMN SET/DROP DEFAULT + + + + + ALTER VIEW OWNER TO + + + + + ALTER VIEW SET SCHEMA + + + + + + + + + + Add support for the syntax ALTER TABLE ... ALTER COLUMN + ... SET DATA TYPE (Peter) + + + + This is SQL-standard syntax for functionality that + was already supported. + + + + + + Have ALTER TABLE SET WITHOUT OIDS rewrite the table + to remove OID values (Tom) + + + + Also, add ALTER TABLE SET WITH OIDS to rewrite the + table to add OIDs. + + + + + + + + + Database Manipulation + + + + + Improve reporting of + CREATE/DROP/RENAME DATABASE + failure when uncommitted prepared transactions are the cause + (Tom) + + + + + + Make LC_COLLATE and LC_CTYPE database-level + settings (Radek Strnad, Heikki) + + + + This makes collation similar to encoding, which was always + configurable per database. + + + + + + Improve checks that the database encoding, collation + (LC_COLLATE), and character classes + (LC_CTYPE) match (Heikki) + + + + + + Add ALTER DATABASE SET TABLESPACE to move a database + to a new tablespace (Guillaume Lelarge, Bernd Helmle) + + + + + + + + - + + Utility Operations + + Indexes + + + + + Dramatically improve the speed of building and accessing hash + indexes (Tom Raney, Shreya Bhargava, Kenneth Marshall) + + + + This allows hash indexes to be sometimes faster than btree + indexes. However, hash indexes are still not crash-safe. + + + + + + Have hash indexes store only the hashed value, not the full + indexed columns (Xiao Meng) + + + + This greatly reduces the size of hash indexes for long indexed + values, and improves performance. + + + + + + Special xxx_pattern_ops LIKE indexes can now be + used for simple equality comparisons (Tom) + + + + + + + + + Full Text Indexes + + + + + Remove the requirement to use @@@ when doing + GIN weighted lookups on full text indexes (Tom) + + + + The normal @@ text search operator can be used + instead. + + + + + + Add an optimizer selectivity function for @@ text + search operations (Jan Urbanski) + + + + + + Add partial match support for GIN indexes (Teodor + Sigaev, Oleg Bartunov) + + + + + + Allow prefix matching in full text searches (Teodor Sigaev, + Oleg Bartunov) + + + + + + Support multi-column GIN indexes (Teodor Sigaev) + + + + + + + + + <command>VACUUM</> + + + + + Allow relation forks to track free space (Heikki) + + + + This allows the recording of all free space discovered by vacuum + in *.fsm files, rather than having to limit + recording to a fixed-sized shared memory area; + max_fsm_pages and max_fsm_relations + settings have been removed. + + + + + + New visibility map file to track pages that do not require + vacuum (Heikki) + + + + This allows VACUUM to avoid sequentially scanning + a table when only a portion of the table needs vacuuming. + + + + + + Track explicit transaction snapshots (Alvaro) + + + + This improves space reuse by vacuum in the presence of long-running + transactions. + + + + + + Add vacuum_freeze_table_age parameter to control + when VACUUM should ignore the visibility map and + do a full table scan to set frozen xids (Heikki) + + + + + + Add ability to specify autovacuum and TOAST parameters + in CREATE TABLE (Alvaro, Euler Taveira de Oliveira) + + + + Autovacuum options used to be stored in a system table. + + + + + + Add --freeze option to vacuumdb + (Bruce) + + + + + + + + + Other Utility Operations + + + + + Add verbose option to the CLUSTER command and + clusterdb (Jim Cox) + + + + + + Decrease memory requirements for recording pending trigger + events (Tom) + + + + + + + - + - <command>ALTER</> + Data Types - Add ALTER TYPE RENAME (Petr Jelinek) - - - - - - Add ALTER SEQUENCE ... RESTART (no parameter) to - reset a sequence to its initial value (Zoltan Boszormenyi) - bjm: compatibility problem? - - - - - - Modify the ALTER TABLE syntax to allow all reasonable - combinations for tables, indexes, sequences, and views (Tom) - - - - - - New syntax supported (these formerly required ALTER - TABLE) - - - - - - - ALTER SEQUENCE OWNER TO - - - - - ALTER VIEW ALTER COLUMN SET/DROP DEFAULT - - - - - ALTER VIEW OWNER TO - - - - - ALTER VIEW SET SCHEMA - - - - - - - - - - Add support for the syntax ALTER TABLE ... ALTER COLUMN - ... SET DATA TYPE (Peter) - - - - This is SQL-standard syntax for functionality that - was already supported. + Add a CaseSensitive option for text search synonym + dictionaries (Simon) - Have ALTER TABLE SET WITHOUT OIDS rewrite the table - to remove OID values (Tom) - - - - Also, add ALTER TABLE SET WITH OIDS to rewrite the - table to add OIDs. + Improve the precision of NUMERIC division (Tom) - - - - - - Database Manipulation - - - Improve reporting of - CREATE/DROP/RENAME DATABASE - failure when uncommitted prepared transactions are the cause + Add int2 with int8 basic arithmetic operators (Tom) - - - - - Make LC_COLLATE and LC_CTYPE database-level - settings (Radek Strnad, Heikki) - - This makes collation similar to encoding, which was always - configurable per database. + This simplifies casting requirements. - Improve checks that the database encoding, collation - (LC_COLLATE), and character classes - (LC_CTYPE) match (Heikki) + Allow UUID input to accept optional hyphens after + every four digits (Robert Haas) - Add ALTER DATABASE SET TABLESPACE to move a database - to a new tablespace (Guillaume Lelarge, Bernd Helmle) + Accept on/off as boolean data type + values (Itagaki Takahiro) - - - - General Indexes - - - - - Dramatically improve the speed of building and accessing hash - indexes (Tom Raney, Shreya Bhargava, Kenneth Marshall) - - - - This allows hash indexes to be sometimes faster than btree - indexes. However, hash indexes are still not crash-safe. - - - - - - Have hash indexes store only the hashed value, not the full - indexed columns (Xiao Meng) - - - - This greatly reduces the size of hash indexes for long indexed - values, and improves performance. - - - - - - Special xxx_pattern_ops LIKE indexes can now be - used for simple equality comparisons (Tom) - - - - - - - - - Full Text Indexes - - - - - Remove the requirement to use @@@ when doing - GIN weighted lookups on full text indexes (Tom) - - - - The normal @@ text search operator can be used - instead. - - - - - - Add an optimizer selectivity function for @@ text - search operations (Jan Urbanski) - - - - - - Add partial match support for GIN indexes (Teodor - Sigaev, Oleg Bartunov) - - - - - - Allow prefix matching in full text searches (Teodor Sigaev, - Oleg Bartunov) - - - - - - Support multi-column GIN indexes (Teodor Sigaev) - - - - - - - - - <command>VACUUM</> - - - - - Allow relation forks to track free space (Heikki) - - - - This allows the recording of all free space discovered by vacuum - in *.fsm files, rather than having to limit - recording to a fixed-sized shared memory area; - max_fsm_pages and max_fsm_relations - settings have been removed. - - - - - - New visibility map file to track pages that do not require - vacuum (Heikki) - - - - This allows VACUUM to avoid sequentially scanning - a table when only a portion of the table needs vacuuming. - - - - - - Track explicit transaction snapshots (Alvaro) - - - - This improves space reuse by vacuum in the presence of long-running - transactions. - - - - - - Add vacuum_freeze_table_age parameter to control - when VACUUM should ignore the visibility map and - do a full table scan to set frozen xids (Heikki) - - - - - - Add ability to specify autovacuum and TOAST parameters - in CREATE TABLE (Alvaro, Euler Taveira de Oliveira) - - - - Autovacuum options used to be stored in a system table. - - - - - - Add --freeze option to vacuumdb - (Bruce) - - - - + + Temporal Data Types + + + + + Reject year 0 BC and years 000 and + 0000 (Tom) + + + + Previously these were interpreted as 1 BC; years + 0 and 00 are assumed to be the year + 2000. + + + + + + Include SGT (Singapore time) as a valid time zone + abbreviation (Tom) + + + + + + Support the IS0 8601 interval syntax (Tom, + Kevin Grittner) + + + + For example, INTERVAL 'P1Y2M3DT4H5M6.7S' is now + supported. + + + + + + Allow INTERVAL precision to be specified after the + last field, for SQL-standards compliance (Tom) + + + + Formerly the precision had to be specified after the keyword + INTERVAL (this syntax is still supported). Data type + definitions will now be output using the new format. + + + + + + Support infinite dates (Tom) + + + + + + Add IntervalStyle parameter + which controls how INTERVAL values are output (Ron Mayer) + + + + Valid value are: postgres, postgres_verbose, + sql_standard, iso_8601. This also + controls the handling of negative INTERVAL input when only + some fields have positive/negative designations. + + + + + + Make INTERVAL seconds rounding more consistent across + output formats (Ron Mayer) + + + + + + + + + Arrays + + + + + Have cast on ARRAY apply to all elements, not just + the array result (Brendan Jurd) + + + + This allows NULL ARRAY entries as long as + they are properly cast. + + + + + + Make SQL-syntax ARRAY dimensions optional + to match the SQL standard (Peter) + + + + + + Add array_ndims() to return the number + of dimensions of an array (Robert Haas) + + + + + + Add array_length() to return the length + of an array for the specified dimensions (Jim Nasby, Robert + Haas, Peter Eisentraut) + + + + Also add identically-functioning SQL-standard + function cardinality(). + + + + + + Add new aggregate function array_agg(), which + returns all aggregated values as a single array (Robert Haas, + Jeff Davis, Peter) + + + + + + Add unnest(), which converts an array to + individual row values (Tom) + + + + This is the opposite of array_agg(). + + + + + + Add array_fill() to create arrays initialized with + a value (Pavel Stehule) + + + + + + Add generate_subscripts() to generate array + subscripts (Pavel Stehule) + + + + + + Generate proper error if a SERIAL array is specified + (Tom) + + + + + + + + Wide-Value Storage (<acronym>TOAST</>) + + + + + Consider TOAST compression on values as short as + 32 bytes (previously 256 bytes) (Tom) + + + + + + Require 25% of space savings before using TOAST + compression (previously 20%) (Tom) + + + + + + Be more aggressive in storing EXTERNAL and + EXTENDED column values in TOAST(Tom) + + + + + + + - + - Other Utility Operations + Functions - Add verbose option to the CLUSTER command and - clusterdb (Jim Cox) + Document that setseed() allows values from + -1 to 1 (not just 0 to + 1), and enforce the valid range (Kris Jurka) - Decrease memory requirements for recording pending trigger - events (Tom) + Add server side function lo_import(filename, oid) + (Tatsuo) - - - - - - General Data Types - - - Add a CaseSensitive option for text search synonym - dictionaries (Simon) + Add quote_nullable(), which behaves like + quote_literal() but returns NULL for + a null argument (Brendan Jurd) - Improve the precision of NUMERIC division (Tom) + Improve full text search headline() generation to + allow several fragments (Sushant Sinha) - Add int2 with int8 basic arithmetic operators - (Tom) - - - - This simplifies casting requirements. + Add suppress_redundant_updates_trigger() trigger + function to avoid non-data-changing updates (Andrew) - Allow UUID input to accept optional hyphens after - every four digits (Robert Haas) + Add div(NUMERIC, NUMERIC) for NUMERIC + division, without rounding (Tom) - Accept on/off as boolean data type - values (Itagaki Takahiro) + Add TIMESTAMP and TIMESTAMPTZ versions of + generate_series() (Hitoshi Harada) - - - - Temporal Data Types - - - - - Reject year 0 BC and years 000 and - 0000 (Tom) - - - - Previously these were interpreted as 1 BC; years - 0 and 00 are assumed to be the year - 2000. - - - - - - Include SGT (Singapore time) as a valid time zone - abbreviation (Tom) - - - - - - Support the IS0 8601 interval syntax (Tom, - Kevin Grittner) - - - - For example, INTERVAL 'P1Y2M3DT4H5M6.7S' is now - supported. - - - - - - Allow INTERVAL precision to be specified after the - last field, for SQL-standards compliance (Tom) - - - - Formerly the precision had to be specified after the keyword - INTERVAL (this syntax is still supported). Data type - definitions will now be output using the new format. - - - - - - Support infinite dates (Tom) - - - - - - Add IntervalStyle parameter - which controls how INTERVAL values are output (Ron Mayer) - - - - Valid value are: postgres, postgres_verbose, - sql_standard, iso_8601. This also - controls the handling of negative INTERVAL input when only - some fields have positive/negative designations. - - - - - - Make INTERVAL seconds rounding more consistent across - output formats (Ron Mayer) - - - - - - - - - - Arrays - - - - - Have cast on ARRAY apply to all elements, not just - the array result (Brendan Jurd) - - - - This allows NULL ARRAY entries as long as - they are properly cast. - - - - - - Make SQL-syntax ARRAY dimensions optional - to match the SQL standard (Peter) - - - - - - Add array_ndims() to return the number - of dimensions of an array (Robert Haas) - - - - - - Add array_length() to return the length - of an array for the specified dimensions (Jim Nasby, Robert - Haas, Peter Eisentraut) - - - - Also add identically-functioning SQL-standard - function cardinality(). - - - - - - Add new aggregate function array_agg(), which - returns all aggregated values as a single array (Robert Haas, - Jeff Davis, Peter) - - - - - - Add unnest(), which converts an array to - individual row values (Tom) - - - - This is the opposite of array_agg(). - - - - - - Add array_fill() to create arrays initialized with - a value (Pavel Stehule) - - - - - - Add generate_subscripts() to generate array - subscripts (Pavel Stehule) - - - - - - Generate proper error if a SERIAL array is specified - (Tom) - - - - - - - - - Wide-Value Storage (<acronym>TOAST</>) - - - - - Consider TOAST compression on values as short as - 32 bytes (previously 256 bytes) (Tom) - - - - - - Require 25% of space savings before using TOAST - compression (previously 20%) (Tom) - - - - - - Be more aggressive in storing EXTERNAL and - EXTENDED column values in TOAST(Tom) - - - - - - - - - General Functions - - - - - Document that setseed() allows values from - -1 to 1 (not just 0 to - 1), and enforce the valid range (Kris Jurka) - - - - - - Add server side function lo_import(filename, oid) - (Tatsuo) - - - - - - Add quote_nullable(), which behaves like - quote_literal() but returns NULL for - a null argument (Brendan Jurd) - - - - - - Improve full text search headline() generation to - allow several fragments (Sushant Sinha) - - - - - - Add suppress_redundant_updates_trigger() trigger - function to avoid non-data-changing updates (Andrew) - - - - - - Add div(NUMERIC, NUMERIC) for NUMERIC - division, without rounding (Tom) - - - - - - Add TIMESTAMP and TIMESTAMPTZ versions of - generate_series() (Hitoshi Harada) - - - - - - - - - Object Information Functions - - - - - Implement current_query() for use by functions - that need to know the currently running query (Tomas Doran) - - - - - - Add pg_get_keywords() to return predefined - parser keywords (Dave Page) - - - - - - Add pg_get_functiondef() to see a functions - definition (Abhijit Menon-Sen) - - - - - - Modify pg_relation_size() to handle free space - map (*.fsm) files (Heikki) - - - - - - Modify pg_relation_size() to use regclass - (Heikki) - - - - pg_relation_size(data_type_name) no longer works. - - - - - - Add boot_val and reset_val columns to - pg_settings output (Greg Smith) - - - - - - Add support for CURRENT_CATALOG, - CURRENT_SCHEMA, SET CATALOG, SET - SCHEMA (Peter) - - - - These are SQL-standard capabilities. - - - - - - Add pg_typeof() which returns the data type - of any value (Brendan Jurd) - - - - - - Have version() return information about whether - the server is a 32 or 64-bit binary (Bruce) - - - - - - Fix the behavior of information schema columns - is_insertable_into and is_updatable to - be consistent (Peter) - - - - - - Convert remaining builtin set-returning functions to use - OUT parameters (Jaime Casanova) - - - - This makes it possible to call these functions without specifying - a column list: pg_show_all_settings(), - pg_lock_status(), pg_prepared_xact(), - pg_prepared_statement(), pg_cursor() - - - - - - Have pg_*_is_visible() and - has_*_privilege() functions return NULL - for invalid oids, rather than generate an error (Tom) - - - - - - Add has_column_privilege() and - has_any_column_privilege() functions (Stephen - Frost, Tom) - - - - - - - - - Function Creation - - - - - Support variadic functions (functions with a variable number - of arguments) (Pavel Stehule) - - - - Only trailing arguments can be optional, and they all must be - of the same data type. - - - - - - Allow DEFAULT values for function arguments (Pavel - Stehule) - - - - - - Add CREATE FUNCTION ... RETURNS TABLE clause (Pavel - Stehule) - - - - - - Allow SQL-language functions to return the output - of an INSERT/UPDATE/DELETE - RETURNING clause (Tom) - - - - Formerly only SELECT was supported. - - - - - - - - - PL/PgSQL Server-Side Language - - - - - Support EXECUTE USING (Pavel Stehule) - - - - - - Allow looping over an open cursor using a FOR - loop (Pavel Stehule) - - - - - - Support RETURN QUERY EXECUTE (Pavel - Stehule) - - - - - - Improve the RAISE command: (Pavel Stehule) - - - - - - - - - Support DETAIL and HINT fields - - - - - Support SQLSTATE error codes - - - - - Support an exception name parameter - - - - - Allow RAISE without parameters in an exception - block to rethrow the current error - - - - - - - - - Allow specification of SQLSTATE numeric codes - in EXCEPTION lists (Pavel Stehule) - - - - This is useful for handling custom SQLSTATE codes. - - - - - - Support the CASE statement (Pavel Stehule) - - - - - - Add FOUND and GET DIAGNOSTICS support - for the RETURN QUERY statement (Pavel Stehule) - - - - - - Add message translation support (Alvaro) - - - - - - - - - General <link linkend="APP-PSQL"><application>psql</></link> - - - - - Remove startup banner; now just suggest help - (Joshua Drake) - - - - - - Have help show common backslash commands (Greg - Sabino Mullane) - - - - - - Add \pset format wrapped mode to wrap output to the - screen width, or file/pipe output too if \pset columns - is set (Bryce Nesbitt) - - - - - - Use the pager for wide output (Bruce) - - - - - - Require a space between a backslash command and the first - argument (Bernd Helmle) - - - - - - Display access control rights on multiple lines (Brendan - Jurd, Andreas Scherbaum) - - - - - - Improve tab completion support for schema qualified and - quoted identifiers (Greg Sabino Mullane) - - - - - - Allow the normal range of boolean values in \pset, - rather than just on and off (Bruce) - - - - - - Add optional on/off arguments for - \timing (David Fetter) - - - - - - Have \l show access privileges (Andrew Gilligan) - - - - - - Have \l+ show database sizes, if permissions - allow (Andrew Gilligan) - - - - - - Add the \ef command to edit function definitions - (Abhijit Menon-Sen) - - - - \ef without a function name creates an empty - function template for editing. - - - - - - - - - <link linkend="APP-PSQL"><application>psql</></link> \d* - - - - - Have \d show cases where this table is referenced - as a foreign-key constraint (Kenneth D'Souza) - - - - - - Have \d show the value of sequence columns - (Euler Taveira de Oliveira) - - - - - - Add column storage type and other relation options to the - \d+ display (Gregory Stark, Euler Taveira de - Oliveira) - - - - - - Show relation size in \d+ output (Dickson S. - Guedes) - - - - - - Have all \d* commands show system objects only - if S is specified (Greg Sabino Mullane) - - - - \dt already behaved this way. bjm: accuate? - - - - - - Make \d and \dt consistent in - their display of system tables (Bruce) - - - - Previously, \d pg_class would show pg_class - while \dt pg_class would not. - - - - - - Show enumerated values in \dT+ (David Fetter) - - - - - - Allow \dC to accept wildcard patterns (Tom) - - - - - - Allow \d* commands to work with versions of - PostgreSQL back to 7.4 (Guillaume Lelarge) - - - - - - - - - <link linkend="APP-PGDUMP"><application>pg_dump</></link> - - - - - Add a --no-tablespaces option to - pg_dump/pg_dumpall/pg_restore - so dumps can be restored to clusters that have non-matching - tablespace layouts (Gavin Roy) - - - - - - Remove -i/--ignore-version option from - pg_dump and pg_dumpall (Tom) - - - - Use of this option does not throw an error, but it has no - effect. This option was removed because the version checks - are considered necessary. - - - - - - Disable statement_timeout during dump and restore - (Joshua Drake) - - - - - - Add pg_dump/pg_dumpall option - --lock-wait-timeout (David Gould) - - - - This allows dumps to fail if unable to acquire a shared lock - within the specified amount of time. - - - - - - Reorder pg_dump --data-only output - to dump primary-key tables referenced by foreign keys before - the foreign-key referencing tables (Tom) - - - - This allows data loads when foreign keys are already present. - If circular references make this impossible, a NOTICE - is issued. - - - - - - Allow pg_dump, pg_dumpall, and - pg_restore to use a specified role (Benedek - László) - - - - - - Allow pg_restore of a custom format archive to - use multiple concurrent connections to do the restore (Andrew) - - - - The number of concurrent connections is controlled by the option - --jobs. - - - - - - Add new pg_dump --binary-upgrade - option for use by binary upgrade utilities (Bruce) - - - - - - - - - Other Client Applications - - - - - Fix pg_ctl restart to preserve command-line arguments - (Bruce) - - - - - - Add -w/--no-password option that - suppresses password prompts to all utilities that have a - -W/--password option (Peter) - - - - - - Remove -q (quiet) option for create* and drop* - utility commands (Peter) - - - - These options have had no effect since PostgreSQL - 8.3. - - - - - - - - - General <link linkend="libpq"><application>libpq</></link> - - - - - Allow the OID to be specified when importing large - objects using lo_import_with_oid() (Tatsuo) - - - - - - Add events support (Andrew Chernow, Merlin Moncure) - - - - This adds the ability to register callbacks to handle private - data for connection and result creation and destruction. - - - - - - Improve error handling to allow the return of multiple - error messages as multi-line error reports (Magnus) - - - - - - Have PQexecParams() return - PGRES_EMPTY_QUERY for an empty query (Tom) - - - - It previously returned PGRES_COMMAND_OK. - - - - - - Document how to avoid the overhead of WSACleanup() - on Windows (Andrew Chernow) - - - - - - - - - <link linkend="libpq"><application>libpq</></link> - <acronym>SSL</> (Secure Sockets Layer) - - - - - Fix certificate validation for SSL connections - (Magnus) - - - - libpq now verifies both the certificate and - the name of the server by default when making SSL - connections. If a root certificate is not available to use for - verification, SSL connections will fail. The - sslverify parameter can be used to disable the host - and certificate verification if required. - - - - - - Allow the file locations for client certificates to be specified - (Mark Woodward, Alvaro, Magnus) - - - - - - Add connection parameter sslverify to control - the verification of the server's certificate - (Magnus) - - - - The default is full verification. - - - - - - Properly unregister OpenSSL callbacks when - libpq is done with all connection (Bruce, Magnus, Russell Smith) - - - - This is required for applications that unload the libpq library - so no invalid OpenSSL callbacks remain. - - - - - - - - - <link linkend="ecpg"><application>ecpg</></link> - - - - - Add localization support for messages (Euler Taveira de - Oliveira) - - + + Object Information Functions + + + + + Implement current_query() for use by functions + that need to know the currently running query (Tomas Doran) + + + + + + Add pg_get_keywords() to return predefined + parser keywords (Dave Page) + + + + + + Add pg_get_functiondef() to see a functions + definition (Abhijit Menon-Sen) + + + + + + Modify pg_relation_size() to handle free space + map (*.fsm) files (Heikki) + + + + + + Modify pg_relation_size() to use regclass + (Heikki) + + + + pg_relation_size(data_type_name) no longer works. + + + + + + Add boot_val and reset_val columns to + pg_settings output (Greg Smith) + + + + + + Add support for CURRENT_CATALOG, + CURRENT_SCHEMA, SET CATALOG, SET + SCHEMA (Peter) + + + + These are SQL-standard capabilities. + + + + + + Add pg_typeof() which returns the data type + of any value (Brendan Jurd) + + + + + + Have version() return information about whether + the server is a 32 or 64-bit binary (Bruce) + + + + + + Fix the behavior of information schema columns + is_insertable_into and is_updatable to + be consistent (Peter) + + + + + + Convert remaining builtin set-returning functions to use + OUT parameters (Jaime Casanova) + + + + This makes it possible to call these functions without specifying + a column list: pg_show_all_settings(), + pg_lock_status(), pg_prepared_xact(), + pg_prepared_statement(), pg_cursor() + + + + + + Have pg_*_is_visible() and + has_*_privilege() functions return NULL + for invalid oids, rather than generate an error (Tom) + + + + + + Add has_column_privilege() and + has_any_column_privilege() functions (Stephen + Frost, Tom) + + + + + + + + + Function Creation + + + + + Support variadic functions (functions with a variable number + of arguments) (Pavel Stehule) + + + + Only trailing arguments can be optional, and they all must be + of the same data type. + + + + + + Allow DEFAULT values for function arguments (Pavel + Stehule) + + + + + + Add CREATE FUNCTION ... RETURNS TABLE clause (Pavel + Stehule) + + + + + + Allow SQL-language functions to return the output + of an INSERT/UPDATE/DELETE + RETURNING clause (Tom) + + + + Formerly only SELECT was supported. + + + + + + + + + PL/PgSQL Server-Side Language + + + + + Support EXECUTE USING (Pavel Stehule) + + + + + + Allow looping over an open cursor using a FOR + loop (Pavel Stehule) + + + + + + Support RETURN QUERY EXECUTE (Pavel + Stehule) + + + + + + Improve the RAISE command: (Pavel Stehule) + + + + + + + + + Support DETAIL and HINT fields + + + + + Support SQLSTATE error codes + + + + + Support an exception name parameter + + + + + Allow RAISE without parameters in an exception + block to rethrow the current error + + + + + + + + + Allow specification of SQLSTATE numeric codes + in EXCEPTION lists (Pavel Stehule) + + + + This is useful for handling custom SQLSTATE codes. + + + + + + Support the CASE statement (Pavel Stehule) + + + + + + Add FOUND and GET DIAGNOSTICS support + for the RETURN QUERY statement (Pavel Stehule) + + + + + + Add message translation support (Alvaro) + + + + + + + + - - - ecpg parser is now automatically generated from the server - parser (Michael) - + + Client Applications - - Previously a separate ecpg parser was maintained. - - + + <link linkend="APP-PSQL"><application>psql</></link> + + + + + Remove startup banner; now just suggest help + (Joshua Drake) + + + + + + Have help show common backslash commands (Greg + Sabino Mullane) + + + + + + Add \pset format wrapped mode to wrap output to the + screen width, or file/pipe output too if \pset columns + is set (Bryce Nesbitt) + + + + + + Use the pager for wide output (Bruce) + + + + + + Require a space between a backslash command and the first + argument (Bernd Helmle) + + + + + + Display access control rights on multiple lines (Brendan + Jurd, Andreas Scherbaum) + + + + + + Improve tab completion support for schema qualified and + quoted identifiers (Greg Sabino Mullane) + + + + + + Allow the normal range of boolean values in \pset, + rather than just on and off (Bruce) + + + + + + Add optional on/off arguments for + \timing (David Fetter) + + + + + + Have \l show access privileges (Andrew Gilligan) + + + + + + Have \l+ show database sizes, if permissions + allow (Andrew Gilligan) + + + + + + Add the \ef command to edit function definitions + (Abhijit Menon-Sen) + + + + \ef without a function name creates an empty + function template for editing. + + + + + + + + + <link linkend="APP-PSQL"><application>psql</></link> \d* + + + + + Have \d show cases where this table is referenced + as a foreign-key constraint (Kenneth D'Souza) + + + + + + Have \d show the value of sequence columns + (Euler Taveira de Oliveira) + + + + + + Add column storage type and other relation options to the + \d+ display (Gregory Stark, Euler Taveira de + Oliveira) + + + + + + Show relation size in \d+ output (Dickson S. + Guedes) + + + + + + Have all \d* commands show system objects only + if S is specified (Greg Sabino Mullane) + + + + \dt already behaved this way. bjm: accuate? + + + + + + Make \d and \dt consistent in + their display of system tables (Bruce) + + + + Previously, \d pg_class would show pg_class + while \dt pg_class would not. + + + + + + Show enumerated values in \dT+ (David Fetter) + + + + + + Allow \dC to accept wildcard patterns (Tom) + + + + + + Allow \d* commands to work with versions of + PostgreSQL back to 7.4 (Guillaume Lelarge) + + + + + + - + + <link linkend="APP-PGDUMP"><application>pg_dump</></link> + + + + + Add a --no-tablespaces option to + pg_dump/pg_dumpall/pg_restore + so dumps can be restored to clusters that have non-matching + tablespace layouts (Gavin Roy) + + + + + + Remove -i/--ignore-version option from + pg_dump and pg_dumpall (Tom) + + + + Use of this option does not throw an error, but it has no + effect. This option was removed because the version checks + are considered necessary. + + + + + + Disable statement_timeout during dump and restore + (Joshua Drake) + + + + + + Add pg_dump/pg_dumpall option + --lock-wait-timeout (David Gould) + + + + This allows dumps to fail if unable to acquire a shared lock + within the specified amount of time. + + + + + + Reorder pg_dump --data-only output + to dump primary-key tables referenced by foreign keys before + the foreign-key referencing tables (Tom) + + + + This allows data loads when foreign keys are already present. + If circular references make this impossible, a NOTICE + is issued. + + + + + + Allow pg_dump, pg_dumpall, and + pg_restore to use a specified role (Benedek + László) + + + + + + Allow pg_restore of a custom format archive to + use multiple concurrent connections to do the restore (Andrew) + + + + The number of concurrent connections is controlled by the option + --jobs. + + + + + + Add new pg_dump --binary-upgrade + option for use by binary upgrade utilities (Bruce) + + + + + + + + + Other Client Applications + + + + + Fix pg_ctl restart to preserve command-line arguments + (Bruce) + + + + + + Add -w/--no-password option that + suppresses password prompts to all utilities that have a + -W/--password option (Peter) + + + + + + Remove -q (quiet) option for create* and drop* + utility commands (Peter) + + + + These options have had no effect since PostgreSQL + 8.3. + + + + + + - Server Programming Interface (<acronym>SPI</>) - - - - - Add support for single-use plans with out-of-line - parameters (Tom) - - - - - - Add new SPI_OK_REWRITTEN return code to - SPI_execute() (Heikki) - + Programming Tools - - This is used when a command is rewritten to another type of - command. - - - - + + <link linkend="libpq"><application>libpq</></link> + + + + + Allow the OID to be specified when importing large + objects using lo_import_with_oid() (Tatsuo) + + + + + + Add events support (Andrew Chernow, Merlin Moncure) + + + + This adds the ability to register callbacks to handle private + data for connection and result creation and destruction. + + + + + + Improve error handling to allow the return of multiple + error messages as multi-line error reports (Magnus) + + + + + + Have PQexecParams() return + PGRES_EMPTY_QUERY for an empty query (Tom) + + + + It previously returned PGRES_COMMAND_OK. + + + + + + Document how to avoid the overhead of WSACleanup() + on Windows (Andrew Chernow) + + + + + + + + <link linkend="libpq"><application>libpq</></link> + <acronym>SSL</> (Secure Sockets Layer) + + + + + Fix certificate validation for SSL connections + (Magnus) + + + + libpq now verifies both the certificate and + the name of the server by default when making SSL + connections. If a root certificate is not available to use for + verification, SSL connections will fail. The + sslverify parameter can be used to disable the host + and certificate verification if required. + + + + + + Allow the file locations for client certificates to be specified + (Mark Woodward, Alvaro, Magnus) + + + + + + Add connection parameter sslverify to control + the verification of the server's certificate + (Magnus) + + + + The default is full verification. + + + + + + Properly unregister OpenSSL callbacks when + libpq is done with all connection (Bruce, Magnus, Russell Smith) + + + + This is required for applications that unload the libpq library + so no invalid OpenSSL callbacks remain. + + + + + + + + + <link linkend="ecpg"><application>ecpg</></link> + + + + + Add localization support for messages (Euler Taveira de + Oliveira) + + + + + + ecpg parser is now automatically generated from the server + parser (Michael) + + + + Previously a separate ecpg parser was maintained. + + + + + + + + + Server Programming Interface (<acronym>SPI</>) + + + + + Add support for single-use plans with out-of-line + parameters (Tom) + + + + + + Add new SPI_OK_REWRITTEN return code to + SPI_execute() (Heikki) + + + + This is used when a command is rewritten to another type of + command. + + + + + + + - + Build Options -- 2.39.5