Update HISTORY file for 7.4.
This commit is contained in:
parent
850489ab7e
commit
ed090b07cb
350
HISTORY
350
HISTORY
@ -1,33 +1,331 @@
|
||||
|
||||
Release Notes
|
||||
|
||||
7.4 Development Branch
|
||||
|
||||
Below is a subset of the changes that have gone into the development
|
||||
branch of PostgreSQL since version 7.3. For a complete list of
|
||||
changes, consult the CVS logs.
|
||||
|
||||
Explicit JOINs no longer constrain query plan, unless
|
||||
JOIN_COLLAPSE_LIMIT = 1
|
||||
Performance of "foo IN (SELECT ...)" queries has been considerably
|
||||
improved
|
||||
FETCH 0 now re-fetches cursor's current row, per SQL spec
|
||||
Revised executor state representation; plan trees are read-only
|
||||
to executor now
|
||||
Information schema
|
||||
Domains now support CHECK constraints
|
||||
psql backslash commands for listing conversions, casts, and schemas
|
||||
TRUNCATE TABLE is transaction-safe
|
||||
CLUSTER can re-cluster a previously clustered table, or all such tables
|
||||
Statement-level triggers
|
||||
System can use either hash- or sort-based strategy for grouped
|
||||
aggregation
|
||||
ON COMMIT options for temp tables
|
||||
extra_float_digits option allows pg_dump to dump float data accurately
|
||||
Long options for psql and pg_dump are now available on all platforms
|
||||
Read-only transactions
|
||||
Object owners can allow grantees to grant the privilege to others
|
||||
(grant option)
|
||||
|
||||
Valid as of 2003-08-01.
|
||||
|
||||
|
||||
Server Operation
|
||||
|
||||
Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce, Tom, Kurt
|
||||
Roeckx, Andrew Dunstan)
|
||||
Fix SSL to handle errors cleanly (Nathan Mueller)
|
||||
SSL protocol security and performance improvements (Sean Chittenden)
|
||||
Print lock information when a deadlock is detected (Tom)
|
||||
Update /tmp socket files regularly to avoid their removal (Tom)
|
||||
Enable PAM for MAC OS X (Aaron Hillegass)
|
||||
Make btree indexes fully WAL-safe (Tom)
|
||||
Allow btree index compaction and empty page reuse (Tom)
|
||||
Fix inconsistent index lookups during split of first root page (Tom)
|
||||
Improve free space map allocation logic (Tom)
|
||||
Preserve free space information between postmaster restarts (Tom)
|
||||
Set proper schema permissions in initdb (Peter)
|
||||
Add start time to pg_stat_activity (Neil)
|
||||
New code to detect corrupt disk pages; erase with zero_damaged_pages (Tom)
|
||||
New client/server protocol: faster, no username length limit, allow
|
||||
clean exit
|
||||
Add transaction status, tableid, columnid to backend protocol (Tom)
|
||||
Add new binary I/O protocol (Tom)
|
||||
Remove autocommit server setting; move to client applications (Tom)
|
||||
New error message wording, error codes, and three levels of error detail (Tom)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Performance
|
||||
|
||||
Add hashing for GROUP BY aggregates (Tom)
|
||||
Allow nested loops to be smarter about multicolumn indexes (Tom)
|
||||
Allow multi-key hash joins (Tom)
|
||||
Improve constant folding (Tom)
|
||||
Add ability to inline simple SQL functions (Tom)
|
||||
Reduce memory usage for queries using complex functions (Tom)
|
||||
Improve GEQO optimizer performance (Tom)
|
||||
Allow IN/NOT IN to be handled via hash tables (Tom)
|
||||
Improve NOT IN (subquery) performance (Tom)
|
||||
Allow most IN subqueries to be processed as joins (Tom)
|
||||
Improve reverse index scan performance (Tom)
|
||||
Improve optimizer cost computations, particularly for subqueries (Tom)
|
||||
Assume WHERE a.x = b.y and b.y = 42 also means a.x = 42 (Tom)
|
||||
Allow hash/merge joins on complex joins (Tom)
|
||||
Allow hash joins for more data types (Tom)
|
||||
Allow join optimization of ANSI joins, disable with join_collapse_limit (Tom)
|
||||
Add from_collapse_limit to control conversion of subqueries to joins (Tom)
|
||||
Use faster regex code from TCL (Henry Spencer, Tom)
|
||||
Use bit-mapped relation sets in the optimizer (Tom)
|
||||
Improve backend startup time (Tom)
|
||||
Improve trigger/constraint performance (Stephan)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Server Configuration
|
||||
|
||||
Rename server parameter server_min_messages to log_min_messages (Bruce)
|
||||
Rename show_*_stats to log_*_stats (Bruce)
|
||||
Rename show_source_port to log_source_port (Bruce)
|
||||
Rename hostname_lookup to log_hostname (Bruce)
|
||||
Add checkpoint_warning to warn of excessive checkpointing (Bruce)
|
||||
Allow the postmaster to preload libraries using preload_libraries (Joe)
|
||||
New read-only server parameters for localization (Tom)
|
||||
Change debug server log messages to output as DEBUG rather than LOG (Bruce)
|
||||
Prevent server log variables from being turned off by non-super users (Bruce)
|
||||
log_min_messages/client_min_messages now controls debug_* output (Bruce)
|
||||
Add Rendezvous server support (Chris Campbell)
|
||||
Add ability to print only slow statements using log_min_duration_statement
|
||||
(Christopher)
|
||||
Allow pg_hba.conf to accept netmasks in CIDR format (Andrew Dunstan)
|
||||
New is_superuser read-only variable (Tom)
|
||||
New server-side parameter log_error_verbosity to control error detail (Tom)
|
||||
postgres --help-config now dumps server config variables (Tom)
|
||||
Make default shared_buffers 1000 and max_connections 100, if possible (Tom)
|
||||
Add pg_settings table to see server settings (Joe)
|
||||
Prevent assign_session_authorization() from being confused by
|
||||
all-numeric user names (Tom)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Queries
|
||||
|
||||
New SQL-standard information schema (Peter)
|
||||
Add read-only transactions (Peter)
|
||||
Add server variable regex_flavor to control regular expression
|
||||
processing (Tom)
|
||||
Allow ORDER BY in FROM subqueries to be honored by outer queries (Tom)
|
||||
Print key name in foreign-key violation messages (Dmitry Tkach)
|
||||
Allow users to see their own queries in pg_stat_activity (Kevin Brown)
|
||||
Allow subquery aggregates to reference upper query columns (?) (Tom)
|
||||
Add option to prevent auto-addition of tables referenced in query (Nigel J.
|
||||
Andrews)
|
||||
Allow dollar signs in identifiers, except as first character (Tom)
|
||||
Allow UPDATE ... SET col = DEFAULT (Rod)
|
||||
Allow expressions to be used in LIMIT/OFFSET (Tom)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Object Manipulation
|
||||
|
||||
Make CREATE SEQUENCE grammar more SQL1999 standards compliant (Neil)
|
||||
Add FOR EACH STATEMENT statement-level triggers (Neil Conway)
|
||||
Add DOMAIN CHECK constraints (Rod)
|
||||
Add ALTER DOMAIN .. SET / DROP NOT NULL, SET / DROP DEFAULT, ADD / DROP
|
||||
CONSTRAINT (Rod)
|
||||
Allow zero-column tables (Tom)
|
||||
Have ALTER TABLE ... ADD PRIMARY KEY add NOT NULL constraint (Rod)
|
||||
Add ALTER DOMAIN OWNER (Rod)
|
||||
Add pg_trigger.tgenabled to disable triggers? (Neil)
|
||||
Add ALTER TABLE ... WITHOUT OIDS? (Rod)
|
||||
Have parser honor foreign-key constraints if created via ALTER TABLE ADD
|
||||
COLUMN? (Tom)
|
||||
Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values (Rod)
|
||||
Add ALTER TABLE ... CLUSTER ON (Alvaro Herrera)
|
||||
Improve DOMAIN automatic type casting (Tom)
|
||||
Disallow dollar signs in operator names (Tom)
|
||||
Allow SQL200X inheritance syntax LIKE <subtable>, INCLUDING DEFAULTS? (Rod)
|
||||
Object owners can allow grantees to grant privilege to others?
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Utility Commands
|
||||
|
||||
Add ON COMMIT PRESERVE ROWS for temp tables (Gavin)
|
||||
Allow cursors outside transactions using WITH HOLD (Neil)
|
||||
Make MOVE/FETCH 0 actually move/fetch 0 (Bruce)
|
||||
Add MOVE ALL to move to end of cursor (Bruce)
|
||||
Cause FETCH 1 to return the current cursor row, or zero if at
|
||||
beginning/end of cursor, per SQL spec (Bruce)
|
||||
Have MOVE return 0 or 1 depending on cursor position (Bruce)
|
||||
Properly handle SCROLL with cursors, or report an error (Tom)
|
||||
Implement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n options
|
||||
for FETCH and MOVE (Tom)
|
||||
Allow EXPLAIN on DECLARE CURSOR (Tom)
|
||||
Allow CLUSTER to use index marked as pre-clustered by default (Alvaro Herrera)
|
||||
Allow CLUSTER without tablename clusters all tables (Alvaro Herrera)
|
||||
Prevent CLUSTER on partial indexes (Tom)
|
||||
Allow \r and \r\n termination for COPY files (Bruce)
|
||||
Disallow literal carriage return as a data value, backslash-carriage-return
|
||||
and \r still allowed (Bruce)
|
||||
COPY changes (binary, \.)? (Tom)
|
||||
Recover from COPY IN/OUT failure cleanly (Tom)
|
||||
Reduce memory used by COPY (Tom)
|
||||
Make TRUNCATE transaction-safe (Rod)
|
||||
Multiple pg_dump fixes, including tar format and large objects
|
||||
Allow pg_dump to dump specific schemas (Neil)
|
||||
Allow pg_dump to preserve column storage characteristics (Christopher)
|
||||
Allow pg_dump to preserve CLUSTER characteristics (Christopher)
|
||||
Have pg_dumpall use GRANT/REVOKE to dump database-level permissions (Tom)
|
||||
Allow pg_dumpall to support the -a, -s, -x options of pg_dump (Tom)
|
||||
Prevent pg_dump from lowercasing identifiers specified on the command line (Tom)
|
||||
Allow EXPLAIN EXECUTE (Neil)
|
||||
Allow pg_get_constraintdef() to support UNIQUE, PRIMARY KEY and
|
||||
CHECK constraints (Christopher)
|
||||
Improve VACUUM performance on indexes by reducing WAL traffic (Tom)
|
||||
Allow pg_ctl to better handle non-standard ports (Greg)
|
||||
Functional indexes now support indexes on column expressions (Tom)
|
||||
Syntax errors now reported as 'syntax error' rather than 'parse error' (Tom)
|
||||
Have SHOW TRANSACTION_ISOLATION match input to SET TRANSACTION_ISOLATION (Tom)
|
||||
Have COMMENT ON DATABASE on non-local database generate a warning (Tom)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Data Types and Functions
|
||||
|
||||
New extra_float_digits server parameter to control float precision display
|
||||
(Pedro Ferreira, Tom)
|
||||
Allow +1300 as a numeric timezone specifier, for FJST (Tom)
|
||||
Remove rarely used oidrand(), oidsrand(), and userfntest() functions (Neil)
|
||||
Add md5() function to main server, already in /contrib/pgcrypto (Joe)
|
||||
Increase date range of timestamp (John Cochran)
|
||||
Change EXTRACT(EPOCH FROM timestamp) so timestamp without time zone
|
||||
is assumed to be in local time, not GMT (Tom)
|
||||
Trap division by zero in case the operating system doesn't prevent it (Tom)
|
||||
Change the NUMERIC data type internally to base 10000 (Tom)
|
||||
New hostmast() function (Greg Wickham)
|
||||
Fixes for to_char() (Karel)
|
||||
Allow functions that can take any argument data type and return
|
||||
any data type, using ANYELEMENT and ANYARRAY (Joe)
|
||||
Arrays may now be specified as ARRAY[1,2,3], ARRAY[['a','b'],['c','d']],
|
||||
or ARRAY[ARRAY[ARRAY[2]]] (Joe)
|
||||
Allow proper comparisons for arrays (Joe)
|
||||
Allow indexes on array columns, and used in ORDER BY and DISTINCT (Joe)
|
||||
Allow WHERE qualifications of the form 'col IN/ANY/SOME/ALL (array) (?) (Joe)
|
||||
Allow SQL functions to return arrays and take them as params (Joe)
|
||||
Allow array concatenation with '||' and normal array comparisons (Joe)
|
||||
New array functions array_append(), array_cat(), array_lower(),
|
||||
array_prepend(), array_to_string(), array_upper(), string_to_array() (Joe)
|
||||
Allow assignments to empty arrays (Joe)
|
||||
Allow 60 in seconds fields of timestamp, time, interval input values (Tom)
|
||||
Allow PREPARE/bind of utility commands like FETCH and EXPLAIN (Tom)
|
||||
Allow CIDR data type to be cast to text (Tom)
|
||||
Allow the creation of special LIKE indexes for non-C locales (Peter)
|
||||
Disallow invalid timezone names (Tom)
|
||||
Trim trailing spaces when CHAR() data is cast to VARCHAR or TEXT (Tom)
|
||||
Make FLOAT(p) measure the precision p in bits, not decimal digits (Tom)
|
||||
Add IPv6 support to the inet and cidr data types (Michael Graff)
|
||||
Add family() function to report whether address is IPv4 or IPv6 (Michael Graff)
|
||||
Have SHOW DATESTYLE generate output similar to that used by SET DATESTYLE (Tom)
|
||||
Change DATESTYLE to output its value in a more common format (Tom)
|
||||
Make EXTRACT(TIMEZONE) and SET/SHOW TIMEZONE follow the SQL convention
|
||||
for the sign of timezone offsets, ie, positive is east from UTC (Tom)
|
||||
Fix date_trunc('quarter',...) (B?jthe Zolt?n)
|
||||
Make initcap() more compatible with Oracle (Mike Nolan)
|
||||
Honor only DateStyle setting for date entry without a four-digit year (Greg)
|
||||
Add new DateStyle values MDY, DMY, and YMD, honor US and European for
|
||||
backward compatibility (Tom)
|
||||
'now' will no longer work as a default, use now() (change required for prepared
|
||||
statements) (Tom)
|
||||
Assume NaN value to be larger than any other value in comparisons (Tom)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Server-side Languages
|
||||
|
||||
Prevent PL/pgSQL crash when RETURN NEXT is used on a zero-row record (Tom)
|
||||
Make PL/python's spi_execute interface handle NULLs properly (Andrew Bosma)
|
||||
Allow PL/pgSQL to declare variables of composite types without %ROWTYPE (Tom)
|
||||
Fix PL/python _quote() function to handle big integers (?)
|
||||
Make PL/python an untrusted language, now called plpythonu (Kevin Jacobs, Tom)
|
||||
Change PL/pgSQL EXECUTE INTO to CREATE TABLE AS EXECUTE? (Peter)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Psql
|
||||
|
||||
Add "\pset pager always" to always use pager (Greg)
|
||||
Improve tab completion (Rod, Ross Reedstrom, Ian Barwick)
|
||||
Reorder \? help into groupings (Harald Armin Massa, Bruce)
|
||||
Add schema, cast, and conversion backslash commands (Christopher)
|
||||
\encoding now tracks client_encoding server variable (Tom)
|
||||
Save edit history into readline history (Ross)
|
||||
Improve \d display (Christopher)
|
||||
Enhance HTML mode to be more standards-compliant (Greg)
|
||||
New '\set autocommit off' capability (Tom)
|
||||
New '\set verbosity' to control error detail (Tom)
|
||||
New %T prompt string to show transaction status (Tom)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Libpq
|
||||
|
||||
Allow PQcmdTuples() to return row counts for MOVE and FETCH (Neil)
|
||||
Add PQfreemem() for freeing memory on Win32, suggest for NOTIFY (Bruce)
|
||||
Document service capability, and add sample file (Bruce)
|
||||
Make PQsetdbLogin() have the same defaults as PQconnectdb() (Tom)
|
||||
Allow libpq to cleanly fail when result sets are too large (Tom)
|
||||
Improve performance of PGunescapeBytea() (Ben Lamb)
|
||||
Allow threaded with --enable-thread-safety (Lee Kindness, Bruce)
|
||||
Allow pqInternalNotice() to accept a format string and args instead of
|
||||
just a preformatted message (Tom, Sean Chittenden)
|
||||
Allow control SSL negotiation with sslmode values "disable", "allow",
|
||||
"Prefer", and "require" (Jon Jensen)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
JDBC
|
||||
|
||||
Allow setNull on updateable resultsets
|
||||
Allow executeBatch on a prepared statement (Barry)
|
||||
Support SSL connections (Barry)
|
||||
Handle schema names in result sets (Paul Sorenson)
|
||||
Add refcursor support (Nic Ferrier)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Miscellaneous Interfaces
|
||||
|
||||
Prevent possible memory leak or core dump during libpgtcl shutdown (Tom)
|
||||
Add ecpg Informix compatibility (Michael)
|
||||
Add ecpg DECIMAL type that is fixed length, for Informix (Michael)
|
||||
Allow threaded ecpg with --enable-thread-safety (Lee Kindness, Bruce)
|
||||
Allow client interfaces to compile under MinGW/win32 (Bruce)
|
||||
Move python client interface to http://www.pygresql.org (Marc)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Source Code
|
||||
|
||||
Prevent need for separate platform geometry regression result files (Tom)
|
||||
Improved PPC locking primitive (Reinhard Max)
|
||||
Embed LD_LIBRARY_PATH used for build process into binaries (Billy)
|
||||
New palloc0 to allocate and clear memory (Bruce)
|
||||
Fix locking code for s390x CPU (64-bit) (Tom)
|
||||
Allow OpenBSD to use local indent credentials (William Ahern)
|
||||
Allow read-only query plans (Tom)
|
||||
Add Darwin startup scripts (David Wheeler)
|
||||
Allow libpq to compile with Borland C++ compiler (Lester Godwin, Karl Waclawek)
|
||||
Use our own version of getopt_long() if needed (Peter)
|
||||
Convert administration scripts to C (Peter)
|
||||
Bison >=1.85 is now required for grammar changes
|
||||
Merge documentation into one book (Peter)
|
||||
Add Win32 compatibility functions (Bruce)
|
||||
New ereport() function for error reporting (Tom)
|
||||
Support Intel Linux compiler (Peter)
|
||||
Improve Linux startup scripts (Slawomir Sudnik, Darko Prenosil)
|
||||
Add support for AMD Opteron and Itanium (Jeffrey W. Baker, Bruce)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Contrib
|
||||
|
||||
Change dbmirror license to BSD
|
||||
Improve earthdistance (Bruno Wolff III)
|
||||
Portability improvements to pgcrypto (Marko Kreen)
|
||||
Prevent xml crash (John Gray, Michael Richards)
|
||||
Upgrade oracle
|
||||
Upgrade mysql
|
||||
Update cube (Bruno Wolff III)
|
||||
Update earthdistance to use cube (Bruno Wolff III)
|
||||
Update btree_gist (Oleg)
|
||||
Add hashes to tablefuncs (Joe)
|
||||
New pg_autovacuum allows automatic VACUUM (Matthew T. O'Connor)
|
||||
Allow pgbench to honor PGHOST, PGPORT, PGUSER env. variables (Tatsuo)
|
||||
Improve intarray (Teodor Sigaev)
|
||||
Improve pgstattuple (Rod)
|
||||
Fix second argument to metaphone() in fullystrmatch
|
||||
Add named persistent connections to dblink (Shridhar Daithanka)
|
||||
Improve adddepend (Rod)
|
||||
Update spi/timetravel (B?jthe Zolt?n)
|
||||
Fix dbase -s option (Thomas Behr)
|
||||
|
||||
_________________________________________________________________
|
||||
|
||||
Release 7.3.3
|
||||
|
Loading…
x
Reference in New Issue
Block a user