?? release.sgml
字號:
<chapter id="release"> <title>Release Notes</title><sect1><title>Release 6.5.2</title><!--<docinfo><authorgroup><author><firstname>Bruce</firstname><surname>Momjian</surname></author></authorgroup><date>1999-09-15</date></docinfo>--><para>This is basically a cleanup release for 6.5.1. We have fixed a variety ofproblems reported by 6.5.1 users.</para><sect2><title>Migration to v6.5.2</title><para>A dump/restore is <emphasis>not</emphasis> required for those running6.5.*.</para></sect2><sect2><title>Detailed Change List</title><para><programlisting>subselect+CASE fixes(Tom)Add SHLIB_LINK setting for solaris_i386 and solaris_sparc ports(Daren Sefcik)Fixes for CASE in WHERE join clauses(Tom)Fix BTScan abort(Tom)Repair the check for redundant UNIQUE and PRIMARY KEY indices(Thomas)Improve it so that it checks for multi-column constraints(Thomas)Fix for Win32 making problem with MB enabled(Hiroki Kataoka)Allow BSD yacc and bison to compile pl code(Bruce)Fix SET NAMES workingint8 fixes(Thomas)Fix vacuum's memory consumption(Hiroshi,Tatsuo)Reduce the total memory consumption of vacuum(Tom)Fix for timestamp(datetime)Rule deparsing bugfixes(Tom)Fix quoting problems in mkMakefile.tcldefs.sh.in and mkMakefile.tkdefs.sh.in(Tom)This is to re-use space on index pages freed by vacuum(Vadim)document -x for pg_dump(Bruce)Fix for unary operators in rule deparser(Tom)Comment out FileUnlink of excess segments during mdtruncate()(Tom)Irix linking fix from Yu Cao <yucao@falcon.kla-tencor.com>Repair logic error in LIKE: should not return LIKE_ABORT when reach end of pattern before end of text(Tom)Repair incorrect cleanup of heap memory allocation during transaction abort(Tom)Updated version of pgaccess 0.98</programlisting></para></sect2></sect1><sect1><title>Release 6.5.1</title><!--<docinfo><authorgroup><author><firstname>Bruce</firstname><surname>Momjian</surname></author></authorgroup><date>1999-07-15</date></docinfo>--><para>This is basically a cleanup release for 6.5. We have fixed a variety ofproblems reported by 6.5 users.</para><sect2><title>Migration to v6.5.1</title><para>A dump/restore is <emphasis>not</emphasis> required for those running6.5.</para></sect2><sect2><title>Detailed Change List</title><para><programlisting>Add NT README filePortability fixes for linux_ppc, Irix, linux_alpha, OpenBSD, alphaRemove QUERY_LIMIT, use SELECT...LIMITFix for EXPLAIN on inheritance(Tom)Patch to allow vacuum on multi-segment tables(Hiroshi)R=Tree optimizer selectivity fix(Tom)ACL file descriptor leak fix(Atsushi Ogawa)New expresssion subtree code(Tom)Avoid disk writes for read-only transactions(Vadim)Fix for removal of temp tables if last transaction was aborted(Bruce)Fix to prevent too large tuple from being created(Bruce)plpgsql fixesAllow port numbers 32k - 64k(Bruce)Add ^ precidence(Bruce)Rename sort files called pg_temp to pg_sorttemp(Bruce)Fix for microseconds in time values(Tom)Tutorial source cleanupNew linux_m68k portFix for sorting of NULL's in some cases(Tom)Shared library dependencies fixed (Tom)Fixed glitches affecting GROUP BY in subselects(Tom)Fix some compiler warnings (Tomoaki Nishiyama)Add Win1250 (Czech) support (Pavel Behal)</programlisting></para></sect2></sect1><sect1><title>Release 6.5</title><!--<docinfo><authorgroup><author><firstname>Bruce</firstname><surname>Momjian</surname></author></authorgroup><date>1998-06-09</date></docinfo>--> <para> This release marks a major step in the development team's mastery of the source code we inherited from Berkeley. You will see we are now easily adding major features, thanks to the increasing size and experience of our world-wide development team. </para> <para> Here is a brief summary of the more notable changes: <variablelist> <varlistentry> <term> Multi-version concurrency control(MVCC) </term> <listitem> <para> This removes our old table-level locking, and replaces it with a locking system that is superior to most commercial database systems. In a traditional system, each row that is modified is locked until committed, preventing reads by other users. MVCC uses the natural multi-version nature of PostgreSQL to allow readers to continue reading consistent data during writer activity. Writers continue to use the compact pg_log transaction system. This is all performed without having to allocate a lock for every row like traditional database systems. So, basically, we no longer are restricted by simple table-level locking; we have something better than row-level locking. </para> </listitem> </varlistentry> <varlistentry> <term> Hot backups from <application>pg_dump</application> </term> <listitem> <para> <application>pg_dump</application> takes advantage of the new MVCC features to give a consistant database dump/backup while the database stays online and available for queries. </para> </listitem> </varlistentry> <varlistentry> <term> Numeric data type </term> <listitem> <para> We now have a true numeric data type, with user-specified precision. </para> </listitem> </varlistentry> <varlistentry> <term> Temporary tables </term> <listitem> <para> Temporary tables are guaranteed to have unique names within a database session, and are destroyed on session exit. </para> </listitem> </varlistentry> <varlistentry> <term> New SQL features </term> <listitem> <para> We now have CASE, INTERSECT, and EXCEPT statement support. We have new LIMIT/OFFSET, SET TRANSACTION ISOLATION LEVEL, SELECT ... FOR UPDATE, and an improved LOCK TABLE command. </para> </listitem> </varlistentry> <varlistentry> <term> Speedups </term> <listitem> <para> We continue to speed up PostgreSQL, thanks to the variety of talents within our team. We have sped up memory allocation, optimization, table joins, and row transfer routines. </para> </listitem> </varlistentry> <varlistentry> <term> Ports </term> <listitem> <para> We continue to expand our port list, this time including WinNT/ix86 and NetBSD/arm32. </para> </listitem> </varlistentry> <varlistentry> <term> Interfaces </term> <listitem> <para> Most interfaces have new versions, and existing functionality has been improved. </para> </listitem> </varlistentry> <varlistentry> <term> Documentation </term> <listitem> <para> New and updated material is present throughout the documentation. New <acronym>FAQ</acronym>s have been contributed for SGI and AIX platforms. The <citetitle>Tutorial</citetitle> has introductory information on <acronym>SQL</acronym> from Stefan Simkovics. For the <citetitle>User's Guide</citetitle>, there are reference pages covering the postmaster and more utility programs, and a new appendix contains details on date/time behavior. The <citetitle>Administrator's Guide</citetitle> has a new chapter on troubleshooting from Tom Lane. And the <citetitle>Programmer's Guide</citetitle> has a description of query processing, also from Stefan, and details on obtaining the <productname>Postgres</productname> source tree via anonymous <productname>CVS</productname> and <productname>CVSup</productname>. </para> </listitem> </varlistentry> </variablelist> </para> <sect2> <title>Migration to v6.5</title> <para> A dump/restore using <application>pg_dump</application> is required for those wishing to migrate data from any previous release of <productname>Postgres</productname>. <application>pg_upgrade</application> can <emphasis>not</emphasis> be used to upgrade to this release because the on-disk structure of the tables has changed compared to previous releases. </para> <para> The new Multi-Version Concurrency Control (MVCC) features can give somewhat different behaviors in multi-user environments. <emphasis>Read and understand the following section to ensure that your existing applications will give you the behavior you need.</emphasis> </para> <sect3> <title>Multi-Version Concurrency Control</title> <para> Because readers in 6.5 don't lock data, regardless of transaction isolation level, data read by one transaction can be overwritten by another. In other words, if a row is returned by <command>SELECT</command> it doesn't mean that this row really exists at the time it is returned (i.e. sometime after the statement or transaction began) nor that the row is protected from being deleted or updated by concurrent transactions before the current transaction does a commit or rollback. </para> <para> To ensure the actual existence of a row and protect it against concurrent updates one must use <command>SELECT FOR UPDATE</command> or an appropriate <command>LOCK TABLE</command> statement. This should be taken into account when porting applications from previous releases of <productname>Postgres</productname> and other environments. </para> <para> Keep the above in mind if you are using <filename>contrib/refint.*</filename> triggers for referential integrity. Additional technics are required now. One way is to use <command>LOCK parent_table IN SHARE ROW EXCLUSIVE MODE</command> command if a transaction is going to update/delete a primary key and use <command>LOCK parent_table IN SHARE MODE</command> command if a transaction is going to update/insert a foreign key. <note> <para> Note that if you run a transaction in SERIALIZABLE mode then you must execute the <command>LOCK</command> commands above before execution of any DML statement (<command>SELECT/INSERT/DELETE/UPDATE/FETCH/COPY_TO</command>) in the transaction. </para> </note> </para> <para> These inconveniences will disappear in the future when the ability to read dirty (uncommitted) data (regardless of isolation level) and true referential integrity will be implemented. </para> </sect3> </sect2> <sect2> <title>Detailed Change List</title> <para> <programlisting>Bug Fixes---------Fix text<->float8 and text<->float4 conversion functions(Thomas)Fix for creating tables with mixed-case constraints(Billy)Change exp()/pow() behavior to generate error on underflow/overflow(Jan)Fix bug in pg_dump -zMemory overrun cleanups(Tatsuo)Fix for lo_import crash(Tatsuo)Adjust handling of data type names to suppress double quotes(Thomas)Use type coersion for matching columns and DEFAULT(Thomas)Fix deadlock so it only checks once after one second of sleep(Bruce)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -