E.24. �汾 7.2

��������: 2002-02-04

E.24.1. ����

����汾������ PostgreSQL �ڸ߸��ɻ��� �µ�������

����汾�����Ҫ�仯��

VACUUM

Vacuum ������ס����˾�������ͨ�û��� vacuum ��ʱ����ʣ� �µ� VACUUM FULL �������ľ����ϵ� vacuum������ �����ñ�Ȼ����С��Ĵ����ļ���

����

��������ʮ�ڴ�����������ˣ�

OID

OID �����ǿ�ѡ�ģ��û����ڿ��Բ��ô� OID ���������� �����ʹ�� OID��

�Ż���

ϵͳ������ ANALYZE ��ʱ�����ͳ������ͼ�� ������������õ��Ż���ѡ��

��ȫ��

�µ� MD5 ����ѡ�����������и���ȫ�Ŀ���洢�ʹ��䣮 �µ� Unix ���׽�����֤ѡ������� Linux �� BSD ϵͳ��ʹ�ã�

ͳ��

����Ա���ڿ���ʹ���µı����ͳ��ģ���ȡ�йر��������ʹ�÷��� �ĸ�ϸ�µ���Ϣ��

���ʻ�

����Ϳ���Ϣ���ڿ����Ժü���������ʾ��

E.24.2. �� 7.2 ��ֲ

����ʹ���κ���ǰ�汾������˵���� pg_dump ����һ��ת��/�ָ��DZ���ģ�

�۲�����IJ������ԡ�

SELECT ... LIMIT #,# �﷨������һ���汾��ɾ���� ��Ӧ�ø�д��IJ�ѯ������ LIMIT �� OFFSET �Ӿ䣬Ҳ����˵ LIMIT 10 OFFSET 20��

E.24.3. �仯

E.24.3.1. ����������

  • Create temporary files in a separate directory (Bruce)

  • Delete orphaned temporary files on postmaster startup (Bruce)

  • Added unique indexes to some system tables (Tom)

  • System table operator reorganization (Oleg Bartunov, Teodor Sigaev, Tom)

  • Renamed pg_log to pg_clog (Tom)

  • Enable SIGTERM, SIGQUIT to kill backends (Jan)

  • Removed compile-time limit on number of backends (Tom)

  • Better cleanup for semaphore resource failure (Tatsuo, Tom)

  • Allow safe transaction ID wraparound (Tom)

  • Removed OIDs from some system tables (Tom)

  • Removed "triggered data change violation" error check (Tom)

  • SPI portal creation of prepared/saved plans (Jan)

  • Allow SPI column functions to work for system columns (Tom)

  • Long value compression improvement (Tom)

  • Statistics collector for table, index access (Jan)

  • Truncate extra-long sequence names to a reasonable value (Tom)

  • Measure transaction times in milliseconds (Thomas)

  • Fix TID sequential scans (Hiroshi)

  • Superuser ID now fixed at 1 (Peter E)

  • New pg_ctl "reload" option (Tom)

E.24.3.2. ����

  • Optimizer improvements (Tom)

  • New histogram column statistics for optimizer (Tom)

  • Reuse write-ahead log files rather than discarding them (Tom)

  • Cache improvements (Tom)

  • IS NULL, IS NOT NULL optimizer improvement (Tom)

  • Improve lock manager to reduce lock contention (Tom)

  • Keep relcache entries for index access support functions (Tom)

  • Allow better selectivity with NaN and infinities in NUMERIC (Tom)

  • R-tree performance improvements (Kenneth Been)

  • B-tree splits more efficient (Tom)

E.24.3.3. Ȩ��

  • Change UPDATE, DELETE privileges to be distinct (Peter E)

  • New REFERENCES, TRIGGER privileges (Peter E)

  • Allow GRANT/REVOKE to/from more than one user at a time (Peter E)

  • New has_table_privilege() function (Joe Conway)

  • Allow non-superuser to vacuum database (Tom)

  • New SET SESSION AUTHORIZATION command (Peter E)

  • Fix bug in privilege modifications on newly created tables (Tom)

  • Disallow access to pg_statistic for non-superuser, add user-accessible views (Tom)

E.24.3.4. �ͻ�����֤

  • Fork postmaster before doing authentication to prevent hangs (Peter E)

  • Add ident authentication over Unix domain sockets on Linux, *BSD (Helge Bahmann, Oliver Elphick, Teodor Sigaev, Bruce)

  • Add a password authentication method that uses MD5 encryption (Bruce)

  • Allow encryption of stored passwords using MD5 (Bruce)

  • PAM authentication (Dominic J. Eidson)

  • Load pg_hba.conf and pg_ident.conf only on startup and SIGHUP (Bruce)

