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