]> granicus.if.org Git - postgresql/blob - doc/src/sgml/current.sgml
Cleanup for v6.4 release.
[postgresql] / doc / src / sgml / current.sgml
1 <Sect1>
2 <Title>Release 6.4</Title>
3 <!--
4 <docinfo>
5 <authorgroup>
6 <author>
7 <firstname>Bruce</firstname>
8 <surname>Momjian</surname>
9 </author>
10 </authorgroup>
11 <date>1998-10-30</date>
12 </docinfo>
13 -->
14
15 <para>
16 There are <emphasis>many</emphasis> new features and improvements in this release.
17 Thanks to our developers and maintainers, nearly every aspect of the system
18 has received some attention since the previous release.
19 Here is a brief, incomplete summary:
20
21 <itemizedlist spacing="compact">
22 <listitem>
23 <para>
24 Views and rules are now functional thanks to extensive new code in the 
25 rewrite rules system from Jan Wieck. He also wrote a chapter on it
26 for the <citetitle>Programmer's Guide</citetitle>.
27
28 <listitem>
29 <para>
30 Jan also contributed a second procedural language, PL/pgSQL, to go with the
31 original PL/pgTCL procedural language he contributed last release.
32
33 <listitem>
34 <para>
35 We have optional multiple-byte character set support from Tatsuo Iishi
36 to complement our existing locale support.
37
38 <listitem>
39 <para>
40 Client/server communications has been cleaned up, with better support for
41 asynchronous messages and interrupts thanks to Tom Lane.
42
43 <listitem>
44 <para>
45 The parser will now perform automatic type coersion to match arguments
46 to available operators and functions, and to match columns and expressions
47 with target columns. This uses a generic mechanism which supports
48 the type extensibility features of <productname>Postgres</productname>.
49 There is a new chapter in the <citetitle>User's Guide</citetitle>
50 which covers this topic.
51
52 <listitem>
53 <para>
54 Three new data types have been added. 
55 Two types, <type>inet</type> and <type>cidr</type>, support various forms
56 of IP network, subnet, and machine addressing. There is now an 8-byte integer
57 type available on some platforms. See the chapter on data types
58 in the <citetitle>User's Guide</citetitle> for details.
59 A fourth type, <type>serial</type>, is now supported by the parser as an
60 amalgam of the <type>int4</type> type, a sequence, and a unique index.
61
62 <listitem>
63 <para>
64 Several more <acronym>SQL92</acronym>-compatible syntax features have been
65 added, including <command>INSERT DEFAULT VALUES</command>
66
67 <listitem>
68 <para>
69 The automatic configuration and installation system has received some
70 attention, and should be more robust for more platforms than it has ever
71 been.
72
73 </itemizedlist>
74
75
76 <sect2>
77 <title>Migration to v6.4</title>
78
79 <para>
80 A dump/restore using <application>pg_dump</application> 
81 or <application>pg_dumpall</application>
82 is required for those wishing to migrate data from any
83 previous release of <productname>Postgres</productname>.
84
85
86 <sect2>
87 <title>Detailed Change List</title>
88
89 <para>
90 <programlisting>
91 Bug Fixes
92 ---------
93 Fix for a tiny memory leak in PQsetdb/PQfinish(Bryan)
94 Remove char2-16 data types, use char/varchar(Darren)
95 Pqfn not handles a NOTICE message(Anders)
96 Reduced busywaiting overhead for spinlocks with many backends (dg)
97 Stuck spinlock detection (dg)
98 Fix up "ISO-style" timespan decoding and encoding(Thomas)
99 Fix problem with table drop after rollback of transaction(Vadim)
100 Change error message and remove non-functional update message(Vadim)
101 Fix for COPY array checking
102 Fix for SELECT 1 UNION SELECT NULL
103 Fix for buffer leaks in large object calls(Pascal)
104 Change owner from oid to int4 type(Bruce)
105 Fix a bug in the oracle compatibility functions btrim() ltrim() and rtrim()
106 Fix for shared invalidation cache overflow(Massimo)
107 Prevent file descriptor leaks in failed COPY's(Bruce)
108 Fix memory leak in libpgtcl's pg_select(Constantin)
109 Fix problems with username/passwords over 8 characters(Tom)
110 Fix problems with handling of asynchronous NOTIFY in backend(Tom)
111 Fix of many bad system table entries(Tom)
112
113 Enhancements
114 ------------
115 Upgrade ecpg and ecpglib,see src/interfaces/ecpc/ChangeLog(Michael)
116 Show the index used in an EXPLAIN(Zeugswetter)
117 EXPLAIN  invokes  rule system and shows plan(s) for rewritten queries(Jan)
118 Multi-byte awareness of many data types and functions, via configure(Tatsuo)
119 New configure --with-mb option(Tatsuo)
120 New initdb --pgencoding option(Tatsuo)
121 New createdb -E multibyte option(Tatsuo)
122 Select version(); now returns PostgreSQL version(Jeroen)
123 Libpq now allows asynchronous clients(Tom)
124 Allow cancel from client of backend query(Tom)
125 Psql now cancels query with Control-C(Tom)
126 Libpq users need not issue dummy queries to get NOTIFY messages(Tom)
127 NOTIFY now sends sender's PID, so you can tell whether it was your own(Tom)
128 PGresult struct now includes associated error message, if any(Tom)
129 Define "tz_hour" and "tz_minute" arguments to date_part()(Thomas)
130 Add routines to convert between varchar and bpchar(Thomas)
131 Add routines to allow sizing of varchar and bpchar into target columns(Thomas)
132 Add bit flags to support timezonehour and minute in data retrieval(Thomas)
133 Allow more variations on valid floating point numbers (e.g. ".1", "1e6")(Thomas)
134 Fixes for unary minus parsing with leading spaces(Thomas)
135 Implement TIMEZONE_HOUR, TIMEZONE_MINUTE per SQL92 specs(Thomas)
136 Check for and properly ignore FOREIGN KEY column constraints(Thomas)
137 Define USER as synonym for CURRENT_USER per SQL92 specs(Thomas)
138 Enable HAVING clause but no fixes elsewhere yet.
139 Make "char" type a synonym for "char(1)" (actually implemented as bpchar)(Thomas)
140 Save string type if specified for DEFAULT clause handling(Thomas)
141 Coerce operations involving different data types(Thomas)
142 Allow some index use for columns of different types(Thomas)
143 Add capabilities for automatic type conversion(Thomas)
144 Cleanups for large objects, so file is truncated on open(Peter)
145 Readline cleanups(Tom)
146 Allow psql  \f \ to make spaces as delimiter(Bruce)
147 Pass pg_attribute.atttypmod to the frontend for column field lengths(Tom,Bruce)
148 Msql compatibility library in /contrib(Aldrin)
149 Remove the requirement that ORDER/GROUP BY clause identifiers be 
150 included in the target list(David)
151 Convert columns to match columns in UNION clauses(Thomas)
152 Remove fork()/exec() and only do fork()(Bruce)
153 Jdbc cleanups(Peter)
154 Show backend status on ps command line(only works on some platforms)(Bruce)
155 Pg_hba.conf now has a sameuser option in the database field
156 Make lo_unlink take oid param, not int4
157 New DISABLE_COMPLEX_MACRO for compilers that can't handle our macros(Bruce)
158 Libpgtcl now handles NOTIFY as a Tcl event, need not send dummy queries(Tom)
159 libpgtcl cleanups(Tom)
160 Add -error option to libpgtcl's pg_result command(Tom)
161 New locale patch, see docs/README/locale(Oleg)
162 Fix for pg_dump so CONSTRAINT and CHECK syntax is correct(ccb)
163 New contrib/lo code for large object orphan removal(Peter)
164 New psql command "SET CLIENT_ENCODING TO 'encoding'" for multi-bytes
165 feature, see /doc/README.mb(Tatsuo)
166 /contrib/noupdate code to revoke update permission on a column
167 Libpq can now be compiled on win32(Magnus)
168 Add PQsetdbLogin() in libpq
169 New 8-byte integer type, checked by configure for OS support(Thomas)
170 Better support for quoted table/column names(Thomas)
171 Surround table and column names with double-quotes in pg_dump(Thomas)
172 PQreset() now works with passwords(Tom)
173 Handle case of GROUP BY target list column number out of range(David)
174 Allow UNION in subselects
175 Add auto-size to screen to \d? commands(Bruce)
176 Use UNION to show all \d? results in one query(Bruce)
177 Add \d? field search feature(Bruce)
178 Pg_dump issues fewer \connect requests(Tom)
179 Make pg_dump -z flag work better, document it in manual page(Tom)
180 Add HAVING clause with full support for subselects and unions(Stephan)
181 Full text indexing routines in contrib/fulltextindex(Maarten)
182 Transaction ids now stored in shared memory(Vadim)
183 New PGCLIENTENCODING when issuing COPY command(Tatsuo)
184 Support for SQL92 syntax "SET NAMES"(Tatsuo)
185 Support for LATIN2-5(Tatsuo)
186 Add UNICODE regression test case(Tatsuo)
187 Lock manager cleanup, new locking modes for LLL(Vadim)
188 Allow index use with OR clauses(Bruce)
189 Allows "SELECT NULL ORDER BY 1;"
190 Explain VERBOSE prints the plan, and now pretty-prints the plan to
191 the postmaster log file(Bruce)
192 Add Indices display to \d command(Bruce)
193 Allow GROUP BY on functions(David)
194 New pg_class.relkind for large objects(Bruce)
195 New way to send libpq NOTICE messages to a different location(Tom)
196 New \w write command to psql(Bruce)
197 New /contrib/findoidjoins scans oid columns to find join relationships(Bruce)
198 Allow binary-compatible indices to be considered when checking for valid
199 indices for restriction clauses containing a constant(Thomas)
200 New ISBN/ISSN code in /contrib/isbn_issn
201 Allow NOT LIKE, IN, NOT IN, BETWEEN, and NOT BETWEEN constraint(Thomas)
202 New rewrite system fixes many problems with rules and views(Jan)
203         * Rules on relations work
204         * Event qualifications on insert/update/delete work
205         * New OLD variable to reference CURRENT, CURRENT will be remove in future
206         * Update rules can reference NEW and OLD in rule qualifications/actions
207         * Insert/update/delete rules on views work
208         * Multiple rule actions are now supported, surrounded by parentheses
209         * Regular users can create views/rules on tables they have RULE permits
210         * Rules and views inherit the permissions on the creator
211         * No rules at the column level
212         * No UPDATE NEW/OLD rules
213         * New pg_tables, pg_indexes, pg_rules and pg_views system views
214         * Only a single action on SELECT rules
215         * Total rewrite overhaul, perhaps for 6.5
216         * handle subselects
217         * handle aggregates on views
218         * handle insert into select from view works
219 System indexes are now multi-key(Bruce)
220 Oidint2, oidint4, and oidname types are removed(Bruce)
221 Use system cache for more system table lookups(Bruce)
222 New backend programming language PL/pgSQL in backend/pl(Jan)
223 New SERIAL data type, auto-creates sequence/index(Thomas)
224 Enable assert checking without a recompile(Massimo)
225 User lock enhancements(Massimo)
226 New setval() command to set sequence value(Massimo)
227 Auto-remove unix socket file on startup if no postmaster running(Massimo)
228 Conditional trace package(Massimo)
229 New UNLISTEN command(Massimo)
230 Psql and libpq now compile under win32 using win32.mak(Magnus)
231 Lo_read no longer stores trailing NULL(Bruce)
232 Identifiers are now truncated to 31 characters internally(Bruce)
233 Createuser options now availble on the command line
234 Code for 64-bit integer supported added, configure tested, int8 type(Thomas)
235 Prevent file descriptor leaf from failed COPY(Bruce)
236 New pg_upgrade command(Bruce)
237 Updated /contrib directories(Massimo)
238 New CREATE TABLE DEFAULT VALUES statement available(Thomas)
239 New INSERT INTO TABLE DEFAULT VALUES statement available(Thomas)
240 New DECLARE and FETCH feature(Thomas)
241 libpq's internal structures now not exported(Tom)
242 Allow up to 8 key indexes(Bruce)
243 Remove ARCHIVE keyword, that is no longer used(Thomas)
244 pg_dump -n flag to supress quotes around indentifiers
245 disable system columns for views(Jan)
246 new INET and CIDR types for network addresses(TomH, Paul)
247 no more double quotes in psql output
248 pg_dump now dumps views(Terry)
249 new SET QUERY_LIMIT(Tatsuo,Jan)
250
251 Source Tree Changes
252 -------------------
253 /contrib cleanup(Jun)
254 Inline some small functions called for every row(Bruce)
255 Alpha/linux fixes
256 Hp/UX cleanups(Tom)
257 Multi-byte regression tests(Soonmyung.)
258 Remove --disabled options from configure
259 Define PGDOC to use POSTGRESDIR by default
260 Make regression optional
261 Remove extra braces code to pgindent(Bruce)
262 Add bsdi shared library support(Bruce)
263 New --without-CXX support configure option(Brook)
264 New FAQ_CVS
265 Update backend flowchart in tools/backend(Bruce)
266 Change atttypmod from int16 to int32(Bruce, Tom)
267 Getrusage() fix for platforms that do not have it(Tom)
268 Add PQconnectdb, PGUSER, PGPASSWORD to libpq man page
269 NS32K platform fixes(Phil Nelson, John Buller)
270 Sco 7/UnixWare 2.x fixes(Billy,others)
271 Sparc/Solaris 2.5 fixes(Ryan)
272 Pgbuiltin.3 is obsolete, move to doc files(Thomas)
273 Even more documention(Thomas)
274 Nextstep support(Jacek)
275 Aix support(David)
276 pginterface manual page(Bruce)
277 shared libraries all have version numbers
278 merged all OS-specific shared library defines into one file
279 smarter TCL/TK configuration checking(Billy)
280 smarter perl configuration(Brook)
281 configure uses supplied install-sh if no install script found(Tom)
282 new Makefile.shlib for shared library configuration(Tom)
283 </programlisting>
284 </Para>
285
286 </Sect1>
287