E.24.3.5. ����������

  • Interpretation of some time zone abbreviations as Australian rather than North American now settable at run time (Bruce)

  • New parameter to set default transaction isolation level (Peter E)

  • New parameter to enable conversion of "expr = NULL" into "expr IS NULL", off by default (Peter E)

  • New parameter to control memory usage by VACUUM (Tom)

  • New parameter to set client authentication timeout (Tom)

  • New parameter to set maximum number of open files (Tom)

E.24.3.6. ��ѯ

  • Statements added by INSERT rules now execute after the INSERT (Jan)

  • Prevent unadorned relation names in target list (Bruce)

  • NULLs now sort after all normal values in ORDER BY (Tom)

  • New IS UNKNOWN, IS NOT UNKNOWN Boolean tests (Tom)

  • New SHARE UPDATE EXCLUSIVE lock mode (Tom)

  • New EXPLAIN ANALYZE command that shows run times and row counts (Martijn van Oosterhout)

  • Fix problem with LIMIT and subqueries (Tom)

  • Fix for LIMIT, DISTINCT ON pushed into subqueries (Tom)

  • Fix nested EXCEPT/INTERSECT (Tom)

E.24.3.7. ģʽ����

  • Fix SERIAL in temporary tables (Bruce)

  • Allow temporary sequences (Bruce)

  • Sequences now use int8 internally (Tom)

  • New SERIAL8 creates int8 columns with sequences, default still SERIAL4 (Tom)

  • Make OIDs optional using WITHOUT OIDS (Tom)

  • Add %TYPE syntax to CREATE TYPE (Ian Lance Taylor)

  • Add ALTER TABLE / DROP CONSTRAINT for CHECK constraints (Christopher Kings-Lynne)

  • New CREATE OR REPLACE FUNCTION to alter existing function (preserving the function OID) (Gavin Sherry)

  • Add ALTER TABLE / ADD [ UNIQUE | PRIMARY ] (Christopher Kings-Lynne)

  • Allow column renaming in views

  • Make ALTER TABLE / RENAME COLUMN update column names of indexes (Brent Verner)

  • Fix for ALTER TABLE / ADD CONSTRAINT ... CHECK with inherited tables (Stephan Szabo)

  • ALTER TABLE RENAME update foreign-key trigger arguments correctly (Brent Verner)

  • DROP AGGREGATE and COMMENT ON AGGREGATE now accept an aggtype (Tom)

  • Add automatic return type data casting for SQL functions (Tom)

  • Allow GiST indexes to handle NULLs and multikey indexes (Oleg Bartunov, Teodor Sigaev, Tom)

  • Enable partial indexes (Martijn van Oosterhout)

E.24.3.8. ��������

  • Add RESET ALL, SHOW ALL (Marko Kreen)

  • CREATE/ALTER USER/GROUP now allow options in any order (Vince)

  • Add LOCK A, B, C functionality (Neil Padgett)

  • New ENCRYPTED/UNENCRYPTED option to CREATE/ALTER USER (Bruce)

  • New light-weight VACUUM does not lock table; old semantics are available as VACUUM FULL (Tom)

  • Disable COPY TO/FROM on views (Bruce)

  • COPY DELIMITERS string must be exactly one character (Tom)

  • VACUUM warning about index tuples fewer than heap now only appears when appropriate (Martijn van Oosterhout)

  • Fix privilege checks for CREATE INDEX (Tom)

  • Disallow inappropriate use of CREATE/DROP INDEX/TRIGGER/VIEW (Tom)

E.24.3.9. �������ͺͺ���

  • SUM(), AVG(), COUNT() now uses int8 internally for speed (Tom)

  • Add convert(), convert2() (Tatsuo)

  • New function bit_length() (Peter E)

  • Make the "n" in CHAR(n)/VARCHAR(n) represents letters, not bytes (Tatsuo)

  • CHAR(), VARCHAR() now reject strings that are too long (Peter E)

  • BIT VARYING now rejects bit strings that are too long (Peter E)

  • BIT now rejects bit strings that do not match declared size (Peter E)

  • INET, CIDR text conversion functions (Alex Pilosov)

  • INET, CIDR operators << and <<= indexable (Alex Pilosov)

  • Bytea \### now requires valid three digit octal number

  • Bytea comparison improvements, now supports =, <>, >, >=, <, and <=

  • Bytea now supports B-tree indexes

  • Bytea now supports LIKE, LIKE...ESCAPE, NOT LIKE, NOT LIKE...ESCAPE

  • Bytea now supports concatenation

  • New bytea functions: position, substring, trim, btrim, and length

  • New encode() function mode, "escaped", converts minimally escaped bytea to/from text

  • Add pg_database_encoding_max_length() (Tatsuo)

  • Add pg_client_encoding() function (Tatsuo)

  • now() returns time with millisecond precision (Thomas)

  • New TIMESTAMP WITHOUT TIMEZONE data type (Thomas)

  • Add ISO date/time specification with "T", yyyy-mm-ddThh:mm:ss (Thomas)

  • New xid/int comparison functions (Hiroshi)

  • Add precision to TIME, TIMESTAMP, and INTERVAL data types (Thomas)

  • Modify type coercion logic to attempt binary-compatible functions first (Tom)

  • New encode() function installed by default (Marko Kreen)

  • Improved to_*() conversion functions (Karel Zak)

  • Optimize LIKE/ILIKE when using single-byte encodings (Tatsuo)

  • New functions in contrib/pgcrypto: crypt(), hmac(), encrypt(), gen_salt() (Marko Kreen)

  • Correct description of translate() function (Bruce)

  • Add INTERVAL argument for SET TIME ZONE (Thomas)

  • Add INTERVAL YEAR TO MONTH (etc.) syntax (Thomas)

  • Optimize length functions when using single-byte encodings (Tatsuo)

  • Fix path_inter, path_distance, path_length, dist_ppath to handle closed paths (Curtis Barrett, Tom)

  • octet_length(text) now returns non-compressed length (Tatsuo, Bruce)

  • Handle "July" full name in date/time literals (Greg Sabino Mullane)

  • Some datatype() function calls now evaluated differently

  • Add support for Julian and ISO time specifications (Thomas)

