1 PostgreSQL 6.2.1 Fri Oct 17 00:01:27 EDT 1997
2 -------------------------------------------------------------
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.
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)
23 PostgreSQL 6.2 Thu Oct 02 12:53:46 EDT 1997
24 -------------------------------------------------------------
26 A dump/restore is required for those wishing to migrate data from
27 previous releases of PostgreSQL.
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
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)
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)
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
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)
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)
139 PostgreSQL 6.1.1 Mon Jul 22 18:04:49 EDT 1997
140 -------------------------------------------------------------
142 This release does NOT require a dump/restore for those running 6.1.
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)
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)
165 PostgreSQL 6.1 Sun Jun 8 14:41:13 EDT 1997
166 -------------------------------------------------------------
168 A dump/restore is required for those wishing to migrate data from
169 previous releases of PostgreSQL.
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)
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)
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 -------------------------------------------------------------
268 A dump/restore is required for those wishing to migrate data from
269 previous releases of PostgreSQL.
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)
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
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)
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)
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)
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
377 -------------------------------------------------------------
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
384 Postgres95 1.02 Thu Aug 1 18:00:00 EDT 1996
385 -------------------------------------------------------------
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
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
403 Bug Fixes (almost too numerous to mention)
406 * check for NULL pointer before dereferencing
410 * added SolarisX86 port
411 * added BSDI 2.1 port
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>
441 Postgres95 1.01 Fri Feb 23 18:20:36 PST 1996
442 -------------------------------------------------------------
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.
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
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
476 Postgres95 1.0 Tue Sep 5 11:24:11 PDT 1995
477 -------------------------------------------------------------
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.
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
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)
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
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
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
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)
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.
547 The following are aliases to existing postgres types:
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.
561 GRANT SELECT ON foobar TO GROUP my_group;
562 The keyword 'PUBLIC' is also supported to mean all users.
564 Privileges can only be granted or revoked to one user or group
567 "WITH GRANT OPTION" is not supported. Only class owners can change
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
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
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
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
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.
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,
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.
626 * the user manual has been revised and libpq documentation added.
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.
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.)
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
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
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
664 Postgres95 Beta 0.01 (Mon May 1 19:03:10 PDT 1995)
665 ------------------------------------------------------