Update HISTORY file for 7.4.
This commit is contained in:
parent
850489ab7e
commit
ed090b07cb
348
HISTORY
348
HISTORY
@ -1,33 +1,331 @@
|
|||||||
|
|
||||||
Release Notes
|
Release Notes
|
||||||
|
|
||||||
7.4 Development Branch
|
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
|
Valid as of 2003-08-01.
|
||||||
JOIN_COLLAPSE_LIMIT = 1
|
|
||||||
Performance of "foo IN (SELECT ...)" queries has been considerably
|
|
||||||
improved
|
Server Operation
|
||||||
FETCH 0 now re-fetches cursor's current row, per SQL spec
|
|
||||||
Revised executor state representation; plan trees are read-only
|
Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce, Tom, Kurt
|
||||||
to executor now
|
Roeckx, Andrew Dunstan)
|
||||||
Information schema
|
Fix SSL to handle errors cleanly (Nathan Mueller)
|
||||||
Domains now support CHECK constraints
|
SSL protocol security and performance improvements (Sean Chittenden)
|
||||||
psql backslash commands for listing conversions, casts, and schemas
|
Print lock information when a deadlock is detected (Tom)
|
||||||
TRUNCATE TABLE is transaction-safe
|
Update /tmp socket files regularly to avoid their removal (Tom)
|
||||||
CLUSTER can re-cluster a previously clustered table, or all such tables
|
Enable PAM for MAC OS X (Aaron Hillegass)
|
||||||
Statement-level triggers
|
Make btree indexes fully WAL-safe (Tom)
|
||||||
System can use either hash- or sort-based strategy for grouped
|
Allow btree index compaction and empty page reuse (Tom)
|
||||||
aggregation
|
Fix inconsistent index lookups during split of first root page (Tom)
|
||||||
ON COMMIT options for temp tables
|
Improve free space map allocation logic (Tom)
|
||||||
extra_float_digits option allows pg_dump to dump float data accurately
|
Preserve free space information between postmaster restarts (Tom)
|
||||||
Long options for psql and pg_dump are now available on all platforms
|
Set proper schema permissions in initdb (Peter)
|
||||||
Read-only transactions
|
Add start time to pg_stat_activity (Neil)
|
||||||
Object owners can allow grantees to grant the privilege to others
|
New code to detect corrupt disk pages; erase with zero_damaged_pages (Tom)
|
||||||
(grant option)
|
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
|
Release 7.3.3
|
||||||
|
Loading…
x
Reference in New Issue
Block a user