11<!--
2- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/2302:57:07 momjian Exp $
2+ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.339 2005/08/2311:32:33 momjian Exp $
33-->
44
55<appendix id="release">
@@ -36,7 +36,7 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
3636 </sect2>
3737
3838 <sect2>
39- <title>Migration to version 8.0 </title>
39+ <title>Migration to version 8.1 </title>
4040
4141 <para>
4242 A dump/restore using <application>pg_dump</application> is
@@ -56,6 +56,16 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
5656
5757 <itemizedlist>
5858
59+ <listitem>
60+ <para>
61+ Change add_missing_from to 'false'
62+ </para>
63+ <para>
64+ Generate an error if a table used in a query without a FROM reference (Neil)
65+ No more SELECT pg_class.*;
66+ </para>
67+ </listitem>
68+
5969 <listitem>
6070 <para>
6171 Cause input of a zero-length string ('') for float4/float8/oid to throw
@@ -67,6 +77,21 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
6777 </para>
6878 </listitem>
6979
80+ <listitem>
81+ <para>
82+ Make default_with_oids default to false (Neil)
83+ </para>
84+ <para>
85+ With this option set to false, user-created tables no
86+ have an the usually-invisible OID column unless WITH OIDS
87+ is specified in CREATE TABLE. Though OIDs have existed in all previous
88+ releases of PostgreSQL, their use is limited because they are only four
89+ bytes long and the counter is unique across all installed databases.
90+ The preferred way of uniquely identifying rows is via sequences and
91+ SERIAL, which has been supported since PostgreSQL 6.4.
92+ </para>
93+ </listitem>
94+
7095 <listitem>
7196 <para>
7297 In psql, treat unquoted \{digit}+ sequences as octal (Bruce)
@@ -146,7 +171,7 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
146171 </para>
147172 <para>
148173 In previous releases, the only way to use index for MIN/MAX was to rewrite
149- the query as SELECT col FROM tab ORDER BY col LIMIT 1. Thisnot happens
174+ the query as SELECT col FROM tab ORDER BY col LIMIT 1. Thisnow happens
150175 automatically.
151176 </para>
152177 </listitem>
@@ -157,15 +182,26 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
157182 single query (Tom)
158183 </para>
159184 <para>
160- Multiple AND and ORs
185+ This allows multiple indexes to be combined to access a single
186+ table.
161187 </para>
162188 </listitem>
163189
164190 <listitem>
165191 <para>
166192 Change WAL CRC records from 64bit to 32bit to improve performance
167193 (Tom)
194+ </para>
195+ </listitem>
196+
197+ <listitem>
198+ <para>
168199 Prevent writing large empty gaps in WAL pages (Tom)
200+ </para>
201+ </listitem>
202+
203+ <listitem>
204+ <para>
169205 Allow non-consecutive index columns to be used in a multi-column index
170206 (Tom)
171207 </para>
@@ -188,13 +224,18 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
188224 <listitem>
189225 <para>
190226 Allow concurrent GIST index access, greatly improving performance
191- (Teodor)
227+ (Teodor, Oleg)
228+ </para>
229+ </listitem>
230+
231+ <listitem>
232+ <para>
192233 Add GUC full_page_writes to control writing full pages to WAL (Bruce)
193234 </para>
194235 <para>
195236 To prevent partial disk writes from corrupting the database,
196237 PostgreSQL writes a complete copy of each database disk page to WAL
197- the first time it is modified after a checkpoint. This turnsof that
238+ the first time it is modified after a checkpoint. This turnsoff that
198239 functionality for users with battery-backed disk caches where partial
199240 page writes can not happen.
200241 </para>
@@ -221,7 +262,11 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
221262 <para>
222263 O_DIRECT causes disk writes to bypass the kernel cache, and for WAL
223264 writes, this improves performance.
224-
265+ </para>
266+ </listitem>
267+
268+ <listitem>
269+ <para>
225270 Improve COPY FROM performance (Alon Goldshuv)
226271 </para>
227272 <para>
@@ -267,6 +312,11 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
267312 <listitem>
268313 <para>
269314 Add session start time and client IP address to pg_stat_activity (Magnus)
315+ </para>
316+ </listitem>
317+
318+ <listitem>
319+ <para>
270320 Enhance pg_locks display (Tom)
271321 </para>
272322 </listitem>
@@ -293,7 +343,7 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
293343
294344 <listitem>
295345 <para>
296- Add WAL logging for GIST indexes (Teodor)
346+ Add WAL logging for GIST indexes (Teodor, Oleg )
297347 </para>
298348 <para>
299349 GIST indexes now work for online backup and crash recovery
@@ -315,9 +365,6 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
315365 <para>
316366 Remove old *.backup files when we do pg_stop_backup() (Bruce)
317367 </para>
318- </listitem>
319-
320- <listitem>
321368 <para>
322369 This prevents a large number of *.backup files from existing in
323370 pg_xlog/.
@@ -391,16 +438,6 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
391438 </para>
392439 </listitem>
393440
394- <listitem>
395- <para>
396- Change add_missing_from to 'false'
397- </para>
398- <para>
399- Generate an error if a table used in a query without a FROM reference (Neil)
400- No more SELECT pg_class.*;
401- </para>
402- </listitem>
403-
404441 <listitem>
405442 <para>
406443 Add support for \x hex escapes in backend and ecpg strings (Bruce)
@@ -488,21 +525,6 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
488525 <title>Object Manipulation Changes</title>
489526 <itemizedlist>
490527
491- <listitem>
492- <para>
493- Make default_with_oids default to false (Neil)
494- </para>
495- <para>
496- With this option set to false, user-created tables no
497- have an the usually-invisible OID column unless WITH OIDS
498- is specified in CREATE TABLE. Though OIDs have existed in all previous
499- releases of PostgreSQL, their use is limited because they are only four
500- bytes long and the counter is unique across all installed databases.
501- The preferred way of uniquely identifying rows is via sequences and
502- SERIAL, which has been supported since PostgreSQL 6.4.
503- </para>
504- </listitem>
505-
506528 <listitem>
507529 <para>
508530 Track dependencies of shared objects (Alvaro)
@@ -567,7 +589,7 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
567589 </para>
568590 <para>
569591 In release 8.0, carriage returns and line feeds in CSV COPY TO were
570- not processed ina inconsitent manner. (This was documented on the TODO
592+ processed inan inconsistent manner. (This was documented on the TODO
571593 list.)
572594 </para>
573595 </listitem>
@@ -641,13 +663,13 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
641663 to use "postgres" rather than "template1" for standard lookups (Dave)
642664 </para>
643665 <para>
644- In prior releases, template1 was used both as a default connection for
645- things like createuser, and as a template for new databases. This
646- caused CREATE DATABASE to sometimes fail because a new database can
647- not be created if anyone else is in the template database. With this
648- change, thedefault connection database is now 'postgres', meaning is
649- ismuch less likely someone will be using template1 during CREATE
650- DATABASE.
666+ In prior releases, template1 was used both as a default
667+ connection for utilities like createuser, and as a template for
668+ new databases. This caused CREATE DATABASE to sometimes fail
669+ because a new database cannot be created if anyone else is in
670+ thetemplate database. With this change, the default connection
671+ database isnow 'postgres', meaning it is much less likely
672+ someone will be using template1 during CREATE DATABASE.
651673 </para>
652674 </listitem>
653675
@@ -812,7 +834,11 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
812834 This allows regular expression replacement, like sed. A four-argument
813835 version also allows for global (replace all) and case-insensitive
814836 modes.
815-
837+ </para>
838+ </listitem>
839+
840+ <listitem>
841+ <para>
816842 Fix interval division and multiplication (Bruce)
817843 </para>
818844 <para>
@@ -851,15 +877,10 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
851877 <listitem>
852878 <para>
853879 Move /contrib/dbsize into the backend, and rename some of the functions
854- (Dave Page)
880+ (Dave Page, Andreas Pflug )
855881 </para>
856882 <para>
857883 The new functions are:
858- </para>
859- </listitem>
860-
861- <listitem>
862- <para>
863884 pg_tablespace_size()
864885 pg_database_size()
865886 pg_relation_size()
@@ -1090,14 +1111,24 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.338 2005/08/23 02:57:07 momjian
10901111 <sect3>
10911112 <title>PL/Perl Server-Side Language Changes</title>
10921113 <itemizedlist>
1093-
1114+
1115+ <listitem>
1116+ <para>
1117+ Allow large result sets to be returned efficiently (Abhijit Menon-Sen)
1118+ </para>
1119+ <para>
1120+ This allows functions to use return_next() to avoid building
1121+ the entire result set in memory.
1122+ </para>
1123+ </listitem>
1124+
10941125 <listitem>
10951126 <para>
1096- Allowthe return large result sets (Abhijit Menon-Sen )
1127+ Allowone-row-at-a-time retrieval of query results (Abhijit)
10971128 </para>
10981129 <para>
1099- This allowsPL/Perl to use spi_query(), spi_fetchrow(), and
1100- return_next() to return one row at a time from the function .
1130+ This allowsfunctions to use spi_query() and spi_fetchrow() to
1131+ avoid accumulating the entire result set in memory .
11011132 </para>
11021133 </listitem>
11031134