Server IP : 103.119.228.120 / Your IP : 18.117.105.215 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/postgresql-9.2.24/html/ |
Upload File : |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Release 7.2</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REV="MADE" HREF="mailto:pgsql-docs@postgresql.org"><LINK REL="HOME" TITLE="PostgreSQL 9.2.24 Documentation" HREF="index.html"><LINK REL="UP" TITLE="Release Notes" HREF="release.html"><LINK REL="PREVIOUS" TITLE="Release 7.2.1" HREF="release-7-2-1.html"><LINK REL="NEXT" TITLE="Release 7.1.3" HREF="release-7-1-3.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="stylesheet.css"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"><META NAME="creation" CONTENT="2017-11-06T22:43:11"></HEAD ><BODY CLASS="SECT1" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="5" ALIGN="center" VALIGN="bottom" ><A HREF="index.html" >PostgreSQL 9.2.24 Documentation</A ></TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A TITLE="Release 7.2.1" HREF="release-7-2-1.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A HREF="release.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="60%" ALIGN="center" VALIGN="bottom" >Appendix E. Release Notes</TD ><TD WIDTH="20%" ALIGN="right" VALIGN="top" ><A TITLE="Release 7.1.3" HREF="release-7-1-3.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="RELEASE-7-2" >E.258. Release 7.2</A ></H1 ><DIV CLASS="FORMALPARA" ><P ><B >Release date: </B >2002-02-04</P ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN144923" >E.258.1. Overview</A ></H2 ><P > This release improves <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > for use in high-volume applications. </P ><P > Major changes in this release: </P ><P ></P ><DIV CLASS="VARIABLELIST" ><DL ><DT >VACUUM</DT ><DD ><P > Vacuuming no longer locks tables, thus allowing normal user access during the vacuum. A new <TT CLASS="COMMAND" >VACUUM FULL</TT > command does old-style vacuum by locking the table and shrinking the on-disk copy of the table. </P ></DD ><DT >Transactions</DT ><DD ><P > There is no longer a problem with installations that exceed four billion transactions. </P ></DD ><DT >OIDs</DT ><DD ><P > OIDs are now optional. Users can now create tables without OIDs for cases where OID usage is excessive. </P ></DD ><DT >Optimizer</DT ><DD ><P > The system now computes histogram column statistics during <TT CLASS="COMMAND" >ANALYZE</TT >, allowing much better optimizer choices. </P ></DD ><DT >Security</DT ><DD ><P > A new MD5 encryption option allows more secure storage and transfer of passwords. A new Unix-domain socket authentication option is available on Linux and BSD systems. </P ></DD ><DT >Statistics</DT ><DD ><P > Administrators can use the new table access statistics module to get fine-grained information about table and index usage. </P ></DD ><DT >Internationalization</DT ><DD ><P > Program and library messages can now be displayed in several languages. </P ></DD ></DL ></DIV ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN144959" >E.258.2. Migration to Version 7.2</A ></H2 ><P > A dump/restore using <TT CLASS="COMMAND" >pg_dump</TT > is required for those wishing to migrate data from any previous release. </P ><P > Observe the following incompatibilities: </P ><P ></P ><UL ><LI ><P > The semantics of the <TT CLASS="COMMAND" >VACUUM</TT > command have changed in this release. You might wish to update your maintenance procedures accordingly. </P ></LI ><LI ><P > In this release, comparisons using <TT CLASS="LITERAL" >= NULL</TT > will always return false (or NULL, more precisely). Previous releases automatically transformed this syntax to <TT CLASS="LITERAL" >IS NULL</TT >. The old behavior can be re-enabled using a <TT CLASS="FILENAME" >postgresql.conf</TT > parameter. </P ></LI ><LI ><P > The <TT CLASS="FILENAME" >pg_hba.conf</TT > and <TT CLASS="FILENAME" >pg_ident.conf</TT > configuration is now only reloaded after receiving a <SPAN CLASS="SYSTEMITEM" >SIGHUP</SPAN > signal, not with each connection. </P ></LI ><LI ><P > The function <TT CLASS="FILENAME" >octet_length()</TT > now returns the uncompressed data length. </P ></LI ><LI ><P > The date/time value <TT CLASS="LITERAL" >'current'</TT > is no longer available. You will need to rewrite your applications. </P ></LI ><LI ><P > The <TT CLASS="LITERAL" >timestamp()</TT >, <TT CLASS="LITERAL" >time()</TT >, and <TT CLASS="LITERAL" >interval()</TT > functions are no longer available. Instead of <TT CLASS="LITERAL" >timestamp()</TT >, use <TT CLASS="LITERAL" >timestamp 'string'</TT > or <TT CLASS="LITERAL" >CAST</TT >. </P ></LI ></UL ><P > The <TT CLASS="LITERAL" >SELECT ... LIMIT #,#</TT > syntax will be removed in the next release. You should change your queries to use separate LIMIT and OFFSET clauses, e.g. <TT CLASS="LITERAL" >LIMIT 10 OFFSET 20</TT >. </P ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN144995" >E.258.3. Changes</A ></H2 ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN144997" >E.258.3.1. Server Operation</A ></H3 ><P ></P ><UL ><LI ><P >Create temporary files in a separate directory (Bruce)</P ></LI ><LI ><P >Delete orphaned temporary files on postmaster startup (Bruce)</P ></LI ><LI ><P >Added unique indexes to some system tables (Tom)</P ></LI ><LI ><P >System table operator reorganization (Oleg Bartunov, Teodor Sigaev, Tom)</P ></LI ><LI ><P >Renamed pg_log to pg_clog (Tom)</P ></LI ><LI ><P >Enable SIGTERM, SIGQUIT to kill backends (Jan)</P ></LI ><LI ><P >Removed compile-time limit on number of backends (Tom)</P ></LI ><LI ><P >Better cleanup for semaphore resource failure (Tatsuo, Tom)</P ></LI ><LI ><P >Allow safe transaction ID wraparound (Tom)</P ></LI ><LI ><P >Removed OIDs from some system tables (Tom)</P ></LI ><LI ><P >Removed "triggered data change violation" error check (Tom)</P ></LI ><LI ><P >SPI portal creation of prepared/saved plans (Jan)</P ></LI ><LI ><P >Allow SPI column functions to work for system columns (Tom)</P ></LI ><LI ><P >Long value compression improvement (Tom)</P ></LI ><LI ><P >Statistics collector for table, index access (Jan)</P ></LI ><LI ><P >Truncate extra-long sequence names to a reasonable value (Tom)</P ></LI ><LI ><P >Measure transaction times in milliseconds (Thomas)</P ></LI ><LI ><P >Fix TID sequential scans (Hiroshi)</P ></LI ><LI ><P >Superuser ID now fixed at 1 (Peter E)</P ></LI ><LI ><P >New pg_ctl "reload" option (Tom)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145040" >E.258.3.2. Performance</A ></H3 ><P ></P ><UL ><LI ><P >Optimizer improvements (Tom)</P ></LI ><LI ><P >New histogram column statistics for optimizer (Tom)</P ></LI ><LI ><P >Reuse write-ahead log files rather than discarding them (Tom)</P ></LI ><LI ><P >Cache improvements (Tom)</P ></LI ><LI ><P >IS NULL, IS NOT NULL optimizer improvement (Tom)</P ></LI ><LI ><P >Improve lock manager to reduce lock contention (Tom)</P ></LI ><LI ><P >Keep relcache entries for index access support functions (Tom)</P ></LI ><LI ><P >Allow better selectivity with NaN and infinities in NUMERIC (Tom)</P ></LI ><LI ><P >R-tree performance improvements (Kenneth Been)</P ></LI ><LI ><P >B-tree splits more efficient (Tom)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145063" >E.258.3.3. Privileges</A ></H3 ><P ></P ><UL ><LI ><P >Change UPDATE, DELETE privileges to be distinct (Peter E)</P ></LI ><LI ><P >New REFERENCES, TRIGGER privileges (Peter E)</P ></LI ><LI ><P >Allow GRANT/REVOKE to/from more than one user at a time (Peter E)</P ></LI ><LI ><P >New has_table_privilege() function (Joe Conway)</P ></LI ><LI ><P >Allow non-superuser to vacuum database (Tom)</P ></LI ><LI ><P >New SET SESSION AUTHORIZATION command (Peter E)</P ></LI ><LI ><P >Fix bug in privilege modifications on newly created tables (Tom)</P ></LI ><LI ><P >Disallow access to pg_statistic for non-superuser, add user-accessible views (Tom)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145082" >E.258.3.4. Client Authentication</A ></H3 ><P ></P ><UL ><LI ><P >Fork postmaster before doing authentication to prevent hangs (Peter E)</P ></LI ><LI ><P >Add ident authentication over Unix domain sockets on Linux, *BSD (Helge Bahmann, Oliver Elphick, Teodor Sigaev, Bruce)</P ></LI ><LI ><P >Add a password authentication method that uses MD5 encryption (Bruce)</P ></LI ><LI ><P >Allow encryption of stored passwords using MD5 (Bruce)</P ></LI ><LI ><P >PAM authentication (Dominic J. Eidson)</P ></LI ><LI ><P >Load pg_hba.conf and pg_ident.conf only on startup and SIGHUP (Bruce)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145097" >E.258.3.5. Server Configuration</A ></H3 ><P ></P ><UL ><LI ><P >Interpretation of some time zone abbreviations as Australian rather than North American now settable at run time (Bruce)</P ></LI ><LI ><P >New parameter to set default transaction isolation level (Peter E)</P ></LI ><LI ><P >New parameter to enable conversion of "expr = NULL" into "expr IS NULL", off by default (Peter E)</P ></LI ><LI ><P >New parameter to control memory usage by VACUUM (Tom)</P ></LI ><LI ><P >New parameter to set client authentication timeout (Tom)</P ></LI ><LI ><P >New parameter to set maximum number of open files (Tom)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145112" >E.258.3.6. Queries</A ></H3 ><P ></P ><UL ><LI ><P >Statements added by INSERT rules now execute after the INSERT (Jan)</P ></LI ><LI ><P >Prevent unadorned relation names in target list (Bruce)</P ></LI ><LI ><P >NULLs now sort after all normal values in ORDER BY (Tom)</P ></LI ><LI ><P >New IS UNKNOWN, IS NOT UNKNOWN Boolean tests (Tom)</P ></LI ><LI ><P >New SHARE UPDATE EXCLUSIVE lock mode (Tom)</P ></LI ><LI ><P >New EXPLAIN ANALYZE command that shows run times and row counts (Martijn van Oosterhout)</P ></LI ><LI ><P >Fix problem with LIMIT and subqueries (Tom)</P ></LI ><LI ><P >Fix for LIMIT, DISTINCT ON pushed into subqueries (Tom)</P ></LI ><LI ><P >Fix nested EXCEPT/INTERSECT (Tom)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145133" >E.258.3.7. Schema Manipulation</A ></H3 ><P ></P ><UL ><LI ><P >Fix SERIAL in temporary tables (Bruce)</P ></LI ><LI ><P >Allow temporary sequences (Bruce)</P ></LI ><LI ><P >Sequences now use int8 internally (Tom)</P ></LI ><LI ><P >New SERIAL8 creates int8 columns with sequences, default still SERIAL4 (Tom)</P ></LI ><LI ><P >Make OIDs optional using WITHOUT OIDS (Tom)</P ></LI ><LI ><P >Add %TYPE syntax to CREATE TYPE (Ian Lance Taylor)</P ></LI ><LI ><P >Add ALTER TABLE / DROP CONSTRAINT for CHECK constraints (Christopher Kings-Lynne)</P ></LI ><LI ><P >New CREATE OR REPLACE FUNCTION to alter existing function (preserving the function OID) (Gavin Sherry)</P ></LI ><LI ><P >Add ALTER TABLE / ADD [ UNIQUE | PRIMARY ] (Christopher Kings-Lynne)</P ></LI ><LI ><P >Allow column renaming in views</P ></LI ><LI ><P >Make ALTER TABLE / RENAME COLUMN update column names of indexes (Brent Verner)</P ></LI ><LI ><P >Fix for ALTER TABLE / ADD CONSTRAINT ... CHECK with inherited tables (Stephan Szabo)</P ></LI ><LI ><P >ALTER TABLE RENAME update foreign-key trigger arguments correctly (Brent Verner)</P ></LI ><LI ><P >DROP AGGREGATE and COMMENT ON AGGREGATE now accept an aggtype (Tom)</P ></LI ><LI ><P >Add automatic return type data casting for SQL functions (Tom)</P ></LI ><LI ><P >Allow GiST indexes to handle NULLs and multikey indexes (Oleg Bartunov, Teodor Sigaev, Tom)</P ></LI ><LI ><P >Enable partial indexes (Martijn van Oosterhout)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145170" >E.258.3.8. Utility Commands</A ></H3 ><P ></P ><UL ><LI ><P >Add RESET ALL, SHOW ALL (Marko Kreen)</P ></LI ><LI ><P >CREATE/ALTER USER/GROUP now allow options in any order (Vince)</P ></LI ><LI ><P >Add LOCK A, B, C functionality (Neil Padgett)</P ></LI ><LI ><P >New ENCRYPTED/UNENCRYPTED option to CREATE/ALTER USER (Bruce)</P ></LI ><LI ><P >New light-weight VACUUM does not lock table; old semantics are available as VACUUM FULL (Tom)</P ></LI ><LI ><P >Disable COPY TO/FROM on views (Bruce)</P ></LI ><LI ><P >COPY DELIMITERS string must be exactly one character (Tom)</P ></LI ><LI ><P >VACUUM warning about index tuples fewer than heap now only appears when appropriate (Martijn van Oosterhout)</P ></LI ><LI ><P >Fix privilege checks for CREATE INDEX (Tom)</P ></LI ><LI ><P >Disallow inappropriate use of CREATE/DROP INDEX/TRIGGER/VIEW (Tom)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145193" >E.258.3.9. Data Types and Functions</A ></H3 ><P ></P ><UL ><LI ><P >SUM(), AVG(), COUNT() now uses int8 internally for speed (Tom)</P ></LI ><LI ><P >Add convert(), convert2() (Tatsuo)</P ></LI ><LI ><P >New function bit_length() (Peter E)</P ></LI ><LI ><P >Make the "n" in CHAR(n)/VARCHAR(n) represents letters, not bytes (Tatsuo)</P ></LI ><LI ><P >CHAR(), VARCHAR() now reject strings that are too long (Peter E)</P ></LI ><LI ><P >BIT VARYING now rejects bit strings that are too long (Peter E)</P ></LI ><LI ><P >BIT now rejects bit strings that do not match declared size (Peter E)</P ></LI ><LI ><P >INET, CIDR text conversion functions (Alex Pilosov)</P ></LI ><LI ><P >INET, CIDR operators << and <<= indexable (Alex Pilosov)</P ></LI ><LI ><P >Bytea \### now requires valid three digit octal number</P ></LI ><LI ><P >Bytea comparison improvements, now supports =, <>, >, >=, <, and <=</P ></LI ><LI ><P >Bytea now supports B-tree indexes</P ></LI ><LI ><P >Bytea now supports LIKE, LIKE...ESCAPE, NOT LIKE, NOT LIKE...ESCAPE</P ></LI ><LI ><P >Bytea now supports concatenation</P ></LI ><LI ><P >New bytea functions: position, substring, trim, btrim, and length</P ></LI ><LI ><P >New encode() function mode, "escaped", converts minimally escaped bytea to/from text</P ></LI ><LI ><P >Add pg_database_encoding_max_length() (Tatsuo)</P ></LI ><LI ><P >Add pg_client_encoding() function (Tatsuo)</P ></LI ><LI ><P >now() returns time with millisecond precision (Thomas)</P ></LI ><LI ><P >New TIMESTAMP WITHOUT TIMEZONE data type (Thomas)</P ></LI ><LI ><P >Add ISO date/time specification with "T", yyyy-mm-ddThh:mm:ss (Thomas)</P ></LI ><LI ><P >New xid/int comparison functions (Hiroshi)</P ></LI ><LI ><P >Add precision to TIME, TIMESTAMP, and INTERVAL data types (Thomas)</P ></LI ><LI ><P >Modify type coercion logic to attempt binary-compatible functions first (Tom)</P ></LI ><LI ><P >New encode() function installed by default (Marko Kreen)</P ></LI ><LI ><P >Improved to_*() conversion functions (Karel Zak)</P ></LI ><LI ><P >Optimize LIKE/ILIKE when using single-byte encodings (Tatsuo)</P ></LI ><LI ><P >New functions in contrib/pgcrypto: crypt(), hmac(), encrypt(), gen_salt() (Marko Kreen)</P ></LI ><LI ><P >Correct description of translate() function (Bruce)</P ></LI ><LI ><P >Add INTERVAL argument for SET TIME ZONE (Thomas)</P ></LI ><LI ><P >Add INTERVAL YEAR TO MONTH (etc.) syntax (Thomas)</P ></LI ><LI ><P >Optimize length functions when using single-byte encodings (Tatsuo)</P ></LI ><LI ><P >Fix path_inter, path_distance, path_length, dist_ppath to handle closed paths (Curtis Barrett, Tom)</P ></LI ><LI ><P >octet_length(text) now returns non-compressed length (Tatsuo, Bruce)</P ></LI ><LI ><P >Handle "July" full name in date/time literals (Greg Sabino Mullane)</P ></LI ><LI ><P >Some datatype() function calls now evaluated differently</P ></LI ><LI ><P >Add support for Julian and ISO time specifications (Thomas)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145270" >E.258.3.10. Internationalization</A ></H3 ><P ></P ><UL ><LI ><P >National language support in psql, <SPAN CLASS="APPLICATION" >pg_dump</SPAN >, libpq, and server (Peter E)</P ></LI ><LI ><P >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)</P ></LI ><LI ><P >Make trim, ltrim, rtrim, btrim, lpad, rpad, translate multibyte aware (Tatsuo)</P ></LI ><LI ><P >Add LATIN5,6,7,8,9,10 support (Tatsuo)</P ></LI ><LI ><P >Add ISO 8859-5,6,7,8 support (Tatsuo)</P ></LI ><LI ><P >Correct LATIN5 to mean ISO-8859-9, not ISO-8859-5 (Tatsuo)</P ></LI ><LI ><P >Make mic2ascii() non-ASCII aware (Tatsuo)</P ></LI ><LI ><P >Reject invalid multibyte character sequences (Tatsuo)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145290" >E.258.3.11. <SPAN CLASS="APPLICATION" >PL/pgSQL</SPAN ></A ></H3 ><P ></P ><UL ><LI ><P >Now uses portals for SELECT loops, allowing huge result sets (Jan)</P ></LI ><LI ><P >CURSOR and REFCURSOR support (Jan)</P ></LI ><LI ><P >Can now return open cursors (Jan)</P ></LI ><LI ><P >Add ELSEIF (Klaus Reger)</P ></LI ><LI ><P >Improve PL/pgSQL error reporting, including location of error (Tom)</P ></LI ><LI ><P >Allow IS or FOR key words in cursor declaration, for compatibility (Bruce)</P ></LI ><LI ><P >Fix for SELECT ... FOR UPDATE (Tom)</P ></LI ><LI ><P >Fix for PERFORM returning multiple rows (Tom)</P ></LI ><LI ><P >Make PL/pgSQL use the server's type coercion code (Tom)</P ></LI ><LI ><P >Memory leak fix (Jan, Tom)</P ></LI ><LI ><P >Make trailing semicolon optional (Tom)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145316" >E.258.3.12. PL/Perl</A ></H3 ><P ></P ><UL ><LI ><P >New untrusted PL/Perl (Alex Pilosov)</P ></LI ><LI ><P >PL/Perl is now built on some platforms even if libperl is not shared (Peter E)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145323" >E.258.3.13. PL/Tcl</A ></H3 ><P ></P ><UL ><LI ><P >Now reports errorInfo (Vsevolod Lobko)</P ></LI ><LI ><P >Add spi_lastoid function (bob@redivi.com)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145330" >E.258.3.14. PL/Python</A ></H3 ><P ></P ><UL ><LI ><P >...is new (Andrew Bosma)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145335" >E.258.3.15. <SPAN CLASS="APPLICATION" >psql</SPAN ></A ></H3 ><P ></P ><UL ><LI ><P >\d displays indexes in unique, primary groupings (Christopher Kings-Lynne)</P ></LI ><LI ><P >Allow trailing semicolons in backslash commands (Greg Sabino Mullane)</P ></LI ><LI ><P >Read password from /dev/tty if possible</P ></LI ><LI ><P >Force new password prompt when changing user and database (Tatsuo, Tom)</P ></LI ><LI ><P >Format the correct number of columns for Unicode (Patrice)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145349" >E.258.3.16. <SPAN CLASS="APPLICATION" >libpq</SPAN ></A ></H3 ><P ></P ><UL ><LI ><P >New function PQescapeString() to escape quotes in command strings (Florian Weimer)</P ></LI ><LI ><P >New function PQescapeBytea() escapes binary strings for use as SQL string literals</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145357" >E.258.3.17. JDBC</A ></H3 ><P ></P ><UL ><LI ><P >Return OID of INSERT (Ken K)</P ></LI ><LI ><P >Handle more data types (Ken K)</P ></LI ><LI ><P >Handle single quotes and newlines in strings (Ken K)</P ></LI ><LI ><P >Handle NULL variables (Ken K)</P ></LI ><LI ><P >Fix for time zone handling (Barry Lind)</P ></LI ><LI ><P >Improved Druid support</P ></LI ><LI ><P >Allow eight-bit characters with non-multibyte server (Barry Lind)</P ></LI ><LI ><P >Support BIT, BINARY types (Ned Wolpert)</P ></LI ><LI ><P >Reduce memory usage (Michael Stephens, Dave Cramer)</P ></LI ><LI ><P >Update DatabaseMetaData (Peter E)</P ></LI ><LI ><P >Add DatabaseMetaData.getCatalogs() (Peter E)</P ></LI ><LI ><P >Encoding fixes (Anders Bengtsson)</P ></LI ><LI ><P >Get/setCatalog methods (Jason Davies)</P ></LI ><LI ><P >DatabaseMetaData.getColumns() now returns column defaults (Jason Davies)</P ></LI ><LI ><P >DatabaseMetaData.getColumns() performance improvement (Jeroen van Vianen)</P ></LI ><LI ><P >Some JDBC1 and JDBC2 merging (Anders Bengtsson)</P ></LI ><LI ><P >Transaction performance improvements (Barry Lind)</P ></LI ><LI ><P >Array fixes (Greg Zoller)</P ></LI ><LI ><P >Serialize addition </P ></LI ><LI ><P >Fix batch processing (Rene Pijlman)</P ></LI ><LI ><P >ExecSQL method reorganization (Anders Bengtsson)</P ></LI ><LI ><P >GetColumn() fixes (Jeroen van Vianen)</P ></LI ><LI ><P >Fix isWriteable() function (Rene Pijlman)</P ></LI ><LI ><P >Improved passage of JDBC2 conformance tests (Rene Pijlman)</P ></LI ><LI ><P >Add bytea type capability (Barry Lind)</P ></LI ><LI ><P >Add isNullable() (Rene Pijlman)</P ></LI ><LI ><P >JDBC date/time test suite fixes (Liam Stewart)</P ></LI ><LI ><P >Fix for SELECT 'id' AS xxx FROM table (Dave Cramer)</P ></LI ><LI ><P >Fix DatabaseMetaData to show precision properly (Mark Lillywhite)</P ></LI ><LI ><P >New getImported/getExported keys (Jason Davies)</P ></LI ><LI ><P >MD5 password encryption support (Jeremy Wohl)</P ></LI ><LI ><P >Fix to actually use type cache (Ned Wolpert)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145424" >E.258.3.18. ODBC</A ></H3 ><P ></P ><UL ><LI ><P >Remove query size limit (Hiroshi)</P ></LI ><LI ><P >Remove text field size limit (Hiroshi)</P ></LI ><LI ><P >Fix for SQLPrimaryKeys in multibyte mode (Hiroshi)</P ></LI ><LI ><P >Allow ODBC procedure calls (Hiroshi)</P ></LI ><LI ><P >Improve boolean handing (Aidan Mountford)</P ></LI ><LI ><P >Most configuration options now settable via DSN (Hiroshi)</P ></LI ><LI ><P >Multibyte, performance fixes (Hiroshi)</P ></LI ><LI ><P >Allow driver to be used with iODBC or unixODBC (Peter E)</P ></LI ><LI ><P >MD5 password encryption support (Bruce)</P ></LI ><LI ><P >Add more compatibility functions to odbc.sql (Peter E)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145447" >E.258.3.19. <SPAN CLASS="APPLICATION" >ECPG</SPAN ></A ></H3 ><P ></P ><UL ><LI ><P >EXECUTE ... INTO implemented (Christof Petig)</P ></LI ><LI ><P >Multiple row descriptor support (e.g. CARDINALITY) (Christof Petig)</P ></LI ><LI ><P >Fix for GRANT parameters (Lee Kindness)</P ></LI ><LI ><P >Fix INITIALLY DEFERRED bug</P ></LI ><LI ><P >Various bug fixes (Michael, Christof Petig)</P ></LI ><LI ><P >Auto allocation for indicator variable arrays (int *ind_p=NULL)</P ></LI ><LI ><P >Auto allocation for string arrays (char **foo_pp=NULL)</P ></LI ><LI ><P >ECPGfree_auto_mem fixed</P ></LI ><LI ><P >All function names with external linkage are now prefixed by ECPG</P ></LI ><LI ><P >Fixes for arrays of structures (Michael)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145471" >E.258.3.20. Misc. Interfaces</A ></H3 ><P ></P ><UL ><LI ><P >Python fix fetchone() (Gerhard Haring)</P ></LI ><LI ><P >Use UTF, Unicode in Tcl where appropriate (Vsevolod Lobko, Reinhard Max)</P ></LI ><LI ><P >Add Tcl COPY TO/FROM (ljb)</P ></LI ><LI ><P >Prevent output of default index op class in <SPAN CLASS="APPLICATION" >pg_dump</SPAN > (Tom)</P ></LI ><LI ><P >Fix libpgeasy memory leak (Bruce)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145485" >E.258.3.21. Build and Install</A ></H3 ><P ></P ><UL ><LI ><P >Configure, dynamic loader, and shared library fixes (Peter E)</P ></LI ><LI ><P >Fixes in QNX 4 port (Bernd Tegge)</P ></LI ><LI ><P >Fixes in Cygwin and Windows ports (Jason Tishler, Gerhard Haring, Dmitry Yurtaev, Darko Prenosil, Mikhail Terekhov)</P ></LI ><LI ><P >Fix for Windows socket communication failures (Magnus, Mikhail Terekhov)</P ></LI ><LI ><P >Hurd compile fix (Oliver Elphick)</P ></LI ><LI ><P >BeOS fixes (Cyril Velter)</P ></LI ><LI ><P >Remove configure --enable-unicode-conversion, now enabled by multibyte (Tatsuo)</P ></LI ><LI ><P >AIX fixes (Tatsuo, Andreas)</P ></LI ><LI ><P >Fix parallel make (Peter E)</P ></LI ><LI ><P >Install SQL language manual pages into OS-specific directories (Peter E)</P ></LI ><LI ><P >Rename config.h to pg_config.h (Peter E)</P ></LI ><LI ><P >Reorganize installation layout of header files (Peter E)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145512" >E.258.3.22. Source Code</A ></H3 ><P ></P ><UL ><LI ><P >Remove SEP_CHAR (Bruce)</P ></LI ><LI ><P >New GUC hooks (Tom)</P ></LI ><LI ><P >Merge GUC and command line handling (Marko Kreen)</P ></LI ><LI ><P >Remove EXTEND INDEX (Martijn van Oosterhout, Tom)</P ></LI ><LI ><P >New pgjindent utility to indent java code (Bruce)</P ></LI ><LI ><P >Remove define of true/false when compiling under C++ (Leandro Fanzone, Tom)</P ></LI ><LI ><P >pgindent fixes (Bruce, Tom)</P ></LI ><LI ><P >Replace strcasecmp() with strcmp() where appropriate (Peter E)</P ></LI ><LI ><P >Dynahash portability improvements (Tom)</P ></LI ><LI ><P >Add 'volatile' usage in spinlock structures</P ></LI ><LI ><P >Improve signal handling logic (Tom)</P ></LI ></UL ></DIV ><DIV CLASS="SECT3" ><H3 CLASS="SECT3" ><A NAME="AEN145537" >E.258.3.23. Contrib</A ></H3 ><P ></P ><UL ><LI ><P >New contrib/rtree_gist (Oleg Bartunov, Teodor Sigaev)</P ></LI ><LI ><P >New contrib/tsearch full-text indexing (Oleg, Teodor Sigaev)</P ></LI ><LI ><P >Add contrib/dblink for remote database access (Joe Conway)</P ></LI ><LI ><P >contrib/ora2pg Oracle conversion utility (Gilles Darold)</P ></LI ><LI ><P >contrib/xml XML conversion utility (John Gray)</P ></LI ><LI ><P >contrib/fulltextindex fixes (Christopher Kings-Lynne)</P ></LI ><LI ><P >New contrib/fuzzystrmatch with levenshtein and metaphone, soundex merged (Joe Conway)</P ></LI ><LI ><P >Add contrib/intarray boolean queries, binary search, fixes (Oleg Bartunov)</P ></LI ><LI ><P >New pg_upgrade utility (Bruce)</P ></LI ><LI ><P >Add new pg_resetxlog options (Bruce, Tom)</P ></LI ></UL ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="release-7-2-1.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="release-7-1-3.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Release 7.2.1</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="release.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Release 7.1.3</TD ></TR ></TABLE ></DIV ></BODY ></HTML >