📄 release.sgml
字号:
Substitute your installation path in the second command. </para> </sect2> <sect2> <title>Changes</title><itemizedlist><listitem><para>Fixed bug in <command>CREATE SCHEMA</command> parsing in ECPG (Michael)</para></listitem><listitem><para>Fix compile error when <option>--enable-thread-safety</option> and <option>--with-perl</option> are used together (Peter)</para></listitem><listitem><para>Fix for subqueries that used hash joins (Tom)</para><para> Certain subqueries that used hash joins would crash because of improperly shared structures.</para></listitem><listitem><para>Fix free space map compaction bug (Tom)</para><para> This fixes a bug where compaction of the free space map could lead to a database server shutdown.</para></listitem><listitem><para>Fix for Borland compiler build of libpq (Bruce)</para></listitem><listitem><para>Fix <function>netmask()</function> and <function>hostmask()</function> to return the maximum-length masklen (Tom)</para><para> Fix these functions to return values consistent with pre-7.4 releases.</para></listitem><listitem><para>Several <filename>contrib/pg_autovacuum</filename> fixes</para><para> Fixes include improper variable initialization, missing vacuum after <command>TRUNCATE</command>, and duration computation overflow for long vacuums.</para></listitem><listitem><para>Allow compile of <filename>contrib/cube</filename> under Cygwin (Jason Tishler)</para></listitem><listitem><para>Fix Solaris use of password file when no passwords are defined (Tom)</para><para> Fix crash on Solaris caused by use of any type of password authentication when no passwords were defined.</para></listitem><listitem><para>JDBC fix for thread problems, other fixes</para></listitem><listitem><para>Fix for <type>bytea</type> index lookups (Joe)</para></listitem><listitem><para>Fix information schema for bit data types (Peter)</para></listitem><listitem><para>Force zero_damaged_pages to be on during recovery from WAL</para></listitem><listitem><para>Prevent some obscure cases of <quote>variable not in subplan target lists</quote></para></listitem><listitem><para>Make <function>PQescapeBytea</function> and <function>byteaout</function> consistent with each other (Joe)</para></listitem><listitem><para>Escape <type>bytea</type> output for bytes > 0x7e(Joe)</para><para> If different client encodings are used for <type>bytea</type> output and input, it is possible for <type>bytea</type> values to be corrupted by the differing encodings. This fix escapes all bytes that might be affected.</para></listitem><listitem><para>Added missing <function>SPI_finish()</function> calls to dblink's <function>get_tuple_of_interest()</function> (Joe)</para></listitem><listitem><para>New Czech FAQ</para></listitem><listitem><para>Fix information schema view <literal>constraint_column_usage</literal> for foreign keys (Peter)</para></listitem><listitem><para>ECPG fixes (Michael)</para></listitem><listitem><para>Fix bug with multiple <literal>IN</literal> subqueries and joins in the subqueries (Tom)</para></listitem><listitem><para>Alllow <literal>COUNT('x')</literal> to work (Tom)</para></listitem><listitem><para>Install ECPG include files for Informix compatibility into separate directory (Peter)</para><para> Some names of ECPG include files for Informix compatibility conflicted with operating system include files. By installing them in their own directory, name conflicts have been reduced.</para></listitem><listitem><para>Fix SSL memory leak (Neil)</para><para> This release fixes a bug in 7.4 where SSL didn't free all memory it allocated.</para></listitem><listitem><para>Prevent <filename>pg_service.conf</filename> from using service name as default dbname (Bruce)</para></listitem><listitem><para>Fix local ident authentication on FreeBSD (Tom)</para></listitem></itemizedlist> </sect2> </sect1> <sect1 id="release-7-4"> <title>Release 7.4</title> <note> <title>Release date</title> <simpara>2003-11-17</simpara> </note> <sect2> <title>Overview</title> <para> Major changes in this release: <variablelist> <varlistentry> <term> <literal>IN</literal> / <literal>NOT IN</literal> subqueries are now much more efficient </term> <listitem> <para> In previous releases, <literal>IN</literal>/<literal>NOT IN</literal> subqueries were joined to the upper query by sequentially scanning the subquery looking for a match. The 7.4 code uses the same sophisticated techniques used by ordinary joins and so is much faster. An <literal>IN</literal> will now usually be as fast as or faster than an equivalent <literal>EXISTS</literal> subquery; this reverses the conventional wisdom that applied to previous releases. </para> </listitem> </varlistentry> <varlistentry> <term> Improved <literal>GROUP BY</literal> processing by using hash buckets </term> <listitem> <para> In previous releases, rows to be grouped had to be sorted first. The 7.4 code can do <literal>GROUP BY</literal> without sorting, by accumulating results into a hash table with one entry per group. It will still use the sort technique, however, if the hash table is estimated to be too large to fit in <varname>sort_mem</>. </para> </listitem> </varlistentry> <varlistentry> <term> New multikey hash join capability </term> <listitem> <para> In previous releases, hash joins could only occur on single keys. This release allows multicolumn hash joins. </para> </listitem> </varlistentry> <varlistentry> <term> Queries using the explicit <literal>JOIN</literal> syntax are now better optimized </term> <listitem> <para> Prior releases evaluated queries using the explicit <literal>JOIN</literal> syntax only in the order implied by the syntax. 7.4 allows full optimization of these queries, meaning the optimizer considers all possible join orderings and chooses the most efficient. Outer joins, however, must still follow the declared ordering. </para> </listitem> </varlistentry> <varlistentry> <term> Faster and more powerful regular expression code </term> <listitem> <para> The entire regular expression module has been replaced with a new version by Henry Spencer, originally written for Tcl. The code greatly improves performance and supports several flavors of regular expressions. </para> </listitem> </varlistentry> <varlistentry> <term> Function-inlining for simple SQL functions </term> <listitem> <para> Simple SQL functions can now be inlined by including their SQL in the main query. This improves performance by eliminating per-call overhead. That means simple SQL functions now behave like macros. </para> </listitem> </varlistentry> <varlistentry> <term> Full support for IPv6 connections and IPv6 address data types </term> <listitem> <para> Previous releases allowed only IPv4 connections, and the IP data types only supported IPv4 addresses. This release adds full IPv6 support in both of these areas. </para> </listitem> </varlistentry> <varlistentry> <term> Major improvements in SSL performance and reliability </term> <listitem> <para> Several people very familiar with the SSL API have overhauled our SSL code to improve SSL key negotiation and error recovery. </para> </listitem> </varlistentry> <varlistentry> <term> Make free space map efficiently reuse empty index pages, and other free space management improvements </term> <listitem> <para> In previous releases, B-tree index pages that were left empty because of deleted rows could only be reused by rows with index values similar to the rows originally indexed on that page. In 7.4, <command>VACUUM</command> records empty index pages and allows them to be reused for any future index rows. </para> </listitem> </varlistentry> <varlistentry> <term> SQL-standard information schema </term> <listitem> <para> The information schema provides a standardized and stable way to access information about the schema objects defined in a database. </para> </listitem> </varlistentry> <varlistentry> <term> Cursors conform more closely to the SQL standard </term> <listitem> <para> The commands <command>FETCH</command> and <command>MOVE</command> have been overhauled to conform more closely to the SQL standard. </para> </listitem> </varlistentry> <varlistentry> <term> Cursors can exist outside transactions </term> <listitem> <para> These cursors are also called holdable cursors. </para> </listitem> </varlistentry> <varlistentry> <term> New client-to-server protocol </term> <listitem> <para> The new protocol adds error codes, more status information, faster startup, better support for binary data transmission, parameter values separated from SQL commands, prepared statements available at the protocol level, and cleaner recovery from <command>COPY</command> failures. The older protocol is still supported by both server and clients. </para> </listitem> </varlistentry> <varlistentry> <term> <application>libpq</application> and <application>ECPG</application> applications are now fully thread-safe </term> <listitem> <para> While previous <application>libpq</application> releases already supported threads, this release improves thread safety by fixing some non-thread-safe code that was used during database connection startup. The <command>configure</command> option <option>--enable-thread-safety</option> must be used to enable this feature. </para> </listitem> </varlistentry> <varlistentry> <term> New version of full-text indexing </term> <listitem> <para> A new full-text indexing suite is available in <filename>contrib/tsearch2</filename>. </para> </listitem> </varlistentry> <varlistentry> <term> New autovacuum tool </term> <listitem> <para> The new autovacuum tool in <filename>contrib/autovacuum</filename> monitors the database statistics tables for <command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command> activity and automatically vacuums tables when needed. </para> </listitem> </varlistentry> <varlistentry> <term> Array handling has been improved and moved into the server core </term> <listitem> <para> Many array limitations have been removed, and arrays behave more like fully-supported data types. </para> </listitem> </varlistentry> </variablelist> </para> </sect2> <sect2> <title>Migration to version 7.4</title> <para> A dump/restore using <application>pg_dump</application> is required for those wishing to migrate data from any previous release. </para> <para> Observe the following incompatibilities: <itemizedlist> <listitem> <para> The server-side autocommit setting was removed and reimplemented in client applications and languages. Server-side autocommit was causing too many problems with languages and applications that wanted to control their own autocommit behavior, so autocommit was removed from the server and added to individual client APIs as appropriate. </para> </listitem> <listitem> <para> Error message wording has changed substantially in this release. Significant effort was invested to make the messages more consistent and user-oriented. If your applications try to detect different error conditions by parsing the error message, you are strongly encouraged to use the new error code facility instead. </para> </listitem>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -