1 PostgreSQL 6.2beta Sat Sep 13 21:53:27 EDT 1997
2 -------------------------------------------------------------
4 A dump/restore is required for those wishing to migrate data from
5 previous releases of PostgreSQL.
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
14 Check explicitly for intersections at endpoints to avoid rounding
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
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)
51 Number of tuples inserted/affected by INSERT/UPDATE/DELETE...(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)
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)
102 PostgreSQL 6.1.1 Mon Jul 22 18:04:49 EDT 1997
103 -------------------------------------------------------------
105 This release does NOT require a dump/restore for those running 6.1.
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)
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)
128 PostgreSQL 6.1 Sun Jun 8 14:41:13 EDT 1997
129 -------------------------------------------------------------
131 A dump/restore is required for those wishing to migrate data from
132 previous releases of PostgreSQL.
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)
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)
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 -------------------------------------------------------------
231 A dump/restore is required for those wishing to migrate data from
232 previous releases of PostgreSQL.
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)
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
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)
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)
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)
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
340 -------------------------------------------------------------
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
347 Postgres95 1.02 Thu Aug 1 18:00:00 EDT 1996
348 -------------------------------------------------------------
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
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
366 Bug Fixes (almost too numerous to mention)
369 * check for NULL pointer before dereferencing
373 * added SolarisX86 port
374 * added BSDI 2.1 port
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>
404 Postgres95 1.01 Fri Feb 23 18:20:36 PST 1996
405 -------------------------------------------------------------
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.
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
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
439 Postgres95 1.0 Tue Sep 5 11:24:11 PDT 1995
440 -------------------------------------------------------------
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.
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
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)
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
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
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
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)
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.
510 The following are aliases to existing postgres types:
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.
524 GRANT SELECT ON foobar TO GROUP my_group;
525 The keyword 'PUBLIC' is also supported to mean all users.
527 Privileges can only be granted or revoked to one user or group
530 "WITH GRANT OPTION" is not supported. Only class owners can change
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
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
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
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
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.
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,
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.
589 * the user manual has been revised and libpq documentation added.
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.
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.)
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
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
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
627 Postgres95 Beta 0.01 (Mon May 1 19:03:10 PDT 1995)
628 ------------------------------------------------------