1 PostgreSQL 6.3.1 Mon Mar 23 10:21:52 EST 1998
2 -------------------------------------------------------------
4 A dump/restore is NOT required for those running 6.3. A
5 'make distclean', 'make', and 'make install' is all that is required.
6 This last step should be performed while the postmaster is not running.
7 You should re-link any custom applications that use PostgreSQL libraries.
11 ecpg cleanup/fixes, now version 1.1(Michael Meskes)
12 pg_user cleanup(Bruce)
13 large object fix for pg_dump and tclsh(alvin@camberlo.demon.co.uk)
14 LIKE fix for multiple adjacent underscores
15 LIKE/BETWEEN fix for having function call as target(Thomas)
16 fix for redefining builtin functions(Thomas)
18 upgrade to pg_access 0.83
19 updated CLUSTER manual page
20 multi-byte character set support, see doc/README.mb(Tatsuo)
21 configure --with-pgport fix
23 big-endian fix for backend communications(Kataoka)
24 SUBSTR() and substring() fix(Jan)
25 several jdbc fixes(Peter)
26 libpgtcl improvements, see libptcl/README(Randy Kunkee)
27 Fix for "Datasize = 0" error(Vadim)
28 Prevent \do from wrapping(Bruce)
29 Remove duplicate Russian character set entries
31 Allow optional TABLE keyword in LOCK and SELECT INTO(Thomas)
32 CREATE SEQUENCE options to allow a negative integer(Thomas)
33 Add "PASSWORD" as an allowed column identifier(Thomas)
34 Add checks for UNION target fields(Bruce)
35 Fix Alpha port(Dwayne Bailey)
36 Fix for text arrays containing quotes(Doug Gibson)
37 Solaris compile fix(Albert Chin-A-Young)
38 Better identify tcl and tk libs and includes(Bruce)
42 PostgreSQL 6.3 Sun Mar 1 14:57:30 EST 1998
43 -------------------------------------------------------------
45 A dump/restore is required for those wishing to migrate data from
46 previous releases of PostgreSQL.
48 * The migration/6.2.1_to_6.3 file contains a detailed description
49 * of the feature changes in this release, and is recommended reading.
53 Fix binary cursors broken by MOVE implementation(Vadim)
54 Fix for tcl library crash(Jan)
55 Fix for array handling, from Gerhard Hintermayer
56 Fix acl error, and remove duplicate pqtrace(Bruce)
57 Fix psql \e for empty file(Bruce)
58 Fix for textcat on varchar() fields(Bruce)
59 Fix for DBT Sendproc (Zeugswetter Andres)
60 Fix vacuum analyze syntax problem(Bruce)
61 Fix for international identifiers(Tatsuo)
62 Fix aggregates on inherited tables(Bruce)
63 Fix substr() for out-of-bounds data
64 Fix for select 1=1 or 2=2, select 1=1 and 2=2, and select sum(2+2)(Bruce)
65 Fix notty output to show status result. -q option still turns it off(Bruce)
66 Fix for count(*), aggs with views and multiple tables and sum(3)(Bruce)
68 Fix for PQtrace start/stop several times(Bruce)
69 Fix a variety of locking problems like newer lock waiters getting
70 lock before older waiters, and having readlock people not share
71 locks if a writer is waiting for a lock, and waiting writers not
72 getting priority over waiting readers(Bruce)
73 Fix crashes in psql when executing queries from external files(James)
74 Fix problem with multiple order by columns, with the first one having
76 Use correct hash table support functions for float8 and int4(Thomas)
77 Re-enable JOIN= option in CREATE OPERATOR statement (Thomas)
78 Change precedence for boolean operators to match expected behavior(Thomas)
79 Generate elog(ERROR) on over-large integer(Bruce)
80 Allow multiple-argument functions in constraint clauses(Thomas)
81 Check boolean input literals for 'true','false','yes','no','1','0'
82 and throw elog(ERROR) if unrecognized(Thomas)
83 Major large objects fix
84 Fix for GROUP BY showing duplicates(Vadim)
85 Fix for index scans in MergeJion(Vadim)
89 Subselects with EXISTS, IN, ALL, ANY keywords (Vadim, Bruce, Thomas)
90 New User Manual(Thomas, others)
91 Speedup by inlining some frequently-called functions
92 Real deadlock detection, no more timeouts(Bruce)
93 Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP,
95 Modify constraint syntax to be SQL92-compliant(Thomas)
96 Implement SQL92 PRIMARY KEY and UNIQUE clauses using indices(Thomas)
97 Recognize SQL92 syntax for FOREIGN KEY. Throw elog notice(Thomas)
98 Allow NOT NULL UNIQUE constraint clause (each allowed separately before)(Thomas)
99 Allow Postgres-style casting ("::") of non-constants(Thomas)
100 Add support for SQL3 TRUE and FALSE boolean constants(Thomas)
101 Support SQL92 syntax for IS TRUE/IS FALSE/IS NOT TRUE/IS NOT FALSE(Thomas)
102 Allow shorter strings for boolean literals (e.g. "t", "tr", "tru")(Thomas)
103 Allow SQL92 delimited identifiers(Thomas)
104 Implement SQL92 binary and hexadecimal string decoding (b'10' and x'1F')(Thomas)
105 Support SQL92 syntax for type coercion of literal strings
106 (e.g. "DATETIME 'now'")(Thomas)
107 Add conversions for int2, int4, and OID types to and from text(Thomas)
108 Use shared lock when building indices(Vadim)
109 Free memory allocated for an user query inside transaction block after
110 this query is done, was turned off in <= 6.2.1(Vadim)
111 New SQL statement CREATE PROCEDURAL LANGUAGE(Jan)
112 New PostgreSQL Procedural Language (PL) backend interface(Jan)
113 Rename pg_dump -H option to -h(Bruce)
114 Add Java support for passwords, European dates(Peter)
115 Use indices for LIKE and ~, !~ operations(Bruce)
116 Add hash functions for datetime and timespan(Thomas)
117 Time Travel removed(Vadim, Bruce)
118 Add paging for \d and \z, and fix \i(Bruce)
119 Add Unix domain socket support to backend and to frontend library(Goran)
120 Implement CREATE DATABASE/WITH LOCATION and initlocation utility(Thomas)
121 Allow more SQL92 and/or Postgres reserved words as column identifiers(Thomas)
122 Augment support for SQL92 SET TIME ZONE...(Thomas)
123 SET/SHOW/RESET TIME ZONE uses TZ backend environment variable(Thomas)
124 Implement SET keyword = DEFAULT and SET TIME ZONE DEFAULT(Thomas)
125 Enable SET TIME ZONE using TZ environment variable(Thomas)
126 Add PGDATESTYLE environment variable to frontend and backend initialization(Thomas)
127 Add PGTZ, PGCOSTHEAP, PGCOSTINDEX, PGRPLANS, PGGEQO
128 frontend library initialization environment variables(Thomas)
129 Regression tests time zone automatically set with "setenv PGTZ PST8PDT"(Thomas)
130 Add pg_description table for info on tables, columns, operators, types, and
132 Increase 16 char limit on system table/index names to 32 characters(Bruce)
133 Rename system indices(Bruce)
134 Add 'GERMAN' option to SET DATESTYLE(Thomas)
135 Define an "ISO-style" timespan output format with "hh:mm:ss" fields(Thomas)
136 Allow fractional values for delta times (e.g. '2.5 days')(Thomas)
137 Validate numeric input more carefully for delta times(Thomas)
138 Implement day of year as possible input to date_part()(Thomas)
139 Define timespan_finite() and text_timespan() functions(Thomas)
140 Remove archive stuff(Bruce)
141 Allow for a pg_password authentication database that is separate from
142 the system password file(Todd)
143 Dump ACLs, GRANT, REVOKE permissions(Matt)
144 Define text, varchar, and bpchar string length functions(Thomas)
145 Fix Query handling for inheritance, and cost computations(Bruce)
146 Implement CREATE TABLE/AS SELECT (alternative to SELECT/INTO)(Thomas)
147 Allow NOT, IS NULL, IS NOT NULL in constraints(Thomas)
148 Implement UNIONs for SELECT(Bruce)
149 Add UNION, GROUP, DISTINCT to INSERT(Bruce)
150 varchar() stores only necessary bytes on disk(Bruce)
152 Mega-Patch for JDBC...see README_6.3 for list of changes(Peter)
153 Remove unused "option" from PQconnectdb()
154 New LOCK command and lock manual page describing deadlocks(Bruce)
155 Add new psql \da, \dd, \df, \do, \dS, and \dT commands(Bruce)
156 Enhance psql \z to show sequences(Bruce)
157 Show NOT NULL and DEFAULT in psql \d table(Bruce)
158 New psql .psqlrc file startup(Andrew)
159 Modify sample startup script in contrib/linux to show syslog(Thomas)
160 New types for IP and MAC addresses in contrib/ip_and_mac(TomH)
161 Unix system time conversions with date/time types in contrib/unixdate(Thomas)
162 Update of contrib stuff(Massimo)
163 Add Unix socket support to DBD::Pg(Goran)
164 New python interface (PyGreSQL 2.0)(D'Arcy)
165 New frontend/backend protocol has a version number, network byte order(Phil)
166 Security features in pg_hba.conf enhanced and documented, many cleanups(Phil)
167 CHAR() now faster access than VARCHAR() or TEXT
168 ecpg embedded SQL preprocessor
169 Reduce system column overhead(Vadmin)
170 Remove pg_time table(Vadim)
171 Add pg_type attribute to identify types that need length (bpchar, varchar)
172 Add report of offending line when COPY command fails
173 Allow VIEW permissions to be set separately from the underlying tables.
174 For security, use GRANT/REVOKE on views as appropriate(Jan)
175 Tables now have no default GRANT SELECT TO PUBLIC. You must
176 explicitly grant such permissions.
177 Clean up tutorial examples(Darren)
181 Add new html development tools, and flow chart in /tools/backend
183 Stratus computer port "Gillies, Robert" <GilliesR@Nichols.com>
184 Added support for shlib for BSD44_derived & i386_solaris
185 Make configure more automated(Brook)
186 Add script to check regression test results
187 Break parser functions into smaller files, group together(Bruce)
188 Rename heap_create to heap_create_and_catalog, rename heap_creatr
189 to heap_create()(Bruce)
190 Sparc/Linux patch for locking(TomS)
191 Remove PORTNAME and reorganize port-specific stuff(Marc)
192 Add optimizer README file(Bruce)
193 Remove some recursion in optimizer and clean up some code there(Bruce)
194 Fix for NetBSD locking(Henry)
195 Fix for libptcl make(Tatsuo)
197 Change IS TRUE, IS FALSE, ... to expressions using "=" rather than
198 function calls to istrue() or isfalse() to allow optimization(Thomas)
199 Various fixes NetBSD/Sparc related(TomH)
200 Alpha linux locking(Travis,Ryan)
201 Change elog(WARN) to elog(ERROR)(Bruce)
202 FAQ for FreeBSD(Marc)
203 Bring in the PostODBC source tree as part of our standard distribution(Marc)
204 A minor patch for HP/UX 10 vs 9(Stan)
205 New pg_attribute.atttypmod for type-specific info like varchar length(Bruce)
206 Unixware patches(Billy)
207 New i386 'lock' for spin lock asm(Billy)
208 Support for multiplexed backends is removed
209 Start an OpenBSD port
212 Add string functions to regression suite(Thomas)
213 Expand a few function names formerly truncated to 16 characters(Thomas)
214 Remove un-needed malloc() calls and replace with palloc()(Bruce)
218 PostgreSQL 6.2.1 Fri Oct 17 00:01:27 EDT 1997
219 -------------------------------------------------------------
221 This release does NOT require a dump/restore for those running 6.2, but
222 there is an SQL query in /migration/6.2_to_6.2.1 that should be run. See
223 that file for more information.
225 Changes in this release
226 -----------------------
227 Allow TIME and TYPE column names(Thomas)
228 Allow larger range of true/false as boolean values(Thomas)
229 Support output of "now" and "current"(Thomas)
230 Handle DEFAULT with INSERT of NULL properly(Vadim)
231 Fix for relation reference counts problem in buffer manager(Vadim)
232 Allow strings to span lines, like ANSI(Thomas)
233 Fix for backward cursor with ORDER BY(Vadim)
234 Fix avg(cash) computation(Thomas)
235 Fix for specifying a column twice in ORDER/GROUP BY(Vadim)
236 Documented new libpq function to return affected rows, PQcmdTuples(Bruce)
237 Trigger function for inserting user names for INSERT/UPDATE(Brook Milligan)
241 PostgreSQL 6.2 Thu Oct 02 12:53:46 EDT 1997
242 -------------------------------------------------------------
244 A dump/restore is required for those wishing to migrate data from
245 previous releases of PostgreSQL.
249 Fix problems with pg_dump for inheritance, sequences, archive tables(Bruce)
250 Fix compile errors on overflow due to shifts, unsigned, and bad prototypes
251 from Solaris(Diab Jerius)
252 Fix bugs in geometric line arithmetic (bad intersection calculations)(Thomas)
253 Check for geometric intersections at endpoints to avoid rounding ugliness(Thomas)
254 Catch non-functional delete attempts(Vadim)
255 Change time function names to be more consistent(Michael Reifenberg)
256 Check for zero divides(Michael Reifenberg)
257 Fix very old bug which made tuples changed/inserted by a commnd
258 visible to the command itself (so we had multiple update of
259 updated tuples, etc)(Vadim)
260 Fix for SELECT null, 'fail' FROM pg_am (Patrick)
261 SELECT NULL as EMPTY_FIELD now allowed(Patrick)
262 Remove un-needed signal stuff from contrib/pginterface
263 Fix OR (where x <> 1 or x isnull didn't return tuples with x NULL) (Vadim)
264 Fix time_cmp function (Vadim)
265 Fix handling of functions with non-attribute first argument in
266 WHERE clauses (Vadim)
267 Fix GROUP BY when order of entries is different from order
268 in target list (Vadim)
269 Fix pg_dump for aggregates without sfunc1 (Vadim)
273 Default genetic optimizer GEQO parameter is now 8(Bruce)
274 Allow use parameters in target list having aggregates in functions(Vadim)
275 Added JDBC driver as an interface(Adrian & Peter)
277 Return number of tuples inserted/affected by INSERT/UPDATE/DELETE etc.(Vadim)
278 Triggers implemented with CREATE TRIGGER (SQL3)(Vadim)
279 SPI (Server Programming Interface) allows execution of queries inside
281 NOT NULL implemented (SQL92)(Robson Paniago de Miranda)
282 Include reserved words for string handling, outer joins, and unions(Thomas)
283 Implement extended comments ("/* ... */") using exclusive states(Thomas)
284 Add "//" single-line comments(Bruce)
285 Remove some restrictions on characters in operator names(Thomas)
286 DEFAULT and CONSTRAINT for tables implemented (SQL92)(Vadim & Thomas)
287 Add text concatenation operator and function (SQL92)(Thomas)
288 Support WITH TIME ZONE syntax (SQL92)(Thomas)
289 Support INTERVAL <unit> TO <unit> syntax (SQL92)(Thomas)
290 Define types DOUBLE PRECISION, INTERVAL, CHARACTER,
291 and CHARACTER VARYING (SQL92)(Thomas)
292 Define type FLOAT(p) and rudimentary DECIMAL(p,s), NUMERIC(p,s) (SQL92)(Thomas)
293 Define EXTRACT(), POSITION(), SUBSTRING(), and TRIM() (SQL92)(Thomas)
294 Define CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP (SQL92)(Thomas)
295 Add syntax and warnings for UNION, HAVING, INNER and OUTER JOIN (SQL92)(Thomas)
296 Add more reserved words, mostly for SQL92 compliance(Thomas)
297 Allow hh:mm:ss time entry for timespan/reltime types(Thomas)
298 Add center() routines for lseg, path, polygon(Thomas)
299 Add distance() routines for circle-polygon, polygon-polygon(Thomas)
300 Check explicitly for points and polygons contained within polygons
301 using an axis-crossing algorithm(Thomas)
302 Add routine to convert circle-box(Thomas)
303 Merge conflicting operators for different geometric data types(Thomas)
304 Replace distance operator "<===>" with "<->"(Thomas)
305 Replace "above" operator "!^" with ">^" and "below" operator "!|" with "<^"(Thomas)
306 Add routines for text trimming on both ends, substring, and string position(Thomas)
307 Added conversion routines circle(box) and poly(circle)(Thomas)
308 Allow internal sorts to be stored in memory rather than in files(Bruce & Vadim)
309 Allow functions and operators on internally-identical types to succeed(Bruce)
310 Speed up backend startup after profiling analysis(Bruce)
311 Inline frequently called functions for performance(Bruce)
312 Reduce open() calls(Bruce)
313 psql: Add PAGER for \h and \?,\C fix
314 Fix for psql pager when no tty(Bruce)
315 New entab utility(Bruce)
316 General trigger functions for referential integrity (Vadim)
317 General trigger functions for time travel (Vadim)
318 General trigger functions for AUTOINCREMENT/IDENTITY feature (Vadim)
319 MOVE implementation (Vadim)
323 HPUX 10 patches (Vladimir Turin)
324 Added SCO support, (Daniel Harris)
325 mkLinux patches (Tatsuo Ishii)
326 Change geometric box terminology from "length" to "width"(Thomas)
327 Deprecate temporary unstored slope fields in geometric code(Thomas)
328 Remove restart instructions from INSTALL(Bruce)
329 Look in /usr/ucb first for install(Bruce)
330 Fix c++ copy example code(Thomas)
331 Add -o to psql manual page(Bruce)
332 Prevent relname unallocated string length from being copied into database(Bruce)
333 Cleanup for NAMEDATALEN use(Bruce)
334 Fix pg_proc names over 15 chars in output(Bruce)
335 Add strNcpy() function(Bruce)
336 remove some (void) casts that are unnecessary(Bruce)
337 new interfaces directory(Marc)
338 Replace fopen() calls with calls to fd.c functions(Bruce)
339 Make functions static where possible(Bruce)
340 enclose unused functions in #ifdef NOT_USED(Bruce)
341 Remove call to difftime() in timestamp support to fix SunOS(Bruce & Thomas)
342 Changes for Digital Unix
343 Portability fix for pg_dumpall(Bruce)
344 Rename pg_attribute.attnvals to attdisbursion(Bruce)
345 "intro/unix" manual page now "pgintro"(Bruce)
346 "built-in" manual page now "pgbuiltin"(Bruce)
347 "drop" manual page now "drop_table"(Bruce)
348 Add "create_trigger", "drop_trigger" manual pages(Thomas)
349 Add constraints regression test(Vadim & Thomas)
350 Add comments syntax regression test(Thomas)
351 Add PGINDENT and support program(Bruce)
352 Massive commit to run PGINDENT on all *.c and *.h files(Bruce)
353 Files moved to /src/tools directory(Bruce)
354 SPI and Trigger programming guides (Vadim & D'Arcy)
358 PostgreSQL 6.1.1 Mon Jul 22 18:04:49 EDT 1997
359 -------------------------------------------------------------
361 This release does NOT require a dump/restore for those running 6.1.
363 Changes in this release
364 -----------------------
365 fix for SET with options (Thomas)
366 allow pg_dump/pg_dumpall to preserve ownership of all tables/objects(Bruce)
367 new psql \connect option allows changing usernames without chaning databases
368 fix for initdb --debug option(Yoshihiko Ichikawa))
369 lextest cleanup(Bruce)
371 fix date/time month boundary arithmetic(Thomas)
372 fix timezone daylight handling for some ports(Thomas, Bruce, Tatsuo)
373 timestamp overhauled to use standard functions(Thomas)
374 other code cleanup in date/time routines(Thomas)
375 psql's \d now case-insensitive(Bruce)
376 psql's backslash commands can now have trailing semicolon(Bruce)
377 fix memory leak in psql when using \g(Bruce)
378 major fix for endian handling of communication to server(Thomas, Tatsuo)
379 Fix for Solaris assembler and include files(Yoshihiko Ichikawa)
380 allow underscores in usernames(Bruce)
381 pg_dumpall now returns proper status, portability fix(Bruce)
385 PostgreSQL 6.1 Sun Jun 8 14:41:13 EDT 1997
386 -------------------------------------------------------------
388 A dump/restore is required for those wishing to migrate data from
389 previous releases of PostgreSQL.
393 packet length checking in library routines
394 lock manager priority patch
395 check for under/over flow of float8(Bruce)
396 multi-table join fix(Vadim)
397 SIGPIPE crash fix(Darren)
398 large object fixes(Sven)
399 allow btree indexes to handle NULLs(Vadim)
400 timezone fixes(D'Arcy)
401 select SUM(x) can return NULL on no rows(Thomas)
402 internal optimizer, executor bug fixes(Vadim)
403 fix problem where inner loop in < or <= has no rows(Vadim)
404 prevent re-commuting join index clauses(Vadim)
405 fix join clauses for multiple tables(Vadim)
406 fix hash, hashjoin for arrays(Vadim)
407 fix btree for abstime type(Vadim)
408 large object fixes(Raymond)
409 fix buffer leak in hash indices (Vadim)
410 fix rtree for use in inner scan (Vadim)
411 fix gist for use in inner scan, cleanups (Vadim, Andrea)
412 avoid unnecessary local buffers allocation (Vadim, Massimo)
413 fix local buffers leak in transaction aborts (Vadim)
414 fix file manager memmory leaks, cleanups (Vadim, Massimo)
415 fix storage manager memmory leaks (Vadim)
416 fix btree duplicates handling (Vadim)
417 fix deleted tuples re-incarnation caused by vacuum (Vadim)
418 fix SELECT varchar()/char() INTO TABLE made zero-length fields(Bruce)
419 many psql, pg_dump, and libpq memory leaks fixed using Purify (Igor)
423 attribute optimization statistics(Bruce)
424 much faster new btree bulk load code(Paul)
425 BTREE UNIQUE added to bulk load code(Vadim)
426 new lock debug code(Massimo)
427 massive changes to libpg++(Leo)
428 new GEQO optimizer speeds table multi-table optimization(Martin)
429 new WARN message for non-unique insert into unique key(Marc)
430 update x=-3, no spaces, now valid(Bruce)
431 remove case-sensitive identifier handling(Bruce,Thomas,Dan)
432 debug backend now pretty-prints tree(Darren)
433 new Oracle character functions(Edmund)
434 new plaintext password functions(Dan)
435 no such class or insufficient privilege changed to distinct messages(Dan)
436 new ANSI timestamp function(Dan)
437 new ANSI Time and Date types (Thomas)
438 move large chunks of data in backend(Martin)
439 multi-column btree indexes(Vadim)
440 new SET var TO value command(Martin)
441 update transaction status on reads(Dan)
442 new locale settings for character types(Oleg)
443 new SEQUENCE serial number generator(Vadim)
444 GROUP BY function now possible(Vadim)
445 re-organize regression test(Thomas,Marc)
446 new optimizer operation weights(Vadim)
447 new psql \z grant/permit option(Marc)
448 new MONEY data type(D'Arcy,Thomas)
449 tcp socket communication speed improved(Vadim)
450 new VACUUM option for attribute statistics, and for certain columns (Vadim)
451 many geometric type improvements(Thomas,Keith)
452 additional regression tests(Thomas)
453 new datestyle variable(Thomas,Vadim,Martin)
454 more comparison operators for sorting types(Thomas)
455 new conversion functions(Thomas)
456 new more compact btree format(Vadim)
457 allow pg_dumpall to preserve database ownership(Bruce)
458 new SET GEQO=# and R_PLANS variable(Vadim)
459 old (!GEQO) optimizer can use right-sided plans (Vadim)
460 typechecking improvement in SQL parser(Bruce)
461 new SET, SHOW, RESET commands(Thomas,Vadim)
462 new \connect database USER option
463 new destroydb -i option (Igor)
464 new \dt and \di psql commands (Darren)
465 SELECT "\n" now escapes newline (A. Duursma)
466 new geometry conversion functions from old format (Thomas)
470 new configuration script(Marc)
471 readline configuration option added(Marc)
472 OS-specific configuration options removed(Marc)
473 new OS-specific template files(Marc)
474 no more need to edit Makefile.global(Marc)
475 re-arrange include files(Marc)
476 nextstep patches (Gregor Hoffleit)
477 removed WIN32-specific code(Bruce)
478 removed postmaster -e option, now only postgres -e option (Bruce)
479 merge duplicate library code in front/backends(Martin)
480 now works with eBones, international Kerberos(Jun)
481 more shared library support
482 c++ include file cleanup(Bruce)
483 warn about buggy flex(Bruce)
484 DG-UX, Ultrix, Irix, AIX portability fixes
488 PostgreSQL 6.0 Wed Jan 29 00:19:54 EST 1997
489 -------------------------------------------------------------
491 A dump/restore is required for those wishing to migrate data from
492 previous releases of PostgreSQL.
496 ALTER TABLE bug - running postgress process needs to re-read table definition
497 Allow vacuum to be run on one table or entire database(Bruce)
499 Fix array over-runs of memory writes(Kurt)
500 Fix elusive btree range/non-range bug(Dan)
501 Fix for hash indexes on some types like time and date
502 Fix for pg_log size explosion
503 Fix permissions on lo_export()(Bruce)
504 Fix unitialized reads of memory(Kurt)
505 Fixed ALTER TABLE ... char(3) bug(Bruce)
506 Fixed a few small memory leaks
507 Fixed EXPLAIN handling of options and changed full_path option name
508 Fixed output of group acl permissions
509 Memory leaks (hunt and destroy with tools like Purify(Kurt)
510 Minor improvements to rules system
512 New asserts for run-checking
513 Overhauled parser/analyze code to properly report errors and increase speed
514 Pg_dump -d now handles NULL's properly(Bruce)
515 Prevent SELECT NULL from crashing server (Bruce)
516 Properly report errors when INSERT ... SELECT columns did not match
517 Properly report errors when insert column names were not correct
518 Psql \g filename now works(Bruce)
519 Psql fixed problem with multiple statements on one line with multiple outputs
520 Removed duplicate system oid's
521 SELECT * INTO TABLE . GROUP/ORDER BY gives unlink error if table exists(Bruce)
522 Several fixes for queries that crashed the backend
523 Starting quote in insert string errors(Bruce)
524 Submiting an empty query now returns empty status, not just " " query(Bruce)
528 Add EXPLAIN manual page(Bruce)
529 Add UNIQUE index capability(Dan)
530 Add hostname/user level access control rather than just hostname and user
531 Add synonym of != for <>(Bruce)
532 Allow "select oid,* from table"
533 Allow BY,ORDER BY to specify columns by number, or by non-alias table.column(Bruce)
534 Allow COPY from the frontend(Bryan)
535 Allow GROUP BY to use alias column name(Bruce)
536 Allow actual compression, not just reuse on the same page(Vadim)
537 Allow installation-configuration option to auto-add all local users(Bryan)
538 Allow libpq to distinguish between text value '' and null(Bruce)
539 Allow non-postgres users with createdb privs to destroydb's
540 Allow restriction on who can create C functions(Bryan)
541 Allow restriction on who can do backend COPY(Bryan)
542 Can shrink tables, pg_time and pg_log(Vadim & Erich)
543 Change debug level 2 to print queries only, changed debug heading layout(Bruce)
544 Change default decimal constant representation from float4 to float8(Bruce)
545 European date format now set when postmaster is started
546 Execute lowercase function names if not found with exact case
547 Fixes for aggregate/GROUP processing, allow 'select sum(func(x),sum(x+y) from z'
548 Gist now included in the distrubution(Marc)
549 Idend authentication of local users(Bryan)
550 Implement BETWEEN qualifier(Bruce)
551 Implement IN qualifier(Bruce)
552 Libpq has PQgetisnull()(Bruce)
554 New options to initdb(Bryan)
555 Pg_dump allow dump of oid's(Bruce)
556 Pg_dump create indexes after tables are loaded for speed(Bruce)
557 Pg_dumpall dumps all databases, and the user table
558 Pginterface additions for NULL values(Bruce)
559 Prevent postmaster from being run as root
560 Psql \h and \? is now readable(Bruce)
561 Psql allow backslashed, semicolons anywhere on the line(Bruce)
562 Psql changed command prompt for lines in query or in quotes(Bruce)
563 Psql char(3) now displays as (bp)char in \d output(Bruce)
564 Psql return code now more accurate(Bryan?)
565 Psql updated help syntax(Bruce)
566 Re-visit and fix vacuum(Vadim)
567 Reduce size of regression diffs, remove timezone name difference(Bruce)
568 Remove compile-time parameters to enable binary distributions(Bryan)
569 Reverse meaning of HBA masks(Bryan)
570 Secure Authentication of local users(Bryan)
571 Speed up vacuum(Vadim)
572 Vacuum now had VERBOSE option(Bruce)
576 All functions now have prototypes that are compared against the calls
577 Allow asserts to be disabled easly from Makefile.global(Bruce)
578 Change oid constants used in code to #define names
579 Decoupled sparc and solaris defines(Kurt)
580 Gcc -Wall compiles cleanly with warnings only from unfixable constructs
581 Major include file reorganization/reduction(Marc)
582 Make now stops on compile failure(Bryan)
583 Makefile restructuring(Bryan, Marc)
584 Merge bsdi_2_1 to bsdi(Bruce)
585 Monitor program removed
586 Name change from Postgres95 to PostgreSQL
587 New config.h file(Marc, Bryan)
588 PG_VERSION now set to 6.0 and used by postmaster
589 Portability additions, including Ultrix, DG/UX, AIX, and Solaris
590 Reduced the number of #define's, centeralized #define's
591 Remove duplicate OIDS in system tables(Dan)
592 Remove duplicate system catalog info or report mismatches(Dan)
593 Removed many os-specific #define's
594 Restructured object file generation/location(Bryan, Marc)
595 Restructured port-specific file locations(Bryan, Marc)
596 Unused/uninialized variables corrected
601 -------------------------------------------------------------
603 Sorry, we stopped keeping track of changes from 1.02 to 1.09. Some of
604 the changes listed in 6.0 were actually included in the 1.02.1 to 1.09
609 Postgres95 1.02 Thu Aug 1 18:00:00 EDT 1996
610 -------------------------------------------------------------
612 Source code maintainenance and development
613 * worldwide team of volunteers
614 * the source tree now in CVS at ftp.ki.net
615 * developers mailing list - pg95-dev@ki.net
618 * psql (and underlying libpq library) now has many more options for
619 formatting output, including HTML
620 * pg_dump now output the schema and/or the data, with many fixes to
621 enhance completeness.
622 * psql used in place of monitor in administration shell scripts.
623 monitor to be depreciated in next release.
624 * date/time functions enhanced
625 * NULL insert/update/comparison fixed/enhanced
626 * TCL/TK lib and shell fixed to work with both tck7.4/tk4.0 and tcl7.5/tk4.1
628 Bug Fixes (almost too numerous to mention)
631 * check for NULL pointer before dereferencing
635 * added SolarisX86 port
636 * added BSDI 2.1 port
639 Contributors (appologies to any missed)
640 * Kurt J. Lidl <lidl@va.pubnix.com>
641 (missed in first run, but no less important)
642 * Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
643 * Jason Wright <jason@shiloh.vnet.net>
644 * Cees de Groot <C.deGroot@inter.NL.net>
645 * ernst.molitor@uni-bonn.de
646 * michael.siebenborn@ae3.Hypo.DE (Michael Siebenborn (6929))
647 * Brian E. Gallew <geek+@cmu.edu>
648 * Vadim B. Mikheev <vadim@sable.krasnoyarsk.su>
649 * Adam Sussman <myddryn@vidya.com>
650 * Chris Dunlop <chris@onthe.net.au>
651 * Marc G. Fournier <scrappy@ki.net>
652 * Dan McGuirk <mcguirk@indirect.com>
653 * Dr_George_D_Detlefsen <drgeorge@ilt.com>
654 * Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
655 * Massimo Dal Zotto <dz@cs.unitn.it>
656 * Randy Kunkee <kunkee@Starbase.NeoSoft.COM>
657 * Rick Weldon <rick@wisetech.com>
658 * Thomas van Reimersdahl <reimersd@dali.techinfo.rwth-aachen.de>
659 * david bennett <dave@bensoft.com>
660 * ernst.molitor@uni-bonn.de
661 * Julian Assange <proff@suburbia.net>
662 * Bruce Momjian <maillist@candle.pha.pa.us>
663 * Paul "Shag" Walmsley <ccshag@cclabs.missouri.edu>
664 * "Alistair G. Crooks" <azcb0@sde.uts.amdahl.com>
668 Postgres95 1.01 Fri Feb 23 18:20:36 PST 1996
669 -------------------------------------------------------------
671 * 1.01 is backwards compatible with 1.0 database provided the user
672 follow the steps outlined in the MIGRATION_from_1.0_to_1.01 file.
673 If those steps are not taken, 1.01 is not compatible with 1.0 database.
676 * added PQdisplayTuples() to libpq and changed monitor and psql to use it
677 * added NeXT port (requires SysVIPC implementation)
678 * added CAST .. AS ... syntax
679 * added ASC and DESC keywords
680 * added 'internal' as a possible language for CREATE FUNCTION
681 internal functions are C functions which have been statically linked
682 into the postgres backend.
683 * a new type "name" has been added for system identifiers (table names,
684 attribute names, etc.) This replaces the old char16 type. The
685 of name is set by the NAMEDATALEN #define in src/Makefile.global
686 * a readable reference manual that describes the query language.
687 * added host-based access control. A configuration file ($PGDATA/pg_hba)
688 is used to hold the configuration data. If host-based access control
689 is not desired, comment out HBA=1 in src/Makefile.global.
690 * changed regex handling to be uniform use of Henry Spencer's regex code
691 regardless of platform. The regex code is included in the distribution
692 * added functions and operators for case-insensitive regular expressions.
693 The operators are ~* and !~*.
694 * pg_dump uses COPY instead of SELECT loop for better performance
697 * fixed an optimizer bug that was causing core dumps when
698 functions calls were used in comparisons in the WHERE clause
699 * changed all uses of getuid to geteuid so that effective uids are used
700 * psql now returns non-zero status on errors when using -c
701 * applied public patches 1-14
705 Postgres95 1.0 Tue Sep 5 11:24:11 PDT 1995
706 -------------------------------------------------------------
709 * The copyright of Postgres 1.0 has been loosened to be freely modifiable
710 and modifiable for any purpose. Please read the COPYRIGHT file.
711 Thanks to Professor Michael Stonebraker for making this possible.
714 * date formats have to be MM-DD-YYYY (or DD-MM-YYYY if you're using
715 EUROPEAN STYLE). This follows SQL-92 specs.
716 * "delimiters" is now a keyword
719 * sql LIKE syntax has been added
720 * copy command now takes an optional USING DELIMITER specification.
721 delimiters can be any single-character string.
722 * IRIX 5.3 port has been added.
723 Thanks to Paul Walmsley (ccshag@everest.cclabs.missouri.edu) and others.
724 * updated pg_dump to work with new libpq
725 * \d has been added psql
726 Thanks to Keith Parks (emkxp01@mtcc.demon.co.uk)
727 * regexp performance for architectures that use POSIX regex has been
728 improved due to caching of precompiled patterns.
729 Thanks to Alistair Crooks (agc@uts.amdahl.com)
730 * a new version of libpq++
731 Thanks to William Wanders (wwanders@sci.kun.nl)
734 * arbitrary userids can be specified in the createuser script
735 * \c to connect to other databases in psql now works.
736 * bad pg_proc entry for float4inc() is fixed
737 * users with usecreatedb field set can now create databases without
738 having to be usesuper
739 * remove access control entries when the entry no longer has any
741 * fixed non-portable datetimes implementation
742 * added kerberos flags to the src/backend/Makefile
743 * libpq now works with kerberos
744 * typographic errors in the user manual have been corrected.
745 * btrees with multiple index never worked, now we tell you they don't
746 work when you try to use them
750 Postgres95 Beta 0.03 Fri Jul 21 14:49:31 PDT 1995
751 ------------------------------------------------------
752 Incompatible changes:
753 * BETA-0.3 IS INCOMPATIBLE WITH DATABASES CREATED WITH PREVIOUS VERSIONS
754 (due to system catalog changes and indexing structure changes).
755 * double-quote (") is deprecated as a quoting character for string literals;
756 you need to convert them to single quotes (').
757 * name of aggregates (eg. int4sum) are renamed in accordance with the
758 SQL standard (eg. sum).
759 * CHANGE ACL syntax is replaced by GRANT/REVOKE syntax.
760 * float literals (eg. 3.14) are now of type float4 (instead of float8 in
761 previous releases); you might have to do typecasting if you depend on it
762 being of type float8. If you neglect to do the typecasting and you assign
763 a float literal to a field of type float8, you may get incorrect values
765 * LIBPQ has been totally revamped so that frontend applications
766 can connect to multiple backends
767 * the usesysid field in pg_user has been changed from int2 to int4 to
768 allow wider range of Unix user ids.
769 * the netbsd/freebsd/bsd o/s ports have been consolidated into a
770 single BSD44_derived port. (thanks to Alistair Crooks)
772 SQL standard-compliance (the following details changes that makes postgres95
773 more compliant to the SQL-92 standard):
774 * the following SQL types are now built-in: smallint, int(eger), float, real,
775 char(N), varchar(N), date and time.
777 The following are aliases to existing postgres types:
780 float, real -> float4
781 char(N) and varchar(N) are implemented as truncated text types. In
782 addition, char(N) does blank-padding.
783 * single-quote (') is used for quoting string literals; '' (in addition to
784 \') is supported as means of inserting a single quote in a string
785 * SQL standard aggregate names (MAX, MIN, AVG, SUM, COUNT) are used
786 (Also, aggregates can now be overloaded, i.e. you can define your
787 own MAX aggregate to take in a user-defined type.)
788 * CHANGE ACL removed. GRANT/REVOKE syntax added.
789 - Privileges can be given to a group using the "GROUP" keyword.
791 GRANT SELECT ON foobar TO GROUP my_group;
792 The keyword 'PUBLIC' is also supported to mean all users.
794 Privileges can only be granted or revoked to one user or group
797 "WITH GRANT OPTION" is not supported. Only class owners can change
799 - The default access control is to to grant users readonly access.
800 You must explicitly grant insert/update access to users. To change
801 this, modify the line in
802 src/backend/utils/acl.h
803 that defines ACL_WORLD_DEFAULT
806 * the bug where aggregates of empty tables were not run has been fixed. Now,
807 aggregates run on empty tables will return the initial conditions of the
808 aggregates. Thus, COUNT of an empty table will now properly return 0.
809 MAX/MIN of an empty table will return a tuple of value NULL.
810 * allow the use of \; inside the monitor
811 * the LISTEN/NOTIFY asynchronous notification mechanism now work
812 * NOTIFY in rule action bodies now work
813 * hash indices work, and access methods in general should perform better.
814 creation of large btree indices should be much faster. (thanks to Paul
817 Other changes and enhancements:
818 * addition of an EXPLAIN statement used for explaining the query execution
819 plan (eg. "EXPLAIN SELECT * FROM EMP" prints out the execution plan for
821 * WARN and NOTICE messages no longer have timestamps on them. To turn on
822 timestamps of error messages, uncomment the line in
823 src/backend/utils/elog.h:
824 /* define ELOG_TIMESTAMPS */
825 * On an access control violation, the message
826 "Either no such class or insufficient privilege"
827 will be given. This is the same message that is returned when
828 a class is not found. This dissuades non-privileged users from
829 guessing the existence of privileged classes.
830 * some additional system catalog changes have been made that are not
834 * The -oid option has been added to the "pg_result" tcl command.
835 pg_result -oid returns oid of the last tuple inserted. If the
836 last command was not an INSERT, then pg_result -oid returns "".
837 * the large object interface is available as pg_lo* tcl commands:
838 pg_lo_open, pg_lo_close, pg_lo_creat, etc.
840 Portability enhancements and New Ports:
841 * flex/lex problems have been cleared up. Now, you should be able to use
842 flex instead of lex on any platforms. We no longer make assumptions of
843 what lexer you use based on the platform you use.
844 * The Linux-ELF port is now supported. Various configuration have been
845 tested: The following configuration is known to work:
846 kernel 1.2.10, gcc 2.6.3, libc 4.7.2, flex 2.5.2, bison 1.24
847 with everything in ELF format,
850 * ipcclean added to the distribution
851 ipcclean usually does not need to be run, but if your backend crashes
852 and leaves shared memory segments hanging around, ipcclean will
853 clean them up for you.
856 * the user manual has been revised and libpq documentation added.
860 Postgres95 Beta 0.02 (Thu May 25 16:54:46 PDT 1995)
861 ------------------------------------------------------
862 Incompatible changes:
863 * The SQL statement for creating a database is 'CREATE DATABASE' instead
864 of 'CREATEDB'. Similarly, dropping a database is 'DROP DATABASE' instead
865 of 'DESTROYDB'. However, the names of the executables 'createdb' and
866 'destroydb' remain the same.
869 * pgperl - a Perl (4.036) interface to Postgres95
870 * pg_dump - a utility for dumping out a postgres database into a
871 script file containing query commands. The script files are in a ASCII
872 format and can be used to reconstruct the database, even on other
873 machines and other architectures. (Also good for converting
874 a Postgres 4.2 database to Postgres95 database.)
876 The following ports have been incorporated into postgres95-beta-0.02:
877 * the NetBSD port by Alistair Crooks
878 * the AIX port by Mike Tung
879 * the Windows NT port by Jon Forrest (more stuff but not done yet)
880 * the Linux ELF port by Brian Gallew
882 The following bugs have been fixed in postgres95-beta-0.02:
883 * new lines not escaped in COPY OUT and problem with COPY OUT when first
885 * cannot type return to use the default user id in createuser
886 * SELECT DISTINCT on big tables crashes
887 * Linux installation problems
888 * monitor doesn't allow use of 'localhost' as PGHOST
889 * psql core dumps when doing \c or \l
890 * the "pgtclsh" target missing from src/bin/pgtclsh/Makefile
891 * libpgtcl has a hard-wired default port number
892 * SELECT DISTINCT INTO TABLE hangs
893 * CREATE TYPE doesn't accept 'variable' as the internallength
894 * wrong result using more than 1 aggregate in a SELECT
898 Postgres95 Beta 0.01 (Mon May 1 19:03:10 PDT 1995)
899 ------------------------------------------------------