Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
proc
/
self
/
root
/
proc
/
self
/
root
/
opt
/
postgresql-11.1-201812121535
/
doc
/
html
/
//proc/self/root/proc/self/root/opt/postgresql-11.1-201812121535/doc/html/release-7-2.html
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>E.342. Release 7.2</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="prev" href="release-7-2-1.html" title="E.341. Release 7.2.1" /><link rel="next" href="release-7-1-3.html" title="E.343. Release 7.1.3" /></head><body><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">E.342. Release 7.2</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release-7-2-1.html" title="E.341. Release 7.2.1">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="release.html" title="Appendix E. Release Notes">Up</a></td><th width="60%" align="center">Appendix E. Release Notes</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 11.1 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="release-7-1-3.html" title="E.343. Release 7.1.3">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="RELEASE-7-2"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.342. Release 7.2</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-7-2.html#id-1.11.6.346.3">E.342.1. Overview</a></span></dt><dt><span class="sect2"><a href="release-7-2.html#id-1.11.6.346.4">E.342.2. Migration to Version 7.2</a></span></dt><dt><span class="sect2"><a href="release-7-2.html#id-1.11.6.346.5">E.342.3. Changes</a></span></dt></dl></div><p><strong>Release date: </strong>2002-02-04</p><div class="sect2" id="id-1.11.6.346.3"><div class="titlepage"><div><div><h3 class="title">E.342.1. Overview</h3></div></div></div><p> This release improves <span class="productname">PostgreSQL</span> for use in high-volume applications. </p><p> Major changes in this release: </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">VACUUM</span></dt><dd><p> Vacuuming no longer locks tables, thus allowing normal user access during the vacuum. A new <code class="command">VACUUM FULL</code> command does old-style vacuum by locking the table and shrinking the on-disk copy of the table. </p></dd><dt><span class="term">Transactions</span></dt><dd><p> There is no longer a problem with installations that exceed four billion transactions. </p></dd><dt><span class="term">OIDs</span></dt><dd><p> OIDs are now optional. Users can now create tables without OIDs for cases where OID usage is excessive. </p></dd><dt><span class="term">Optimizer</span></dt><dd><p> The system now computes histogram column statistics during <code class="command">ANALYZE</code>, allowing much better optimizer choices. </p></dd><dt><span class="term">Security</span></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><span class="term">Statistics</span></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><span class="term">Internationalization</span></dt><dd><p> Program and library messages can now be displayed in several languages. </p></dd></dl></div></div><div class="sect2" id="id-1.11.6.346.4"><div class="titlepage"><div><div><h3 class="title">E.342.2. Migration to Version 7.2</h3></div></div></div><p> A dump/restore using <code class="command">pg_dump</code> is required for those wishing to migrate data from any previous release. </p><p> Observe the following incompatibilities: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p> The semantics of the <code class="command">VACUUM</code> command have changed in this release. You might wish to update your maintenance procedures accordingly. </p></li><li class="listitem"><p> In this release, comparisons using <code class="literal">= NULL</code> will always return false (or NULL, more precisely). Previous releases automatically transformed this syntax to <code class="literal">IS NULL</code>. The old behavior can be re-enabled using a <code class="filename">postgresql.conf</code> parameter. </p></li><li class="listitem"><p> The <code class="filename">pg_hba.conf</code> and <code class="filename">pg_ident.conf</code> configuration is now only reloaded after receiving a <span class="systemitem">SIGHUP</span> signal, not with each connection. </p></li><li class="listitem"><p> The function <code class="filename">octet_length()</code> now returns the uncompressed data length. </p></li><li class="listitem"><p> The date/time value <code class="literal">'current'</code> is no longer available. You will need to rewrite your applications. </p></li><li class="listitem"><p> The <code class="literal">timestamp()</code>, <code class="literal">time()</code>, and <code class="literal">interval()</code> functions are no longer available. Instead of <code class="literal">timestamp()</code>, use <code class="literal">timestamp 'string'</code> or <code class="literal">CAST</code>. </p></li></ul></div><p> The <code class="literal">SELECT ... LIMIT #,#</code> syntax will be removed in the next release. You should change your queries to use separate LIMIT and OFFSET clauses, e.g. <code class="literal">LIMIT 10 OFFSET 20</code>. </p></div><div class="sect2" id="id-1.11.6.346.5"><div class="titlepage"><div><div><h3 class="title">E.342.3. Changes</h3></div></div></div><div class="sect3" id="id-1.11.6.346.5.2"><div class="titlepage"><div><div><h4 class="title">E.342.3.1. Server Operation</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Create temporary files in a separate directory (Bruce)</p></li><li class="listitem"><p>Delete orphaned temporary files on postmaster startup (Bruce)</p></li><li class="listitem"><p>Added unique indexes to some system tables (Tom)</p></li><li class="listitem"><p>System table operator reorganization (Oleg Bartunov, Teodor Sigaev, Tom)</p></li><li class="listitem"><p>Renamed pg_log to pg_clog (Tom)</p></li><li class="listitem"><p>Enable SIGTERM, SIGQUIT to kill backends (Jan)</p></li><li class="listitem"><p>Removed compile-time limit on number of backends (Tom)</p></li><li class="listitem"><p>Better cleanup for semaphore resource failure (Tatsuo, Tom)</p></li><li class="listitem"><p>Allow safe transaction ID wraparound (Tom)</p></li><li class="listitem"><p>Removed OIDs from some system tables (Tom)</p></li><li class="listitem"><p>Removed "triggered data change violation" error check (Tom)</p></li><li class="listitem"><p>SPI portal creation of prepared/saved plans (Jan)</p></li><li class="listitem"><p>Allow SPI column functions to work for system columns (Tom)</p></li><li class="listitem"><p>Long value compression improvement (Tom)</p></li><li class="listitem"><p>Statistics collector for table, index access (Jan)</p></li><li class="listitem"><p>Truncate extra-long sequence names to a reasonable value (Tom)</p></li><li class="listitem"><p>Measure transaction times in milliseconds (Thomas)</p></li><li class="listitem"><p>Fix TID sequential scans (Hiroshi)</p></li><li class="listitem"><p>Superuser ID now fixed at 1 (Peter E)</p></li><li class="listitem"><p>New pg_ctl "reload" option (Tom)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.3"><div class="titlepage"><div><div><h4 class="title">E.342.3.2. Performance</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Optimizer improvements (Tom)</p></li><li class="listitem"><p>New histogram column statistics for optimizer (Tom)</p></li><li class="listitem"><p>Reuse write-ahead log files rather than discarding them (Tom)</p></li><li class="listitem"><p>Cache improvements (Tom)</p></li><li class="listitem"><p>IS NULL, IS NOT NULL optimizer improvement (Tom)</p></li><li class="listitem"><p>Improve lock manager to reduce lock contention (Tom)</p></li><li class="listitem"><p>Keep relcache entries for index access support functions (Tom)</p></li><li class="listitem"><p>Allow better selectivity with NaN and infinities in NUMERIC (Tom)</p></li><li class="listitem"><p>R-tree performance improvements (Kenneth Been)</p></li><li class="listitem"><p>B-tree splits more efficient (Tom)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.4"><div class="titlepage"><div><div><h4 class="title">E.342.3.3. Privileges</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Change UPDATE, DELETE privileges to be distinct (Peter E)</p></li><li class="listitem"><p>New REFERENCES, TRIGGER privileges (Peter E)</p></li><li class="listitem"><p>Allow GRANT/REVOKE to/from more than one user at a time (Peter E)</p></li><li class="listitem"><p>New has_table_privilege() function (Joe Conway)</p></li><li class="listitem"><p>Allow non-superuser to vacuum database (Tom)</p></li><li class="listitem"><p>New SET SESSION AUTHORIZATION command (Peter E)</p></li><li class="listitem"><p>Fix bug in privilege modifications on newly created tables (Tom)</p></li><li class="listitem"><p>Disallow access to pg_statistic for non-superuser, add user-accessible views (Tom)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.5"><div class="titlepage"><div><div><h4 class="title">E.342.3.4. Client Authentication</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Fork postmaster before doing authentication to prevent hangs (Peter E)</p></li><li class="listitem"><p>Add ident authentication over Unix domain sockets on Linux, *BSD (Helge Bahmann, Oliver Elphick, Teodor Sigaev, Bruce)</p></li><li class="listitem"><p>Add a password authentication method that uses MD5 encryption (Bruce)</p></li><li class="listitem"><p>Allow encryption of stored passwords using MD5 (Bruce)</p></li><li class="listitem"><p>PAM authentication (Dominic J. Eidson)</p></li><li class="listitem"><p>Load pg_hba.conf and pg_ident.conf only on startup and SIGHUP (Bruce)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.6"><div class="titlepage"><div><div><h4 class="title">E.342.3.5. Server Configuration</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Interpretation of some time zone abbreviations as Australian rather than North American now settable at run time (Bruce)</p></li><li class="listitem"><p>New parameter to set default transaction isolation level (Peter E)</p></li><li class="listitem"><p>New parameter to enable conversion of "expr = NULL" into "expr IS NULL", off by default (Peter E)</p></li><li class="listitem"><p>New parameter to control memory usage by VACUUM (Tom)</p></li><li class="listitem"><p>New parameter to set client authentication timeout (Tom)</p></li><li class="listitem"><p>New parameter to set maximum number of open files (Tom)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.7"><div class="titlepage"><div><div><h4 class="title">E.342.3.6. Queries</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Statements added by INSERT rules now execute after the INSERT (Jan)</p></li><li class="listitem"><p>Prevent unadorned relation names in target list (Bruce)</p></li><li class="listitem"><p>NULLs now sort after all normal values in ORDER BY (Tom)</p></li><li class="listitem"><p>New IS UNKNOWN, IS NOT UNKNOWN Boolean tests (Tom)</p></li><li class="listitem"><p>New SHARE UPDATE EXCLUSIVE lock mode (Tom)</p></li><li class="listitem"><p>New EXPLAIN ANALYZE command that shows run times and row counts (Martijn van Oosterhout)</p></li><li class="listitem"><p>Fix problem with LIMIT and subqueries (Tom)</p></li><li class="listitem"><p>Fix for LIMIT, DISTINCT ON pushed into subqueries (Tom)</p></li><li class="listitem"><p>Fix nested EXCEPT/INTERSECT (Tom)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.8"><div class="titlepage"><div><div><h4 class="title">E.342.3.7. Schema Manipulation</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Fix SERIAL in temporary tables (Bruce)</p></li><li class="listitem"><p>Allow temporary sequences (Bruce)</p></li><li class="listitem"><p>Sequences now use int8 internally (Tom)</p></li><li class="listitem"><p>New SERIAL8 creates int8 columns with sequences, default still SERIAL4 (Tom)</p></li><li class="listitem"><p>Make OIDs optional using WITHOUT OIDS (Tom)</p></li><li class="listitem"><p>Add %TYPE syntax to CREATE TYPE (Ian Lance Taylor)</p></li><li class="listitem"><p>Add ALTER TABLE / DROP CONSTRAINT for CHECK constraints (Christopher Kings-Lynne)</p></li><li class="listitem"><p>New CREATE OR REPLACE FUNCTION to alter existing function (preserving the function OID) (Gavin Sherry)</p></li><li class="listitem"><p>Add ALTER TABLE / ADD [ UNIQUE | PRIMARY ] (Christopher Kings-Lynne)</p></li><li class="listitem"><p>Allow column renaming in views</p></li><li class="listitem"><p>Make ALTER TABLE / RENAME COLUMN update column names of indexes (Brent Verner)</p></li><li class="listitem"><p>Fix for ALTER TABLE / ADD CONSTRAINT ... CHECK with inherited tables (Stephan Szabo)</p></li><li class="listitem"><p>ALTER TABLE RENAME update foreign-key trigger arguments correctly (Brent Verner)</p></li><li class="listitem"><p>DROP AGGREGATE and COMMENT ON AGGREGATE now accept an aggtype (Tom)</p></li><li class="listitem"><p>Add automatic return type data casting for SQL functions (Tom)</p></li><li class="listitem"><p>Allow GiST indexes to handle NULLs and multikey indexes (Oleg Bartunov, Teodor Sigaev, Tom)</p></li><li class="listitem"><p>Enable partial indexes (Martijn van Oosterhout)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.9"><div class="titlepage"><div><div><h4 class="title">E.342.3.8. Utility Commands</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Add RESET ALL, SHOW ALL (Marko Kreen)</p></li><li class="listitem"><p>CREATE/ALTER USER/GROUP now allow options in any order (Vince)</p></li><li class="listitem"><p>Add LOCK A, B, C functionality (Neil Padgett)</p></li><li class="listitem"><p>New ENCRYPTED/UNENCRYPTED option to CREATE/ALTER USER (Bruce)</p></li><li class="listitem"><p>New light-weight VACUUM does not lock table; old semantics are available as VACUUM FULL (Tom)</p></li><li class="listitem"><p>Disable COPY TO/FROM on views (Bruce)</p></li><li class="listitem"><p>COPY DELIMITERS string must be exactly one character (Tom)</p></li><li class="listitem"><p>VACUUM warning about index tuples fewer than heap now only appears when appropriate (Martijn van Oosterhout)</p></li><li class="listitem"><p>Fix privilege checks for CREATE INDEX (Tom)</p></li><li class="listitem"><p>Disallow inappropriate use of CREATE/DROP INDEX/TRIGGER/VIEW (Tom)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.10"><div class="titlepage"><div><div><h4 class="title">E.342.3.9. Data Types and Functions</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>SUM(), AVG(), COUNT() now uses int8 internally for speed (Tom)</p></li><li class="listitem"><p>Add convert(), convert2() (Tatsuo)</p></li><li class="listitem"><p>New function bit_length() (Peter E)</p></li><li class="listitem"><p>Make the "n" in CHAR(n)/VARCHAR(n) represents letters, not bytes (Tatsuo)</p></li><li class="listitem"><p>CHAR(), VARCHAR() now reject strings that are too long (Peter E)</p></li><li class="listitem"><p>BIT VARYING now rejects bit strings that are too long (Peter E)</p></li><li class="listitem"><p>BIT now rejects bit strings that do not match declared size (Peter E)</p></li><li class="listitem"><p>INET, CIDR text conversion functions (Alex Pilosov)</p></li><li class="listitem"><p>INET, CIDR operators << and <<= indexable (Alex Pilosov)</p></li><li class="listitem"><p>Bytea \### now requires valid three digit octal number</p></li><li class="listitem"><p>Bytea comparison improvements, now supports =, <>, >, >=, <, and <=</p></li><li class="listitem"><p>Bytea now supports B-tree indexes</p></li><li class="listitem"><p>Bytea now supports LIKE, LIKE...ESCAPE, NOT LIKE, NOT LIKE...ESCAPE</p></li><li class="listitem"><p>Bytea now supports concatenation</p></li><li class="listitem"><p>New bytea functions: position, substring, trim, btrim, and length</p></li><li class="listitem"><p>New encode() function mode, "escaped", converts minimally escaped bytea to/from text</p></li><li class="listitem"><p>Add pg_database_encoding_max_length() (Tatsuo)</p></li><li class="listitem"><p>Add pg_client_encoding() function (Tatsuo)</p></li><li class="listitem"><p>now() returns time with millisecond precision (Thomas)</p></li><li class="listitem"><p>New TIMESTAMP WITHOUT TIMEZONE data type (Thomas)</p></li><li class="listitem"><p>Add ISO date/time specification with "T", yyyy-mm-ddThh:mm:ss (Thomas)</p></li><li class="listitem"><p>New xid/int comparison functions (Hiroshi)</p></li><li class="listitem"><p>Add precision to TIME, TIMESTAMP, and INTERVAL data types (Thomas)</p></li><li class="listitem"><p>Modify type coercion logic to attempt binary-compatible functions first (Tom)</p></li><li class="listitem"><p>New encode() function installed by default (Marko Kreen)</p></li><li class="listitem"><p>Improved to_*() conversion functions (Karel Zak)</p></li><li class="listitem"><p>Optimize LIKE/ILIKE when using single-byte encodings (Tatsuo)</p></li><li class="listitem"><p>New functions in contrib/pgcrypto: crypt(), hmac(), encrypt(), gen_salt() (Marko Kreen)</p></li><li class="listitem"><p>Correct description of translate() function (Bruce)</p></li><li class="listitem"><p>Add INTERVAL argument for SET TIME ZONE (Thomas)</p></li><li class="listitem"><p>Add INTERVAL YEAR TO MONTH (etc.) syntax (Thomas)</p></li><li class="listitem"><p>Optimize length functions when using single-byte encodings (Tatsuo)</p></li><li class="listitem"><p>Fix path_inter, path_distance, path_length, dist_ppath to handle closed paths (Curtis Barrett, Tom)</p></li><li class="listitem"><p>octet_length(text) now returns non-compressed length (Tatsuo, Bruce)</p></li><li class="listitem"><p>Handle "July" full name in date/time literals (Greg Sabino Mullane)</p></li><li class="listitem"><p>Some datatype() function calls now evaluated differently</p></li><li class="listitem"><p>Add support for Julian and ISO time specifications (Thomas)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.11"><div class="titlepage"><div><div><h4 class="title">E.342.3.10. Internationalization</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>National language support in psql, <span class="application">pg_dump</span>, libpq, and server (Peter E)</p></li><li class="listitem"><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 class="listitem"><p>Make trim, ltrim, rtrim, btrim, lpad, rpad, translate multibyte aware (Tatsuo)</p></li><li class="listitem"><p>Add LATIN5,6,7,8,9,10 support (Tatsuo)</p></li><li class="listitem"><p>Add ISO 8859-5,6,7,8 support (Tatsuo)</p></li><li class="listitem"><p>Correct LATIN5 to mean ISO-8859-9, not ISO-8859-5 (Tatsuo)</p></li><li class="listitem"><p>Make mic2ascii() non-ASCII aware (Tatsuo)</p></li><li class="listitem"><p>Reject invalid multibyte character sequences (Tatsuo)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.12"><div class="titlepage"><div><div><h4 class="title">E.342.3.11. <span class="application">PL/pgSQL</span></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Now uses portals for SELECT loops, allowing huge result sets (Jan)</p></li><li class="listitem"><p>CURSOR and REFCURSOR support (Jan)</p></li><li class="listitem"><p>Can now return open cursors (Jan)</p></li><li class="listitem"><p>Add ELSEIF (Klaus Reger)</p></li><li class="listitem"><p>Improve PL/pgSQL error reporting, including location of error (Tom)</p></li><li class="listitem"><p>Allow IS or FOR key words in cursor declaration, for compatibility (Bruce)</p></li><li class="listitem"><p>Fix for SELECT ... FOR UPDATE (Tom)</p></li><li class="listitem"><p>Fix for PERFORM returning multiple rows (Tom)</p></li><li class="listitem"><p>Make PL/pgSQL use the server's type coercion code (Tom)</p></li><li class="listitem"><p>Memory leak fix (Jan, Tom)</p></li><li class="listitem"><p>Make trailing semicolon optional (Tom)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.13"><div class="titlepage"><div><div><h4 class="title">E.342.3.12. PL/Perl</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>New untrusted PL/Perl (Alex Pilosov)</p></li><li class="listitem"><p>PL/Perl is now built on some platforms even if libperl is not shared (Peter E)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.14"><div class="titlepage"><div><div><h4 class="title">E.342.3.13. PL/Tcl</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Now reports errorInfo (Vsevolod Lobko)</p></li><li class="listitem"><p>Add spi_lastoid function (bob@redivi.com)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.15"><div class="titlepage"><div><div><h4 class="title">E.342.3.14. PL/Python</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>...is new (Andrew Bosma)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.16"><div class="titlepage"><div><div><h4 class="title">E.342.3.15. <span class="application">psql</span></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>\d displays indexes in unique, primary groupings (Christopher Kings-Lynne)</p></li><li class="listitem"><p>Allow trailing semicolons in backslash commands (Greg Sabino Mullane)</p></li><li class="listitem"><p>Read password from /dev/tty if possible</p></li><li class="listitem"><p>Force new password prompt when changing user and database (Tatsuo, Tom)</p></li><li class="listitem"><p>Format the correct number of columns for Unicode (Patrice)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.17"><div class="titlepage"><div><div><h4 class="title">E.342.3.16. <span class="application">libpq</span></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>New function PQescapeString() to escape quotes in command strings (Florian Weimer)</p></li><li class="listitem"><p>New function PQescapeBytea() escapes binary strings for use as SQL string literals</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.18"><div class="titlepage"><div><div><h4 class="title">E.342.3.17. JDBC</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Return OID of INSERT (Ken K)</p></li><li class="listitem"><p>Handle more data types (Ken K)</p></li><li class="listitem"><p>Handle single quotes and newlines in strings (Ken K)</p></li><li class="listitem"><p>Handle NULL variables (Ken K)</p></li><li class="listitem"><p>Fix for time zone handling (Barry Lind)</p></li><li class="listitem"><p>Improved Druid support</p></li><li class="listitem"><p>Allow eight-bit characters with non-multibyte server (Barry Lind)</p></li><li class="listitem"><p>Support BIT, BINARY types (Ned Wolpert)</p></li><li class="listitem"><p>Reduce memory usage (Michael Stephens, Dave Cramer)</p></li><li class="listitem"><p>Update DatabaseMetaData (Peter E)</p></li><li class="listitem"><p>Add DatabaseMetaData.getCatalogs() (Peter E)</p></li><li class="listitem"><p>Encoding fixes (Anders Bengtsson)</p></li><li class="listitem"><p>Get/setCatalog methods (Jason Davies)</p></li><li class="listitem"><p>DatabaseMetaData.getColumns() now returns column defaults (Jason Davies)</p></li><li class="listitem"><p>DatabaseMetaData.getColumns() performance improvement (Jeroen van Vianen)</p></li><li class="listitem"><p>Some JDBC1 and JDBC2 merging (Anders Bengtsson)</p></li><li class="listitem"><p>Transaction performance improvements (Barry Lind)</p></li><li class="listitem"><p>Array fixes (Greg Zoller)</p></li><li class="listitem"><p>Serialize addition </p></li><li class="listitem"><p>Fix batch processing (Rene Pijlman)</p></li><li class="listitem"><p>ExecSQL method reorganization (Anders Bengtsson)</p></li><li class="listitem"><p>GetColumn() fixes (Jeroen van Vianen)</p></li><li class="listitem"><p>Fix isWriteable() function (Rene Pijlman)</p></li><li class="listitem"><p>Improved passage of JDBC2 conformance tests (Rene Pijlman)</p></li><li class="listitem"><p>Add bytea type capability (Barry Lind)</p></li><li class="listitem"><p>Add isNullable() (Rene Pijlman)</p></li><li class="listitem"><p>JDBC date/time test suite fixes (Liam Stewart)</p></li><li class="listitem"><p>Fix for SELECT 'id' AS xxx FROM table (Dave Cramer)</p></li><li class="listitem"><p>Fix DatabaseMetaData to show precision properly (Mark Lillywhite)</p></li><li class="listitem"><p>New getImported/getExported keys (Jason Davies)</p></li><li class="listitem"><p>MD5 password encryption support (Jeremy Wohl)</p></li><li class="listitem"><p>Fix to actually use type cache (Ned Wolpert)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.19"><div class="titlepage"><div><div><h4 class="title">E.342.3.18. ODBC</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Remove query size limit (Hiroshi)</p></li><li class="listitem"><p>Remove text field size limit (Hiroshi)</p></li><li class="listitem"><p>Fix for SQLPrimaryKeys in multibyte mode (Hiroshi)</p></li><li class="listitem"><p>Allow ODBC procedure calls (Hiroshi)</p></li><li class="listitem"><p>Improve boolean handing (Aidan Mountford)</p></li><li class="listitem"><p>Most configuration options now settable via DSN (Hiroshi)</p></li><li class="listitem"><p>Multibyte, performance fixes (Hiroshi)</p></li><li class="listitem"><p>Allow driver to be used with iODBC or unixODBC (Peter E)</p></li><li class="listitem"><p>MD5 password encryption support (Bruce)</p></li><li class="listitem"><p>Add more compatibility functions to odbc.sql (Peter E)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.20"><div class="titlepage"><div><div><h4 class="title">E.342.3.19. <span class="application">ECPG</span></h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>EXECUTE ... INTO implemented (Christof Petig)</p></li><li class="listitem"><p>Multiple row descriptor support (e.g. CARDINALITY) (Christof Petig)</p></li><li class="listitem"><p>Fix for GRANT parameters (Lee Kindness)</p></li><li class="listitem"><p>Fix INITIALLY DEFERRED bug</p></li><li class="listitem"><p>Various bug fixes (Michael, Christof Petig)</p></li><li class="listitem"><p>Auto allocation for indicator variable arrays (int *ind_p=NULL)</p></li><li class="listitem"><p>Auto allocation for string arrays (char **foo_pp=NULL)</p></li><li class="listitem"><p>ECPGfree_auto_mem fixed</p></li><li class="listitem"><p>All function names with external linkage are now prefixed by ECPG</p></li><li class="listitem"><p>Fixes for arrays of structures (Michael)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.21"><div class="titlepage"><div><div><h4 class="title">E.342.3.20. Misc. Interfaces</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Python fix fetchone() (Gerhard Haring)</p></li><li class="listitem"><p>Use UTF, Unicode in Tcl where appropriate (Vsevolod Lobko, Reinhard Max)</p></li><li class="listitem"><p>Add Tcl COPY TO/FROM (ljb)</p></li><li class="listitem"><p>Prevent output of default index op class in <span class="application">pg_dump</span> (Tom)</p></li><li class="listitem"><p>Fix libpgeasy memory leak (Bruce)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.22"><div class="titlepage"><div><div><h4 class="title">E.342.3.21. Build and Install</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Configure, dynamic loader, and shared library fixes (Peter E)</p></li><li class="listitem"><p>Fixes in QNX 4 port (Bernd Tegge)</p></li><li class="listitem"><p>Fixes in Cygwin and Windows ports (Jason Tishler, Gerhard Haring, Dmitry Yurtaev, Darko Prenosil, Mikhail Terekhov)</p></li><li class="listitem"><p>Fix for Windows socket communication failures (Magnus, Mikhail Terekhov)</p></li><li class="listitem"><p>Hurd compile fix (Oliver Elphick)</p></li><li class="listitem"><p>BeOS fixes (Cyril Velter)</p></li><li class="listitem"><p>Remove configure --enable-unicode-conversion, now enabled by multibyte (Tatsuo)</p></li><li class="listitem"><p>AIX fixes (Tatsuo, Andreas)</p></li><li class="listitem"><p>Fix parallel make (Peter E)</p></li><li class="listitem"><p>Install SQL language manual pages into OS-specific directories (Peter E)</p></li><li class="listitem"><p>Rename config.h to pg_config.h (Peter E)</p></li><li class="listitem"><p>Reorganize installation layout of header files (Peter E)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.23"><div class="titlepage"><div><div><h4 class="title">E.342.3.22. Source Code</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Remove SEP_CHAR (Bruce)</p></li><li class="listitem"><p>New GUC hooks (Tom)</p></li><li class="listitem"><p>Merge GUC and command line handling (Marko Kreen)</p></li><li class="listitem"><p>Remove EXTEND INDEX (Martijn van Oosterhout, Tom)</p></li><li class="listitem"><p>New pgjindent utility to indent java code (Bruce)</p></li><li class="listitem"><p>Remove define of true/false when compiling under C++ (Leandro Fanzone, Tom)</p></li><li class="listitem"><p>pgindent fixes (Bruce, Tom)</p></li><li class="listitem"><p>Replace strcasecmp() with strcmp() where appropriate (Peter E)</p></li><li class="listitem"><p>Dynahash portability improvements (Tom)</p></li><li class="listitem"><p>Add 'volatile' usage in spinlock structures</p></li><li class="listitem"><p>Improve signal handling logic (Tom)</p></li></ul></div></div><div class="sect3" id="id-1.11.6.346.5.24"><div class="titlepage"><div><div><h4 class="title">E.342.3.23. Contrib</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>New contrib/rtree_gist (Oleg Bartunov, Teodor Sigaev)</p></li><li class="listitem"><p>New contrib/tsearch full-text indexing (Oleg, Teodor Sigaev)</p></li><li class="listitem"><p>Add contrib/dblink for remote database access (Joe Conway)</p></li><li class="listitem"><p>contrib/ora2pg Oracle conversion utility (Gilles Darold)</p></li><li class="listitem"><p>contrib/xml XML conversion utility (John Gray)</p></li><li class="listitem"><p>contrib/fulltextindex fixes (Christopher Kings-Lynne)</p></li><li class="listitem"><p>New contrib/fuzzystrmatch with levenshtein and metaphone, soundex merged (Joe Conway)</p></li><li class="listitem"><p>Add contrib/intarray boolean queries, binary search, fixes (Oleg Bartunov)</p></li><li class="listitem"><p>New pg_upgrade utility (Bruce)</p></li><li class="listitem"><p>Add new pg_resetxlog options (Bruce, Tom)</p></li></ul></div></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="release-7-2-1.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="release.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="release-7-1-3.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.341. Release 7.2.1 </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> E.343. Release 7.1.3</td></tr></table></div></body></html>