E.24.3.10. ���ʻ�

  • National language support in psql, pg_dump, libpq, and server (Peter E)

  • Message translations in Chinese (simplified, traditional), Czech, French, German, Hungarian, Russian, Swedish (Peter E, Serguei A. Mokhov, Karel Zak, Weiping He, Zhenbang Wei, Kovacs Zoltan)

  • Make trim, ltrim, rtrim, btrim, lpad, rpad, translate multibyte aware (Tatsuo)

  • Add LATIN5,6,7,8,9,10 support (Tatsuo)

  • Add ISO 8859-5,6,7,8 support (Tatsuo)

  • Correct LATIN5 to mean ISO-8859-9, not ISO-8859-5 (Tatsuo)

  • Make mic2ascii() non-ASCII aware (Tatsuo)

  • Reject invalid multibyte character sequences (Tatsuo)

E.24.3.11. PL/pgSQL

  • Now uses portals for SELECT loops, allowing huge result sets (Jan)

  • CURSOR and REFCURSOR support (Jan)

  • Can now return open cursors (Jan)

  • Add ELSEIF (Klaus Reger)

  • Improve PL/pgSQL error reporting, including location of error (Tom)

  • Allow IS or FOR key words in cursor declaration, for compatibility (Bruce)

  • Fix for SELECT ... FOR UPDATE (Tom)

  • Fix for PERFORM returning multiple rows (Tom)

  • Make PL/pgSQL use the server's type coercion code (Tom)

  • Memory leak fix (Jan, Tom)

  • Make trailing semicolon optional (Tom)

E.24.3.12. PL/Perl

  • New untrusted PL/Perl (Alex Pilosov)

  • PL/Perl is now built on some platforms even if libperl is not shared (Peter E)

E.24.3.13. PL/Tcl

  • Now reports errorInfo (Vsevolod Lobko)

  • Add spi_lastoid function (bob@redivi.com)

E.24.3.14. PL/Python

  • ...is new (Andrew Bosma)

E.24.3.15. psql

  • \d displays indexes in unique, primary groupings (Christopher Kings-Lynne)

  • Allow trailing semicolons in backslash commands (Greg Sabino Mullane)

  • Read password from /dev/tty if possible

  • Force new password prompt when changing user and database (Tatsuo, Tom)

  • Format the correct number of columns for Unicode (Patrice)

E.24.3.16. libpq

  • New function PQescapeString() to escape quotes in command strings (Florian Weimer)

  • New function PQescapeBytea() escapes binary strings for use as SQL string literals

E.24.3.17. JDBC

  • Return OID of INSERT (Ken K)

  • Handle more data types (Ken K)

  • Handle single quotes and newlines in strings (Ken K)

  • Handle NULL variables (Ken K)

  • Fix for time zone handling (Barry Lind)

  • Improved Druid support

  • Allow eight-bit characters with non-multibyte server (Barry Lind)

  • Support BIT, BINARY types (Ned Wolpert)

  • Reduce memory usage (Michael Stephens, Dave Cramer)

  • Update DatabaseMetaData (Peter E)

  • Add DatabaseMetaData.getCatalogs() (Peter E)

  • Encoding fixes (Anders Bengtsson)

  • Get/setCatalog methods (Jason Davies)

  • DatabaseMetaData.getColumns() now returns column defaults (Jason Davies)

  • DatabaseMetaData.getColumns() performance improvement (Jeroen van Vianen)

  • Some JDBC1 and JDBC2 merging (Anders Bengtsson)

  • Transaction performance improvements (Barry Lind)

  • Array fixes (Greg Zoller)

  • Serialize addition

  • Fix batch processing (Rene Pijlman)

  • ExecSQL method reorganization (Anders Bengtsson)

  • GetColumn() fixes (Jeroen van Vianen)

  • Fix isWriteable() function (Rene Pijlman)

  • Improved passage of JDBC2 conformance tests (Rene Pijlman)

  • Add bytea type capability (Barry Lind)

  • Add isNullable() (Rene Pijlman)

  • JDBC date/time test suite fixes (Liam Stewart)

  • Fix for SELECT 'id' AS xxx FROM table (Dave Cramer)

  • Fix DatabaseMetaData to show precision properly (Mark Lillywhite)

  • New getImported/getExported keys (Jason Davies)

  • MD5 password encryption support (Jeremy Wohl)

  • Fix to actually use type cache (Ned Wolpert)

