]> granicus.if.org Git - postgresql/blob - HISTORY
Remove extraneous row from user_relns table. Don't know where it came from...
[postgresql] / HISTORY
1 PostgreSQL 6.2.1                 Fri Oct 17 00:01:27 EDT 1997
2 -------------------------------------------------------------
3
4 This release does NOT require a dump/restore for those running 6.2, but
5 there is an SQL query in /migration/6.2_to_6.2.1 that should be run. See
6 that file for more information.
7
8 Changes in this release
9 -----------------------
10 Allow TIME and TYPE column names(Thomas)
11 Allow larger range of true/false as boolean values(Thomas)
12 Support output of "now" and "current"(Thomas)
13 Handle DEFAULT with INSERT of NULL properly(Vadim)
14 Fix for relation reference counts problem in buffer manager(Vadim)
15 Allow strings to span lines, like ANSI(Thomas)
16 Fix for backward cursor with ORDER BY(Vadim)
17 Fix avg(cash) computation(Thomas)
18 Fix for specifying a column twice in ORDER/GROUP BY(Vadim)
19 Documented new libpq function to return affected rows, PQcmdTuples(Bruce)
20 Trigger function for inserting user names for INSERT/UPDATE(Brook Milligan)
21
22
23 PostgreSQL 6.2               Thu Oct 02 12:53:46 EDT 1997
24 -------------------------------------------------------------
25
26 A dump/restore is required for those wishing to migrate data from
27 previous releases of PostgreSQL.
28
29 Bug Fixes
30 ---------
31 Fix problems with pg_dump for inheritance, sequences, archive tables(Bruce)
32 Fix compile errors on overflow due to shifts, unsigned, and bad prototypes
33          from Solaris(Diab Jerius)
34 Fix bugs in geometric line arithmetic (bad intersection calculations)(Thomas)
35 Check for geometric intersections at endpoints to avoid rounding ugliness(Thomas)
36 Catch non-functional delete attempts(Vadim)
37 Change time function names to be more consistent(Michael Reifenberg)
38 Check for zero divides(Michael Reifenberg)
39 Fix very old bug which made tuples changed/inserted by a commnd
40         visible to the command itself (so we had multiple update of 
41         updated tuples, etc)(Vadim)
42 Fix for SELECT null, 'fail' FROM pg_am (Patrick)
43 SELECT NULL as EMPTY_FIELD now allowed(Patrick)
44 Remove un-needed signal stuff from contrib/pginterface
45 Fix OR (where x <> 1 or x isnull didn't return tuples with x NULL) (Vadim)
46 Fix time_cmp function (Vadim)
47 Fix handling of functions with non-attribute first argument in 
48         WHERE clauses (Vadim)
49 Fix GROUP BY when order of entries is different from order
50         in target list (Vadim)
51 Fix pg_dump for aggregates without sfunc1 (Vadim)
52
53 Enhancements
54 ------------
55 Default genetic optimizer GEQO parameter is now 8(Bruce)
56 Allow use parameters in target list having aggregates in functions(Vadim)
57 Added JDBC driver as an interface(Adrian & Peter)
58 pg_password utility
59 Return number of tuples inserted/affected by INSERT/UPDATE/DELETE etc.(Vadim)
60 Triggers implemented with CREATE TRIGGER (SQL3)(Vadim)
61 SPI (Server Programming Interface) allows execution of queries inside 
62         C-functions (Vadim)
63 NOT NULL implemented (SQL92)(Robson Paniago de Miranda)
64 Include reserved words for string handling, outer joins, and unions(Thomas)
65 Implement extended comments ("/* ... */") using exclusive states(Thomas)
66 Add "//" single-line comments(Bruce)
67 Remove some restrictions on characters in operator names(Thomas)
68 DEFAULT and CONSTRAINT for tables implemented (SQL92)(Vadim & Thomas)
69 Add text concatenation operator and function (SQL92)(Thomas)
70 Support WITH TIME ZONE syntax (SQL92)(Thomas)
71 Support INTERVAL <unit> TO <unit> syntax (SQL92)(Thomas)
72 Define types DOUBLE PRECISION, INTERVAL, CHARACTER,
73         and CHARACTER VARYING (SQL92)(Thomas)
74 Define type FLOAT(p) and rudimentary DECIMAL(p,s), NUMERIC(p,s) (SQL92)(Thomas)
75 Define EXTRACT(), POSITION(), SUBSTRING(), and TRIM() (SQL92)(Thomas)
76 Define CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP (SQL92)(Thomas)
77 Add syntax and warnings for UNION, HAVING, INNER and OUTER JOIN (SQL92)(Thomas)
78 Add more reserved words, mostly for SQL92 compliance(Thomas)
79 Allow hh:mm:ss time entry for timespan/reltime types(Thomas)
80 Add center() routines for lseg, path, polygon(Thomas)
81 Add distance() routines for circle-polygon, polygon-polygon(Thomas)
82 Check explicitly for points and polygons contained within polygons
83         using an axis-crossing algorithm(Thomas)
84 Add routine to convert circle-box(Thomas)
85 Merge conflicting operators for different geometric data types(Thomas)
86 Replace distance operator "<===>" with "<->"(Thomas)
87 Replace "above" operator "!^" with ">^" and "below" operator "!|" with "<^"(Thomas)
88 Add routines for text trimming on both ends, substring, and string position(Thomas)
89 Added conversion routines circle(box) and poly(circle)(Thomas)
90 Allow internal sorts to be stored in memory rather than in files(Bruce & Vadim)
91 Allow functions and operators on internally-identical types to succeed(Bruce)
92 Speed up backend startup after profiling analysis(Bruce)
93 Inline frequently called functions for performance(Bruce)
94 Reduce open() calls(Bruce)
95 psql:  Add PAGER for \h and \?,\C fix
96 Fix for psql pager when no tty(Bruce)
97 New entab utility(Bruce)
98 General trigger functions for referential integrity (Vadim)
99 General trigger functions for time travel (Vadim)
100 General trigger functions for AUTOINCREMENT/IDENTITY feature (Vadim)
101 MOVE implementation (Vadim)
102
103 Source Tree Changes
104 -------------------
105 HPUX 10 patches (Vladimir Turin)
106 Added SCO support, (Daniel Harris)
107 mkLinux patches (Tatsuo Ishii)
108 Change geometric box terminology from "length" to "width"(Thomas)
109 Deprecate temporary unstored slope fields in geometric code(Thomas)
110 Remove restart instructions from INSTALL(Bruce)
111 Look in /usr/ucb first for install(Bruce)
112 Fix c++ copy example code(Thomas)
113 Add -o to psql manual page(Bruce)
114 Prevent relname unallocated string length from being copied into database(Bruce)
115 Cleanup for NAMEDATALEN use(Bruce)
116 Fix pg_proc names over 15 chars in output(Bruce)
117 Add strNcpy() function(Bruce)
118 remove some (void) casts that are unnecessary(Bruce)
119 new interfaces directory(Marc)
120 Replace fopen() calls with calls to fd.c functions(Bruce)
121 Make functions static where possible(Bruce)
122 enclose unused functions in #ifdef NOT_USED(Bruce)
123 Remove call to difftime() in timestamp support to fix SunOS(Bruce & Thomas)
124 Changes for Digital Unix
125 Portability fix for pg_dumpall(Bruce)
126 Rename pg_attribute.attnvals to attdisbursion(Bruce)
127 "intro/unix" manual page now "pgintro"(Bruce)
128 "built-in" manual page now "pgbuiltin"(Bruce)
129 "drop" manual page now "drop_table"(Bruce)
130 Add "create_trigger", "drop_trigger" manual pages(Thomas)
131 Add constraints regression test(Vadim & Thomas)
132 Add comments syntax regression test(Thomas)
133 Add PGINDENT and support program(Bruce)
134 Massive commit to run PGINDENT on all *.c and *.h files(Bruce)
135 Files moved to /src/tools directory(Bruce)
136 SPI and Trigger programming guides (Vadim & D'Arcy)
137
138
139 PostgreSQL 6.1.1                 Mon Jul 22 18:04:49 EDT 1997
140 -------------------------------------------------------------
141
142 This release does NOT require a dump/restore for those running 6.1.
143
144 Changes in this release
145 -----------------------
146 fix for SET with options (Thomas)
147 allow pg_dump/pg_dumpall to preserve ownership of all tables/objects(Bruce)
148 new psql \connect option allows changing usernames without chaning databases
149 fix for initdb --debug option(Yoshihiko Ichikawa))
150 lextest cleanup(Bruce)
151 hash fixes(Vadim)
152 fix date/time month boundary arithmetic(Thomas)
153 fix timezone daylight handling for some ports(Thomas, Bruce, Tatsuo)
154 timestamp overhauled to use standard functions(Thomas)
155 other code cleanup in date/time routines(Thomas)
156 psql's \d now case-insensitive(Bruce)
157 psql's backslash commands can now have trailing semicolon(Bruce)
158 fix memory leak in psql when using \g(Bruce)
159 major fix for endian handling of communication to server(Thomas, Tatsuo)
160 Fix for Solaris assembler and include files(Yoshihiko Ichikawa)
161 allow underscores in usernames(Bruce)
162 pg_dumpall now returns proper status, portability fix(Bruce)
163
164
165 PostgreSQL 6.1                   Sun Jun  8 14:41:13 EDT 1997
166 -------------------------------------------------------------
167
168 A dump/restore is required for those wishing to migrate data from
169 previous releases of PostgreSQL.
170
171 Bug Fixes
172 ---------
173 packet length checking in library routines
174 lock manager priority patch
175 check for under/over flow of float8(Bruce)
176 multi-table join fix(Vadim)
177 SIGPIPE crash fix(Darren)
178 large object fixes(Sven)
179 allow btree indexes to handle NULLs(Vadim)
180 timezone fixes(D'Arcy)
181 select SUM(x) can return NULL on no rows(Thomas)
182 internal optimizer, executor bug fixes(Vadim)
183 fix problem where inner loop in < or <= has no rows(Vadim)
184 prevent re-commuting join index clauses(Vadim)
185 fix join clauses for multiple tables(Vadim)
186 fix hash, hashjoin for arrays(Vadim)
187 fix btree for abstime type(Vadim)
188 large object fixes(Raymond)
189 fix buffer leak in hash indices (Vadim)
190 fix rtree for use in inner scan (Vadim)
191 fix gist for use in inner scan, cleanups (Vadim, Andrea)
192 avoid unnecessary local buffers allocation (Vadim, Massimo)
193 fix local buffers leak in transaction aborts (Vadim)
194 fix file manager memmory leaks, cleanups (Vadim, Massimo)
195 fix storage manager memmory leaks (Vadim)
196 fix btree duplicates handling (Vadim)
197 fix deleted tuples re-incarnation caused by vacuum (Vadim)
198 fix SELECT varchar()/char() INTO TABLE made zero-length fields(Bruce)
199 many psql, pg_dump, and libpq memory leaks fixed using Purify (Igor)
200
201 Enhancements
202 ------------
203 attribute optimization statistics(Bruce)
204 much faster new btree bulk load code(Paul)
205 BTREE UNIQUE added to bulk load code(Vadim) 
206 new lock debug code(Massimo)
207 massive changes to libpg++(Leo)
208 new GEQO optimizer speeds table multi-table optimization(Martin)
209 new WARN message for non-unique insert into unique key(Marc)
210 update x=-3, no spaces, now valid(Bruce)
211 remove case-sensitive identifier handling(Bruce,Thomas,Dan)
212 debug backend now pretty-prints tree(Darren)
213 new Oracle character functions(Edmund)
214 new plaintext password functions(Dan)
215 no such class or insufficient privilege changed to distinct messages(Dan)
216 new ANSI timestamp function(Dan)
217 new ANSI Time and Date types (Thomas)
218 move large chunks of data in backend(Martin)
219 multi-column btree indexes(Vadim)
220 new SET var TO value command(Martin)
221 update transaction status on reads(Dan)
222 new locale settings for character types(Oleg)
223 new SEQUENCE serial number generator(Vadim)
224 GROUP BY function now possible(Vadim)
225 re-organize regression test(Thomas,Marc)
226 new optimizer operation weights(Vadim)
227 new psql \z grant/permit option(Marc)
228 new MONEY data type(D'Arcy,Thomas)
229 tcp socket communication speed improved(Vadim)
230 new VACUUM option for attribute statistics, and for certain columns (Vadim)
231 many geometric type improvements(Thomas,Keith)
232 additional regression tests(Thomas)
233 new datestyle variable(Thomas,Vadim,Martin)
234 more comparison operators for sorting types(Thomas)
235 new conversion functions(Thomas)
236 new more compact btree format(Vadim)
237 allow pg_dumpall to preserve database ownership(Bruce)
238 new SET GEQO=# and R_PLANS variable(Vadim)
239 old (!GEQO) optimizer can use right-sided plans (Vadim)
240 typechecking improvement in SQL parser(Bruce)
241 new SET, SHOW, RESET commands(Thomas,Vadim)
242 new \connect database USER option
243 new destroydb -i option (Igor)
244 new \dt and \di psql commands (Darren)
245 SELECT "\n" now escapes newline (A. Duursma)
246 new geometry conversion functions from old format (Thomas)
247
248 Source tree changes
249 -------------------
250 new configuration script(Marc)
251 readline configuration option added(Marc)
252 OS-specific configuration options removed(Marc)
253 new OS-specific template files(Marc)
254 no more need to edit Makefile.global(Marc)
255 re-arrange include files(Marc)
256 nextstep patches (Gregor Hoffleit)
257 removed WIN32-specific code(Bruce)
258 removed postmaster -e option, now only postgres -e option (Bruce)
259 merge duplicate library code in front/backends(Martin)
260 now works with eBones, international Kerberos(Jun)
261 more shared library support
262 c++ include file cleanup(Bruce)
263 warn about buggy flex(Bruce)
264 DG-UX, Ultrix, Irix, AIX portability fixes
265 PostgreSQL 6.0                   Wed Jan 29 00:19:54 EST 1997
266 -------------------------------------------------------------
267
268 A dump/restore is required for those wishing to migrate data from
269 previous releases of PostgreSQL.
270
271 Bug Fixes
272 ---------
273 ALTER TABLE bug - running postgress process needs to re-read table definition
274 Allow vacuum to be run on one table or entire database(Bruce)
275 Array fixes
276 Fix array over-runs of memory writes(Kurt)
277 Fix elusive btree range/non-range bug(Dan)
278 Fix for hash indexes on some types like time and date
279 Fix for pg_log size explosion
280 Fix permissions on lo_export()(Bruce)
281 Fix unitialized reads of memory(Kurt)
282 Fixed ALTER TABLE ... char(3) bug(Bruce)
283 Fixed a few small memory leaks
284 Fixed EXPLAIN handling of options and changed full_path option name
285 Fixed output of group acl permissions
286 Memory leaks (hunt and destroy with tools like Purify(Kurt)
287 Minor improvements to rules system
288 NOTIFY fixes
289 New asserts for run-checking
290 Overhauled parser/analyze code to properly report errors and increase speed
291 Pg_dump -d now handles NULL's properly(Bruce)
292 Prevent SELECT NULL from crashing server (Bruce)
293 Properly report errors when INSERT ... SELECT columns did not match
294 Properly report errors when insert column names were not correct
295 Psql \g filename now works(Bruce)
296 Psql fixed problem with multiple statements on one line with multiple outputs
297 Removed duplicate system oid's
298 SELECT * INTO TABLE . GROUP/ORDER BY gives unlink error if table exists(Bruce)
299 Several fixes for queries that crashed the backend
300 Starting quote in insert string errors(Bruce)
301 Submiting an empty query now returns empty status, not just " " query(Bruce)
302
303 Enhancements
304 ------------
305 Add EXPLAIN manual page(Bruce)
306 Add UNIQUE index capability(Dan)
307 Add hostname/user level access control rather than just hostname and user
308 Add synonym of != for <>(Bruce)
309 Allow "select oid,* from table"
310 Allow BY,ORDER BY to specify columns by number, or by non-alias table.column(Bruce)
311 Allow COPY from the frontend(Bryan)
312 Allow GROUP BY to use alias column name(Bruce)
313 Allow actual compression, not just reuse on the same page(Vadim)
314 Allow installation-configuration option to auto-add all local users(Bryan)
315 Allow libpq to distinguish between text value '' and null(Bruce)
316 Allow non-postgres users with createdb privs to destroydb's
317 Allow restriction on who can create C functions(Bryan)
318 Allow restriction on who can do backend COPY(Bryan)
319 Can shrink tables, pg_time and pg_log(Vadim & Erich)
320 Change debug level 2 to print queries only, changed debug heading layout(Bruce)
321 Change default decimal constant representation from float4 to float8(Bruce)
322 European date format now set when postmaster is started
323 Execute lowercase function names if not found with exact case
324 Fixes for aggregate/GROUP processing, allow 'select sum(func(x),sum(x+y) from z'
325 Gist now included in the distrubution(Marc)
326 Idend authentication of local users(Bryan)
327 Implement BETWEEN qualifier(Bruce)
328 Implement IN qualifier(Bruce)
329 Libpq has PQgetisnull()(Bruce)
330 Libpq++ improvements
331 New options to initdb(Bryan)
332 Pg_dump allow dump of oid's(Bruce)
333 Pg_dump create indexes after tables are loaded for speed(Bruce)
334 Pg_dumpall dumps all databases, and the user table
335 Pginterface additions for NULL values(Bruce)
336 Prevent postmaster from being run as root
337 Psql \h and \? is now readable(Bruce)
338 Psql allow backslashed, semicolons anywhere on the line(Bruce)
339 Psql changed command prompt for lines in query or in quotes(Bruce)
340 Psql char(3) now displays as (bp)char in \d output(Bruce)
341 Psql return code now more accurate(Bryan?)
342 Psql updated help syntax(Bruce)
343 Re-visit and fix vacuum(Vadim)
344 Reduce size of regression diffs, remove timezone name difference(Bruce)
345 Remove compile-time parameters to enable binary distributions(Bryan)
346 Reverse meaning of HBA masks(Bryan)
347 Secure Authentication of local users(Bryan)
348 Speed up vacuum(Vadim)
349 Vacuum now had VERBOSE option(Bruce)
350
351 Source tree changes
352 -------------------
353 All functions now have prototypes that are compared against the calls
354 Allow asserts to be disabled easly from Makefile.global(Bruce)
355 Change oid constants used in code to #define names
356 Decoupled sparc and solaris defines(Kurt)
357 Gcc -Wall compiles cleanly with warnings only from unfixable constructs
358 Major include file reorganization/reduction(Marc)
359 Make now stops on compile failure(Bryan)
360 Makefile restructuring(Bryan, Marc)
361 Merge bsdi_2_1 to bsdi(Bruce)
362 Monitor program removed
363 Name change from Postgres95 to PostgreSQL
364 New config.h file(Marc, Bryan)
365 PG_VERSION now set to 6.0 and used by postmaster
366 Portability additions, including Ultrix, DG/UX, AIX, and Solaris
367 Reduced the number of #define's, centeralized #define's
368 Remove duplicate OIDS in system tables(Dan)
369 Remove duplicate system catalog info or report mismatches(Dan)
370 Removed many os-specific #define's
371 Restructured object file generation/location(Bryan, Marc)
372 Restructured port-specific file locations(Bryan, Marc)
373 Unused/uninialized variables corrected
374
375
376 PostgreSQL 1.09                 ???
377 -------------------------------------------------------------
378
379 Sorry, we stopped keeping track of changes from 1.02 to 1.09.  Some of
380 the changes listed in 6.0 were actually included in the 1.02.1 to 1.09
381 releases.
382
383
384 Postgres95 1.02                 Thu Aug  1 18:00:00 EDT 1996
385 -------------------------------------------------------------
386
387 Source code maintainenance and development
388  * worldwide team of volunteers
389  * the source tree now in CVS at ftp.ki.net
390  * developers mailing list - pg95-dev@ki.net
391
392 Enhancements
393  * psql (and underlying libpq library) now has many more options for
394    formatting output, including HTML
395  * pg_dump now output the schema and/or the data, with many fixes to
396    enhance completeness.
397  * psql used in place of monitor in administration shell scripts.
398    monitor to be depreciated in next release.
399  * date/time functions enhanced
400  * NULL insert/update/comparison fixed/enhanced
401  * TCL/TK lib and shell fixed to work with both tck7.4/tk4.0 and tcl7.5/tk4.1
402
403 Bug Fixes (almost too numerous to mention)
404  * indexes
405  * storage management
406  * check for NULL pointer before dereferencing
407  * Makefile fixes
408
409 New Ports
410  * added SolarisX86 port
411  * added BSDI 2.1 port
412  * added DGUX port
413
414 Contributors (appologies to any missed)
415  * Kurt J. Lidl <lidl@va.pubnix.com> 
416         (missed in first run, but no less important)
417  * Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
418  * Jason Wright <jason@shiloh.vnet.net>
419  * Cees de Groot <C.deGroot@inter.NL.net>
420  * ernst.molitor@uni-bonn.de
421  * michael.siebenborn@ae3.Hypo.DE (Michael Siebenborn (6929))
422  * Brian E. Gallew <geek+@cmu.edu>
423  * Vadim B. Mikheev <vadim@sable.krasnoyarsk.su>
424  * Adam Sussman <myddryn@vidya.com>
425  * Chris Dunlop <chris@onthe.net.au>
426  * Marc G. Fournier <scrappy@ki.net>
427  * Dan McGuirk <mcguirk@indirect.com>
428  * Dr_George_D_Detlefsen <drgeorge@ilt.com>
429  * Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
430  * Massimo Dal Zotto <dz@cs.unitn.it>
431  * Randy Kunkee <kunkee@Starbase.NeoSoft.COM>
432  * Rick Weldon <rick@wisetech.com>
433  * Thomas van Reimersdahl <reimersd@dali.techinfo.rwth-aachen.de>
434  * david bennett <dave@bensoft.com>
435  * ernst.molitor@uni-bonn.de
436  * Julian Assange <proff@suburbia.net>
437  * Bruce Momjian <maillist@candle.pha.pa.us>
438  * Paul "Shag" Walmsley <ccshag@cclabs.missouri.edu>
439  * "Alistair G. Crooks" <azcb0@sde.uts.amdahl.com>
440
441 Postgres95 1.01                 Fri Feb 23 18:20:36 PST 1996
442 -------------------------------------------------------------
443 Incompatibilities:
444  * 1.01 is backwards compatible with 1.0 database provided the user
445    follow the steps outlined in the MIGRATION_from_1.0_to_1.01 file.
446    If those steps are not taken, 1.01 is not compatible with 1.0 database.
447
448 Enhancements:
449  * added PQdisplayTuples() to libpq and changed monitor and psql to use it
450  * added NeXT port (requires SysVIPC implementation)
451  * added CAST .. AS ... syntax
452  * added ASC and DESC keywords
453  * added 'internal' as a possible language for CREATE FUNCTION
454    internal functions are C functions which have been statically linked
455    into the postgres backend.
456  * a new type "name" has been added for system identifiers (table names,
457    attribute names, etc.)  This replaces the old char16 type.   The
458    of name is set by the NAMEDATALEN #define in src/Makefile.global
459  * a readable reference manual that describes the query language.
460  * added host-based access control.  A configuration file ($PGDATA/pg_hba)
461    is used to hold the configuration data.  If host-based access control
462    is not desired, comment out HBA=1 in src/Makefile.global.
463  * changed regex handling to be uniform use of Henry Spencer's regex code
464    regardless of platform.  The regex code is included in the distribution
465  * added functions and operators for case-insensitive regular expressions. 
466    The operators are ~* and !~*.
467  * pg_dump uses COPY instead of SELECT loop for better performance
468
469 Bug fixes:
470  * fixed an optimizer bug that was causing core dumps when 
471    functions calls were used in comparisons in the WHERE clause
472  * changed all uses of getuid to geteuid so that effective uids are used
473  * psql now returns non-zero status on errors when using -c
474  * applied public patches 1-14
475
476 Postgres95 1.0                  Tue Sep  5 11:24:11 PDT 1995
477 -------------------------------------------------------------
478
479 Copyright change:
480  * The copyright of Postgres 1.0 has been loosened to be freely modifiable
481    and modifiable for any purpose.  Please read the COPYRIGHT file.
482    Thanks to Professor Michael Stonebraker for making this possible.
483
484 Incompatibilities:
485  *  date formats have to be MM-DD-YYYY (or DD-MM-YYYY if you're using
486    EUROPEAN STYLE).  This follows SQL-92 specs.
487  *  "delimiters" is now a keyword
488
489 Enhancements:
490  *  sql LIKE syntax has been added
491  *  copy command now takes an optional USING DELIMITER specification.
492    delimiters can be any single-character string. 
493  *  IRIX 5.3 port has been added.
494    Thanks to Paul Walmsley (ccshag@everest.cclabs.missouri.edu) and others.
495  *  updated pg_dump to work with new libpq
496  *  \d has been added psql 
497    Thanks to Keith Parks (emkxp01@mtcc.demon.co.uk)
498  *  regexp performance for architectures that use POSIX regex has been
499    improved due to caching of precompiled patterns.
500    Thanks to Alistair Crooks (agc@uts.amdahl.com) 
501  *  a new version of libpq++
502    Thanks to William Wanders (wwanders@sci.kun.nl)
503
504 Bug fixes:
505  *  arbitrary userids can be specified in the createuser script
506  *  \c to connect to other databases in psql now works.
507  *  bad pg_proc entry for float4inc() is fixed
508  *  users with usecreatedb field set can now create databases without
509    having to be usesuper
510  *  remove access control entries when the entry no longer has any
511    permissions
512  *  fixed non-portable datetimes implementation
513  *  added kerberos flags to the src/backend/Makefile
514  *  libpq now works with kerberos
515  *  typographic errors in the user manual have been corrected.
516  *  btrees with multiple index never worked, now we tell you they don't
517    work when you try to use them
518
519
520 Postgres95 Beta 0.03            Fri Jul 21 14:49:31 PDT 1995
521 ------------------------------------------------------
522 Incompatible changes:
523  * BETA-0.3 IS INCOMPATIBLE WITH DATABASES CREATED WITH PREVIOUS VERSIONS
524    (due to system catalog changes and indexing structure changes).
525  * double-quote (") is deprecated as a quoting character for string literals;
526    you need to convert them to single quotes (').
527  * name of aggregates (eg. int4sum) are renamed in accordance with the
528    SQL standard (eg. sum).
529  * CHANGE ACL syntax is replaced by GRANT/REVOKE syntax.
530  * float literals (eg. 3.14) are now of type float4 (instead of float8 in
531    previous releases); you might have to do typecasting if you depend on it
532    being of type float8.  If you neglect to do the typecasting and you assign
533    a float literal to a field of type float8, you may get incorrect values
534    stored!
535  * LIBPQ has been totally revamped so that frontend applications
536    can connect to multiple backends
537  * the usesysid field in pg_user has been changed from int2 to int4 to
538    allow wider range of Unix user ids.
539  * the netbsd/freebsd/bsd o/s ports have been consolidated into a
540    single BSD44_derived port.  (thanks to Alistair Crooks)
541
542 SQL standard-compliance (the following details changes that makes postgres95
543 more compliant to the SQL-92 standard):
544  * the following SQL types are now built-in: smallint, int(eger), float, real,
545    char(N), varchar(N), date and time.
546
547    The following are aliases to existing postgres types:
548                 smallint -> int2
549                 integer, int -> int4
550                 float, real  -> float4
551    char(N) and varchar(N) are implemented as truncated text types. In
552    addition, char(N) does blank-padding. 
553  * single-quote (') is used for quoting string literals; '' (in addition to
554    \') is supported as means of inserting a single quote in a string
555  * SQL standard aggregate names (MAX, MIN, AVG, SUM, COUNT) are used
556    (Also, aggregates can now be overloaded, i.e. you can define your
557    own MAX aggregate to take in a user-defined type.)
558  * CHANGE ACL removed. GRANT/REVOKE syntax added.  
559    - Privileges can be given to a group using the "GROUP" keyword.
560         For example:
561                 GRANT SELECT ON foobar TO GROUP my_group;
562         The keyword 'PUBLIC' is also supported to mean all users.       
563
564         Privileges can only be granted or revoked to one user or group
565         at a time.  
566
567         "WITH GRANT OPTION" is not supported.  Only class owners can change
568         access control
569    - The default access control is to to grant users readonly access.
570      You must explicitly grant insert/update access to users.  To change
571      this, modify the line in 
572                 src/backend/utils/acl.h 
573      that defines ACL_WORLD_DEFAULT 
574
575 Bug fixes:
576  * the bug where aggregates of empty tables were not run has been fixed. Now,
577    aggregates run on empty tables will return the initial conditions of the
578    aggregates. Thus, COUNT of an empty  table will now properly return 0.
579    MAX/MIN of an empty table will return a tuple of value NULL. 
580  * allow the use of \; inside the monitor
581  * the LISTEN/NOTIFY asynchronous notification mechanism now work
582  * NOTIFY in rule action bodies now work
583  * hash indices work, and access methods in general should perform better.
584    creation of large btree indices should be much faster.  (thanks to Paul
585    Aoki)
586
587 Other changes and enhancements:
588  * addition of an EXPLAIN statement used for explaining the query execution
589    plan (eg. "EXPLAIN SELECT * FROM EMP" prints out the execution plan for
590    the query).
591  * WARN and NOTICE messages no longer have timestamps on them. To turn on
592    timestamps of error messages, uncomment the line in
593    src/backend/utils/elog.h:
594         /* define ELOG_TIMESTAMPS */ 
595  * On an access control violation, the message
596         "Either no such class or insufficient privilege"
597    will be given.  This is the same message that is returned when
598    a class is not found.  This dissuades non-privileged users from
599    guessing the existence of privileged classes.
600  * some additional system catalog changes have been made that are not
601    visible to the user.
602
603 libpgtcl changes:
604  * The -oid option has been added to the "pg_result" tcl command.
605    pg_result -oid returns oid of the last tuple inserted.   If the
606    last command was not an INSERT, then pg_result -oid returns "".
607  * the large object interface is available as pg_lo* tcl commands:
608    pg_lo_open, pg_lo_close, pg_lo_creat, etc.
609
610 Portability enhancements and New Ports:
611  * flex/lex problems have been cleared up.  Now, you should be able to use
612    flex instead of lex on any platforms.  We no longer make assumptions of
613    what lexer you use based on the platform you use. 
614  * The Linux-ELF port is now supported.  Various configuration have been 
615    tested:  The following configuration is known to work:
616         kernel 1.2.10, gcc 2.6.3, libc 4.7.2, flex 2.5.2, bison 1.24
617    with everything in ELF format,
618
619 New utilities:
620  * ipcclean added to the distribution
621    ipcclean usually does not need to be run, but if your backend crashes
622    and leaves shared memory segments hanging around, ipcclean will
623    clean them up for you.
624
625 New documentation:
626  * the user manual has been revised and libpq documentation added.
627
628 Postgres95 Beta 0.02    (Thu May 25 16:54:46 PDT 1995)
629 ------------------------------------------------------
630 Incompatible changes:
631  * The SQL statement for creating a database is 'CREATE DATABASE' instead
632    of 'CREATEDB'. Similarly, dropping a database is 'DROP DATABASE' instead
633    of 'DESTROYDB'. However, the names of the executables 'createdb' and 
634    'destroydb' remain the same.
635  
636 New tools:
637  * pgperl - a Perl (4.036) interface to Postgres95
638  * pg_dump - a utility for dumping out a postgres database into a
639         script file containing query commands. The script files are in a ASCII
640         format and can be used to reconstruct the database, even on other
641         machines and other architectures. (Also good for converting
642         a Postgres 4.2 database to Postgres95 database.)
643
644 The following ports have been incorporated into postgres95-beta-0.02:
645  * the NetBSD port by Alistair Crooks
646  * the AIX port by Mike Tung
647  * the Windows NT port by Jon Forrest (more stuff but not done yet)
648  * the Linux ELF port by Brian Gallew
649
650 The following bugs have been fixed in postgres95-beta-0.02:
651  * new lines not escaped in COPY OUT and problem with COPY OUT when first
652    attribute is a '.' 
653  * cannot type return to use the default user id in createuser
654  * SELECT DISTINCT on big tables crashes
655  * Linux installation problems
656  * monitor doesn't allow use of 'localhost' as PGHOST
657  * psql core dumps when doing \c or \l
658  * the "pgtclsh" target missing from src/bin/pgtclsh/Makefile
659  * libpgtcl has a hard-wired default port number
660  * SELECT DISTINCT INTO TABLE hangs
661  * CREATE TYPE doesn't accept 'variable' as the internallength
662  * wrong result using more than 1 aggregate in a SELECT
663
664 Postgres95 Beta 0.01    (Mon May 1 19:03:10 PDT 1995)
665 ------------------------------------------------------
666 Initial release.