E.24.3.18. ODBC

  • Remove query size limit (Hiroshi)

  • Remove text field size limit (Hiroshi)

  • Fix for SQLPrimaryKeys in multibyte mode (Hiroshi)

  • Allow ODBC procedure calls (Hiroshi)

  • Improve boolean handing (Aidan Mountford)

  • Most configuration options now settable via DSN (Hiroshi)

  • Multibyte, performance fixes (Hiroshi)

  • Allow driver to be used with iODBC or unixODBC (Peter E)

  • MD5 password encryption support (Bruce)

  • Add more compatibility functions to odbc.sql (Peter E)

E.24.3.19. ECPG

  • EXECUTE ... INTO implemented (Christof Petig)

  • Multiple row descriptor support (e.g. CARDINALITY) (Christof Petig)

  • Fix for GRANT parameters (Lee Kindness)

  • Fix INITIALLY DEFERRED bug

  • Various bug fixes (Michael, Christof Petig)

  • Auto allocation for indicator variable arrays (int *ind_p=NULL)

  • Auto allocation for string arrays (char **foo_pp=NULL)

  • ECPGfree_auto_mem fixed

  • All function names with external linkage are now prefixed by ECPG

  • Fixes for arrays of structures (Michael)

E.24.3.20. ����ӿ�

  • Python fix fetchone() (Gerhard Haring)

  • Use UTF, Unicode in Tcl where appropriate (Vsevolod Lobko, Reinhard Max)

  • Add Tcl COPY TO/FROM (ljb)

  • Prevent output of default index op class in pg_dump (Tom)

  • Fix libpgeasy memory leak (Bruce)

E.24.3.21. �����Ͱ�װ

  • Configure, dynamic loader, and shared library fixes (Peter E)

  • Fixes in QNX 4 port (Bernd Tegge)

  • Fixes in Cygwin and Windows ports (Jason Tishler, Gerhard Haring, Dmitry Yurtaev, Darko Prenosil, Mikhail Terekhov)

  • Fix for Windows socket communication failures (Magnus, Mikhail Terekhov)

  • Hurd compile fix (Oliver Elphick)

  • BeOS fixes (Cyril Velter)

  • Remove configure --enable-unicode-conversion, now enabled by multibyte (Tatsuo)

  • AIX fixes (Tatsuo, Andreas)

  • Fix parallel make (Peter E)

  • Install SQL language manual pages into OS-specific directories (Peter E)

  • Rename config.h to pg_config.h (Peter E)

  • Reorganize installation layout of header files (Peter E)

E.24.3.22. Դ����

  • Remove SEP_CHAR (Bruce)

  • New GUC hooks (Tom)

  • Merge GUC and command line handling (Marko Kreen)

  • Remove EXTEND INDEX (Martijn van Oosterhout, Tom)

  • New pgjindent utility to indent java code (Bruce)

  • Remove define of true/false when compiling under C++ (Leandro Fanzone, Tom)

  • pgindent fixes (Bruce, Tom)

  • Replace strcasecmp() with strcmp() where appropriate (Peter E)

  • Dynahash portability improvements (Tom)

  • Add 'volatile' usage in spinlock structures

  • Improve signal handling logic (Tom)

E.24.3.23. ���װ�

  • New contrib/rtree_gist (Oleg Bartunov, Teodor Sigaev)

  • New contrib/tsearch full-text indexing (Oleg, Teodor Sigaev)

  • Add contrib/dblink for remote database access (Joe Conway)

  • contrib/ora2pg Oracle conversion utility (Gilles Darold)

  • contrib/xml XML conversion utility (John Gray)

  • contrib/fulltextindex fixes (Christopher Kings-Lynne)

  • New contrib/fuzzystrmatch with levenshtein and metaphone, soundex merged (Joe Conway)

  • Add contrib/intarray boolean queries, binary search, fixes (Oleg Bartunov)

  • New pg_upgrade utility (Bruce)

  • Add new pg_resetxlog options (Bruce, Tom)