HISTORY 51.2 KB
Newer Older
Bruce Momjian's avatar
Bruce Momjian committed
1 2 3 4 5 6 7 8 9 10 11
PostgreSQL 6.4.2             Sat Jan  2 11:04:05 EST 1999
=========================================================

A dump/restore is NOT required for those running 6.4.*.

Changes
-------
Repackaged release to fix packaging problem of 6.4.1.
Fix for date/time constants


12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
PostgreSQL 6.4.1             Fri Dec 18 00:29:11 EST 1998
=========================================================

A dump/restore is NOT required for those running 6.4. Those running
pre-6.4 require a dump/restore, or for 6.3.* users, the use of the
pg_upgrade utility.

Changes
-------
Add pg_dump -N flag to force double quotes around identifiers.  This is
	the default(Thomas)
Fix for NOT in where clause causing crash(Bruce)
EXPLAIN VERBOSE coredump fix(Vadim)
Fix shared-library problems on Linux
Fix test for table existance to allow mixed-case and whitespace in
	the table name(Thomas)
Fix a couple of pg_dump bugs
Configure matches template/.similar entries better(Tom)
Change builtin function names from SPI_* to spi_*
OR WHERE clause fix(Vadim)
Fixes for mixed-case table names(Billy)
contrib/linux/postgres.init.csh/sh fix(Thomas)
libpq memory overrun fix
SunOS fixes(Tom)
Change exp() behavior to generate error on underflow(Thomas)
pg_dump fixes for memory leak, inheritance constraints, layout change
update pgaccess to 0.93
Fix prototype for 64-bit platforms
Multi-byte fixes(Tatsuo)
New ecpg man page
Fix memory overruns(Tatsuo)
Fix for lo_import() crash(Bruce)
Better search for install program(Tom)
Timezone fixes(Tom)
HPUX fixes(Tom)
Use implicit type coersion for matching DEFAULT values(Thomas)
Add routines to help with single-byte (internal) character type(Thomas)
Compilation of libpq for Win32 fixes(Magnus)
Upgrade to PyGreSQL 2.2(D'Arcy)



Bruce Momjian's avatar
Bruce Momjian committed
54
PostgreSQL 6.4               Mon Oct 26 11:40:42 EST 1998
55 56 57
=========================================================

A dump/restore is required for those wishing to migrate data from
Bruce Momjian's avatar
Bruce Momjian committed
58 59
previous releases of PostgreSQL.  You may also use the new pg_upgrade
utility to avoid a dump/reload.
60 61 62 63 64 65

Bug Fixes
---------
Fix for a tiny memory leak in PQsetdb/PQfinish(Bryan)
Remove char2-16 data types, use char/varchar(Darren)
Pqfn not handles a NOTICE message(Anders)
Bruce Momjian's avatar
Bruce Momjian committed
66 67
Reduced busywaiting overhead for spinlocks with many backends (dg)
Stuck spinlock detection (dg)
68 69 70 71 72 73 74 75 76 77
Fix up "ISO-style" timespan decoding and encoding(Thomas)
Fix problem with table drop after rollback of transaction(Vadim)
Change error message and remove non-functional update message(Vadim)
Fix for COPY array checking
Fix for SELECT 1 UNION SELECT NULL
Fix for buffer leaks in large object calls(Pascal)
Change owner from oid to int4 type(Bruce)
Fix a bug in the oracle compatibility functions btrim() ltrim() and rtrim()
Fix for shared invalidation cache overflow(Massimo)
Prevent file descriptor leaks in failed COPY's(Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
78 79 80
Fix memory leak in libpgtcl's pg_select(Constantin)
Fix problems with username/passwords over 8 characters(Tom)
Fix problems with handling of asynchronous NOTIFY in backend(Tom)
Bruce Momjian's avatar
Bruce Momjian committed
81
Fix of many bad system table entries(Tom)
82 83 84

Enhancements
------------
Bruce Momjian's avatar
Bruce Momjian committed
85
Upgrade ecpg and ecpglib,see src/interfaces/ecpc/ChangeLog(Michael)
Bruce Momjian's avatar
Bruce Momjian committed
86 87
Show the index used in an EXPLAIN(Zeugswetter)
EXPLAIN  invokes  rule system and shows plan(s) for rewritten queries(Jan)
Bruce Momjian's avatar
Bruce Momjian committed
88
Multi-byte awareness of many data types and functions, via configure(Tatsuo)
89 90 91 92 93 94 95
New configure --with-mb option(Tatsuo)
New initdb --pgencoding option(Tatsuo)
New createdb -E multibyte option(Tatsuo)
Select version(); now returns PostgreSQL version(Jeroen)
Libpq now allows asynchronous clients(Tom)
Allow cancel from client of backend query(Tom)
Psql now cancels query with Control-C(Tom)
Bruce Momjian's avatar
Bruce Momjian committed
96 97 98
Libpq users need not issue dummy queries to get NOTIFY messages(Tom)
NOTIFY now sends sender's PID, so you can tell whether it was your own(Tom)
PGresult struct now includes associated error message, if any(Tom)
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
Define "tz_hour" and "tz_minute" arguments to date_part()(Thomas)
Add routines to convert between varchar and bpchar(Thomas)
Add routines to allow sizing of varchar and bpchar into target columns(Thomas)
Add bit flags to support timezonehour and minute in data retrieval(Thomas)
Allow more variations on valid floating point numbers (e.g. ".1", "1e6")(Thomas)
Fixes for unary minus parsing with leading spaces(Thomas)
Implement TIMEZONE_HOUR, TIMEZONE_MINUTE per SQL92 specs(Thomas)
Check for and properly ignore FOREIGN KEY column constraints(Thomas)
Define USER as synonym for CURRENT_USER per SQL92 specs(Thomas)
Enable HAVING clause but no fixes elsewhere yet.
Make "char" type a synonym for "char(1)" (actually implemented as bpchar)(Thomas)
Save string type if specified for DEFAULT clause handling(Thomas)
Coerce operations involving different data types(Thomas)
Allow some index use for columns of different types(Thomas)
Add capabilities for automatic type conversion(Thomas)
Cleanups for large objects, so file is truncated on open(Peter)
Readline cleanups(Tom)
Allow psql  \f \ to make spaces as delimiter(Bruce)
Pass pg_attribute.atttypmod to the frontend for column field lengths(Tom,Bruce)
Msql compatibility library in /contrib(Aldrin)
Remove the requirement that ORDER/GROUP BY clause identifiers be 
included in the target list(David)
Convert columns to match columns in UNION clauses(Thomas)
Remove fork()/exec() and only do fork()(Bruce)
Jdbc cleanups(Peter)
Show backend status on ps command line(only works on some platforms)(Bruce)
Pg_hba.conf now has a sameuser option in the database field
Make lo_unlink take oid param, not int4
New DISABLE_COMPLEX_MACRO for compilers that can't handle our macros(Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
128
Libpgtcl now handles NOTIFY as a Tcl event, need not send dummy queries(Tom)
Bruce Momjian's avatar
Bruce Momjian committed
129
libpgtcl cleanups(Tom)
Bruce Momjian's avatar
Bruce Momjian committed
130
Add -error option to libpgtcl's pg_result command(Tom)
131 132 133 134 135 136 137 138 139
New locale patch, see docs/README/locale(Oleg)
Fix for pg_dump so CONSTRAINT and CHECK syntax is correct(ccb)
New contrib/lo code for large object orphan removal(Peter)
New psql command "SET CLIENT_ENCODING TO 'encoding'" for multi-bytes
feature, see /doc/README.mb(Tatsuo)
/contrib/noupdate code to revoke update permission on a column
Libpq can now be compiled on win32(Magnus)
Add PQsetdbLogin() in libpq
New 8-byte integer type, checked by configure for OS support(Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
140 141
Better support for quoted table/column names(Thomas)
Surround table and column names with double-quotes in pg_dump(Thomas)
142 143 144 145 146 147 148
PQreset() now works with passwords(Tom)
Handle case of GROUP BY target list column number out of range(David)
Allow UNION in subselects
Add auto-size to screen to \d? commands(Bruce)
Use UNION to show all \d? results in one query(Bruce)
Add \d? field search feature(Bruce)
Pg_dump issues fewer \connect requests(Tom)
Bruce Momjian's avatar
Bruce Momjian committed
149
Make pg_dump -z flag work better, document it in manual page(Tom)
150
Add HAVING clause with full support for subselects and unions(Stephan)
Bruce Momjian's avatar
Bruce Momjian committed
151
Full text indexing routines in contrib/fulltextindex(Maarten)
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
Transaction ids now stored in shared memory(Vadim)
New PGCLIENTENCODING when issuing COPY command(Tatsuo)
Support for SQL92 syntax "SET NAMES"(Tatsuo)
Support for LATIN2-5(Tatsuo)
Add UNICODE regression test case(Tatsuo)
Lock manager cleanup, new locking modes for LLL(Vadim)
Allow index use with OR clauses(Bruce)
Allows "SELECT NULL ORDER BY 1;"
Explain VERBOSE prints the plan, and now pretty-prints the plan to
the postmaster log file(Bruce)
Add Indices display to \d command(Bruce)
Allow GROUP BY on functions(David)
New pg_class.relkind for large objects(Bruce)
New way to send libpq NOTICE messages to a different location(Tom)
New \w write command to psql(Bruce)
New /contrib/findoidjoins scans oid columns to find join relationships(Bruce)
Allow binary-compatible indices to be considered when checking for valid
indices for restriction clauses containing a constant(Thomas)
New ISBN/ISSN code in /contrib/isbn_issn
Allow NOT LIKE, IN, NOT IN, BETWEEN, and NOT BETWEEN constraint(Thomas)
New rewrite system fixes many problems with rules and views(Jan)
	* Rules on relations work
	* Event qualifications on insert/update/delete work
	* New OLD variable to reference CURRENT, CURRENT will be remove in future
	* Update rules can reference NEW and OLD in rule qualifications/actions
	* Insert/update/delete rules on views work
	* Multiple rule actions are now supported, surrounded by parentheses
	* Regular users can create views/rules on tables they have RULE permits
	* Rules and views inherit the permissions on the creator
	* No rules at the column level
	* No UPDATE NEW/OLD rules
Bruce Momjian's avatar
Bruce Momjian committed
183
	* New pg_tables, pg_indexes, pg_rules and pg_views system views
184 185
	* Only a single action on SELECT rules
	* Total rewrite overhaul, perhaps for 6.5
Bruce Momjian's avatar
Bruce Momjian committed
186 187 188
	* handle subselects
	* handle aggregates on views
	* handle insert into select from view works
189 190 191 192 193 194 195 196 197 198 199
System indexes are now multi-key(Bruce)
Oidint2, oidint4, and oidname types are removed(Bruce)
Use system cache for more system table lookups(Bruce)
New backend programming language PL/pgSQL in backend/pl(Jan)
New SERIAL data type, auto-creates sequence/index(Thomas)
Enable assert checking without a recompile(Massimo)
User lock enhancements(Massimo)
New setval() command to set sequence value(Massimo)
Auto-remove unix socket file on startup if no postmaster running(Massimo)
Conditional trace package(Massimo)
New UNLISTEN command(Massimo)
Bruce Momjian's avatar
Bruce Momjian committed
200
Psql and libpq now compile under win32 using win32.mak(Magnus)
201 202
Lo_read no longer stores trailing NULL(Bruce)
Identifiers are now truncated to 31 characters internally(Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
203 204 205 206 207 208 209 210 211 212 213 214 215
Createuser options now availble on the command line
Code for 64-bit integer supported added, configure tested, int8 type(Thomas)
Prevent file descriptor leaf from failed COPY(Bruce)
New pg_upgrade command(Bruce)
Updated /contrib directories(Massimo)
New CREATE TABLE DEFAULT VALUES statement available(Thomas)
New INSERT INTO TABLE DEFAULT VALUES statement available(Thomas)
New DECLARE and FETCH feature(Thomas)
libpq's internal structures now not exported(Tom)
Allow up to 8 key indexes(Bruce)
Remove ARCHIVE keyword, that is no longer used(Thomas)
pg_dump -n flag to supress quotes around indentifiers
disable system columns for views(Jan)
Bruce Momjian's avatar
Bruce Momjian committed
216
new INET and CIDR types for network addresses(TomH, Paul)
Bruce Momjian's avatar
Bruce Momjian committed
217 218 219
no more double quotes in psql output
pg_dump now dumps views(Terry)
new SET QUERY_LIMIT(Tatsuo,Jan)
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237

Source Tree Changes
-------------------
/contrib cleanup(Jun)
Inline some small functions called for every row(Bruce)
Alpha/linux fixes
Hp/UX cleanups(Tom)
Multi-byte regression tests(Soonmyung.)
Remove --disabled options from configure
Define PGDOC to use POSTGRESDIR by default
Make regression optional
Remove extra braces code to pgindent(Bruce)
Add bsdi shared library support(Bruce)
New --without-CXX support configure option(Brook)
New FAQ_CVS
Update backend flowchart in tools/backend(Bruce)
Change atttypmod from int16 to int32(Bruce, Tom)
Getrusage() fix for platforms that do not have it(Tom)
Bruce Momjian's avatar
Bruce Momjian committed
238
Add PQconnectdb, PGUSER, PGPASSWORD to libpq man page
Bruce Momjian's avatar
Bruce Momjian committed
239
NS32K platform fixes(Phil Nelson, John Buller)
240 241 242 243
Sco 7/UnixWare 2.x fixes(Billy,others)
Sparc/Solaris 2.5 fixes(Ryan)
Pgbuiltin.3 is obsolete, move to doc files(Thomas)
Even more documention(Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
244 245 246 247 248 249 250
Nextstep support(Jacek)
Aix support(David)
pginterface manual page(Bruce)
shared libraries all have version numbers
merged all OS-specific shared library defines into one file
smarter TCL/TK configuration checking(Billy)
smarter perl configuration(Brook)
Bruce Momjian's avatar
Bruce Momjian committed
251
configure uses supplied install-sh if no install script found(Tom)
Bruce Momjian's avatar
Bruce Momjian committed
252
new Makefile.shlib for shared library configuration(Tom)
253 254 255



Bruce Momjian's avatar
Bruce Momjian committed
256
PostgreSQL 6.3.2             Tue Apr  7 16:53:16 EDT 1998
257
=========================================================
Bruce Momjian's avatar
Bruce Momjian committed
258 259 260 261 262 263 264 265 266 267 268 269

A dump/restore is NOT required for those running 6.3.1.  A 
'make distclean', 'make', and 'make install' is all that is required.
This last step should be performed while the postmaster is not running.
You should re-link any custom applications that use PostgreSQL libraries.

Changes
-------
configure detection improvements for tcl/tk(Brook Milligan, Alvin)
Manual page improvements(Bruce)
BETWEEN and LIKE fix(Thomas)
fix for psql \connect used by pg_dump(Oliver Elphick)
270
New odbc driver
Bruce Momjian's avatar
Bruce Momjian committed
271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286
pgaccess, version 0.86
qsort removed, now uses libc version, cleanups(Jeroen)
fix for buffer over-runs detected(Maurice Gittens)
fix for buffer overrun in libpgtcl(Randy Kunkee)
fix for UNION with DISTINCT or ORDER BY(Bruce)
gettimeofday configure check(Doug Winterburn)
Fix "indexes not used" bug(Vadim)
docs additions(Thomas)
Fix for backend memory leak(Bruce)
libreadline cleanup(Erwan MAS)
Remove DISTDIR(Bruce)
Makefile dependency cleanup(Jeroen van Vianen)
ASSERT fixes(Bruce)



Bruce Momjian's avatar
Bruce Momjian committed
287
PostgreSQL 6.3.1             Mon Mar 23 10:21:52 EST 1998
288
=========================================================
Bruce Momjian's avatar
Bruce Momjian committed
289

Bruce Momjian's avatar
Bruce Momjian committed
290 291 292 293
A dump/restore is NOT required for those running 6.3.  A 
'make distclean', 'make', and 'make install' is all that is required.
This last step should be performed while the postmaster is not running.
You should re-link any custom applications that use PostgreSQL libraries.
Bruce Momjian's avatar
Bruce Momjian committed
294 295 296 297 298 299 300

Changes
-------
ecpg cleanup/fixes, now version 1.1(Michael Meskes)
pg_user cleanup(Bruce)
large object fix for pg_dump and tclsh(alvin@camberlo.demon.co.uk)
LIKE fix for multiple adjacent underscores
Bruce Momjian's avatar
Bruce Momjian committed
301
LIKE/BETWEEN fix for having function call as target(Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
302 303 304 305 306 307 308
fix for redefining builtin functions(Thomas)
ultrix4 cleanup
upgrade to pg_access 0.83
updated CLUSTER manual page
multi-byte character set support, see doc/README.mb(Tatsuo)
configure --with-pgport fix
pg_ident fix
Bruce Momjian's avatar
Bruce Momjian committed
309
big-endian fix for backend communications(Kataoka)
Bruce Momjian's avatar
Bruce Momjian committed
310
SUBSTR() and substring() fix(Jan)
Bruce Momjian's avatar
Bruce Momjian committed
311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327
several jdbc fixes(Peter)
libpgtcl improvements, see libptcl/README(Randy Kunkee)
Fix for "Datasize = 0" error(Vadim)
Prevent \do from wrapping(Bruce)
Remove duplicate Russian character set entries
Sunos4 cleanup
Allow optional TABLE keyword in LOCK and SELECT INTO(Thomas)
CREATE SEQUENCE options to allow a negative integer(Thomas)
Add "PASSWORD" as an allowed column identifier(Thomas)
Add checks for UNION target fields(Bruce)
Fix Alpha port(Dwayne Bailey)
Fix for text arrays containing quotes(Doug Gibson)
Solaris compile fix(Albert Chin-A-Young)
Better identify tcl and tk libs and includes(Bruce)



Bruce Momjian's avatar
Bruce Momjian committed
328
PostgreSQL 6.3               Sun Mar  1 14:57:30 EST 1998
329
=========================================================
Bruce Momjian's avatar
Bruce Momjian committed
330 331 332 333

A dump/restore is required for those wishing to migrate data from
previous releases of PostgreSQL.

Bruce Momjian's avatar
Bruce Momjian committed
334 335 336
* The migration/6.2.1_to_6.3 file contains a detailed description 
* of the feature changes in this release, and is recommended reading.

Bruce Momjian's avatar
Bruce Momjian committed
337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368
Bug Fixes
---------
Fix binary cursors broken by MOVE implementation(Vadim)
Fix for tcl library crash(Jan)
Fix for array handling, from Gerhard Hintermayer
Fix acl error, and remove duplicate pqtrace(Bruce)
Fix psql \e for empty file(Bruce)
Fix for textcat on varchar() fields(Bruce)
Fix for DBT Sendproc (Zeugswetter Andres)
Fix vacuum analyze syntax problem(Bruce)
Fix for international identifiers(Tatsuo)
Fix aggregates on inherited tables(Bruce)
Fix substr() for out-of-bounds data
Fix for select 1=1 or 2=2, select 1=1 and 2=2, and select sum(2+2)(Bruce)
Fix notty output to show status result.  -q option still turns it off(Bruce)
Fix for count(*), aggs with views and multiple tables and sum(3)(Bruce)
Fix cluster(Bruce)
Fix for PQtrace start/stop several times(Bruce)
Fix a variety of locking problems like newer lock waiters getting
	lock before older waiters, and having readlock people not share
	locks if a writer is waiting for a lock, and waiting writers not
	getting priority over waiting readers(Bruce)
Fix crashes in psql when executing queries from external files(James)
Fix problem with multiple order by columns, with the first one having
	NULL values(Jeroen)
Use correct hash table support functions for float8 and int4(Thomas)
Re-enable JOIN= option in CREATE OPERATOR statement (Thomas)
Change precedence for boolean operators to match expected behavior(Thomas)
Generate elog(ERROR) on over-large integer(Bruce)
Allow multiple-argument functions in constraint clauses(Thomas)
Check boolean input literals for 'true','false','yes','no','1','0'
	and throw elog(ERROR) if unrecognized(Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
369
Major large objects fix
Bruce Momjian's avatar
Bruce Momjian committed
370 371
Fix for GROUP BY showing duplicates(Vadim)
Fix for index scans in MergeJion(Vadim)
Bruce Momjian's avatar
Bruce Momjian committed
372 373 374

Enhancements
------------
Bruce Momjian's avatar
Bruce Momjian committed
375 376 377
Subselects with EXISTS, IN, ALL, ANY keywords (Vadim, Bruce, Thomas)
New User Manual(Thomas, others)
Speedup by inlining some frequently-called functions
Bruce Momjian's avatar
Bruce Momjian committed
378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452
Real deadlock detection, no more timeouts(Bruce)
Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, 
	CURRENT_USER(Thomas)
Modify constraint syntax to be SQL92-compliant(Thomas)
Implement SQL92 PRIMARY KEY and UNIQUE clauses using indices(Thomas)
Recognize SQL92 syntax for FOREIGN KEY. Throw elog notice(Thomas)
Allow NOT NULL UNIQUE constraint clause (each allowed separately before)(Thomas)
Allow Postgres-style casting ("::") of non-constants(Thomas)
Add support for SQL3 TRUE and FALSE boolean constants(Thomas)
Support SQL92 syntax for IS TRUE/IS FALSE/IS NOT TRUE/IS NOT FALSE(Thomas)
Allow shorter strings for boolean literals (e.g. "t", "tr", "tru")(Thomas)
Allow SQL92 delimited identifiers(Thomas)
Implement SQL92 binary and hexadecimal string decoding (b'10' and x'1F')(Thomas)
Support SQL92 syntax for type coercion of literal strings
	(e.g. "DATETIME 'now'")(Thomas)
Add conversions for int2, int4, and OID types to and from text(Thomas)
Use shared lock when building indices(Vadim)
Free memory allocated for an user query inside transaction block after
	this query is done, was turned off in <= 6.2.1(Vadim)
New SQL statement CREATE PROCEDURAL LANGUAGE(Jan)
New PostgreSQL Procedural Language (PL) backend interface(Jan)
Rename pg_dump -H option to -h(Bruce)
Add Java support for passwords, European dates(Peter)
Use indices for LIKE and ~, !~ operations(Bruce)
Add hash functions for datetime and timespan(Thomas)
Time Travel removed(Vadim, Bruce)
Add paging for \d and \z, and fix \i(Bruce)
Add Unix domain socket support to backend and to frontend library(Goran)
Implement CREATE DATABASE/WITH LOCATION and initlocation utility(Thomas)
Allow more SQL92 and/or Postgres reserved words as column identifiers(Thomas)
Augment support for SQL92 SET TIME ZONE...(Thomas)
SET/SHOW/RESET TIME ZONE uses TZ backend environment variable(Thomas)
Implement SET keyword = DEFAULT and SET TIME ZONE DEFAULT(Thomas)
Enable SET TIME ZONE using TZ environment variable(Thomas)
Add PGDATESTYLE environment variable to frontend and backend initialization(Thomas)
Add PGTZ, PGCOSTHEAP, PGCOSTINDEX, PGRPLANS, PGGEQO
	frontend library initialization environment variables(Thomas)
Regression tests time zone automatically set with "setenv PGTZ PST8PDT"(Thomas)
Add pg_description table for info on tables, columns, operators, types, and
	aggregates(Bruce)
Increase 16 char limit on system table/index names to 32 characters(Bruce)
Rename system indices(Bruce)
Add 'GERMAN' option to SET DATESTYLE(Thomas)
Define an "ISO-style" timespan output format with "hh:mm:ss" fields(Thomas)
Allow fractional values for delta times (e.g. '2.5 days')(Thomas)
Validate numeric input more carefully for delta times(Thomas)
Implement day of year as possible input to date_part()(Thomas)
Define timespan_finite() and text_timespan() functions(Thomas)
Remove archive stuff(Bruce)
Allow for a pg_password authentication database that is separate from
	the system password file(Todd)
Dump ACLs, GRANT, REVOKE permissions(Matt)
Define text, varchar, and bpchar string length functions(Thomas)
Fix Query handling for inheritance, and cost computations(Bruce)
Implement CREATE TABLE/AS SELECT (alternative to SELECT/INTO)(Thomas)
Allow NOT, IS NULL, IS NOT NULL in constraints(Thomas)
Implement UNIONs for SELECT(Bruce)
Add UNION, GROUP, DISTINCT to INSERT(Bruce)
varchar() stores only necessary bytes on disk(Bruce)
Fix for BLOBs(Peter)
Mega-Patch for JDBC...see README_6.3 for list of changes(Peter)
Remove unused "option" from PQconnectdb()
New LOCK command and lock manual page describing deadlocks(Bruce)
Add new psql \da, \dd, \df, \do, \dS, and \dT commands(Bruce)
Enhance psql \z to show sequences(Bruce)
Show NOT NULL and DEFAULT in psql \d table(Bruce)
New psql .psqlrc file startup(Andrew)
Modify sample startup script in contrib/linux to show syslog(Thomas)
New types for IP and MAC addresses in contrib/ip_and_mac(TomH)
Unix system time conversions with date/time types in contrib/unixdate(Thomas)
Update of contrib stuff(Massimo)
Add Unix socket support to DBD::Pg(Goran)
New python interface (PyGreSQL 2.0)(D'Arcy)
New frontend/backend protocol has a version number, network byte order(Phil)
Security features in pg_hba.conf enhanced and documented, many cleanups(Phil)
Bruce Momjian's avatar
Bruce Momjian committed
453 454 455 456 457 458 459 460 461 462
CHAR() now faster access than VARCHAR() or TEXT
ecpg embedded SQL preprocessor
Reduce system column overhead(Vadmin)
Remove pg_time table(Vadim)
Add pg_type attribute to identify types that need length (bpchar, varchar)
Add report of offending line when COPY command fails
Allow VIEW permissions to be set separately from the underlying tables. 
	For security, use GRANT/REVOKE on views as appropriate(Jan)
Tables now have no default GRANT SELECT TO PUBLIC.  You must
	explicitly grant such permissions.
Bruce Momjian's avatar
Bruce Momjian committed
463
Clean up tutorial examples(Darren)
Bruce Momjian's avatar
Bruce Momjian committed
464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499

Source Tree Changes
-------------------
Add new html development tools, and flow chart in /tools/backend
Fix for SCO compiles
Stratus computer port "Gillies, Robert" <GilliesR@Nichols.com>
Added support for shlib for BSD44_derived & i386_solaris
Make configure more automated(Brook)
Add script to check regression test results
Break parser functions into smaller files, group together(Bruce)
Rename heap_create to heap_create_and_catalog, rename heap_creatr
	to heap_create()(Bruce)
Sparc/Linux patch for locking(TomS)
Remove PORTNAME and reorganize port-specific stuff(Marc)
Add optimizer README file(Bruce)
Remove some recursion in optimizer and clean up some code there(Bruce)
Fix for NetBSD locking(Henry)
Fix for libptcl make(Tatsuo)
AIX patch(Darren)
Change IS TRUE, IS FALSE, ... to expressions using "=" rather than
	function calls to istrue() or isfalse() to allow optimization(Thomas)
Various fixes NetBSD/Sparc related(TomH)
Alpha linux locking(Travis,Ryan)
Change elog(WARN) to elog(ERROR)(Bruce)
FAQ for FreeBSD(Marc)
Bring in the PostODBC source tree as part of our standard distribution(Marc)
A minor patch for HP/UX 10 vs 9(Stan)
New pg_attribute.atttypmod for type-specific info like varchar length(Bruce)
Unixware patches(Billy)
New i386 'lock' for spin lock asm(Billy)
Support for multiplexed backends is removed
Start an OpenBSD port
Start an AUX port
Start a Cygnus port
Add string functions to regression suite(Thomas)
Expand a few function names formerly truncated to 16 characters(Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
500
Remove un-needed malloc() calls and replace with palloc()(Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
501 502


Bruce Momjian's avatar
Bruce Momjian committed
503

Bruce Momjian's avatar
Bruce Momjian committed
504
PostgreSQL 6.2.1                 Fri Oct 17 00:01:27 EDT 1997
505
=========================================================
Bruce Momjian's avatar
Bruce Momjian committed
506

Bruce Momjian's avatar
Bruce Momjian committed
507 508 509
This release does NOT require a dump/restore for those running 6.2, but
there is an SQL query in /migration/6.2_to_6.2.1 that should be run. See
that file for more information.
Bruce Momjian's avatar
Bruce Momjian committed
510 511 512 513 514 515 516

Changes in this release
-----------------------
Allow TIME and TYPE column names(Thomas)
Allow larger range of true/false as boolean values(Thomas)
Support output of "now" and "current"(Thomas)
Handle DEFAULT with INSERT of NULL properly(Vadim)
Vadim B. Mikheev's avatar
Vadim B. Mikheev committed
517
Fix for relation reference counts problem in buffer manager(Vadim)
Bruce Momjian's avatar
Bruce Momjian committed
518
Allow strings to span lines, like ANSI(Thomas)
Vadim B. Mikheev's avatar
Vadim B. Mikheev committed
519
Fix for backward cursor with ORDER BY(Vadim)
Bruce Momjian's avatar
Bruce Momjian committed
520
Fix avg(cash) computation(Thomas)
Vadim B. Mikheev's avatar
Vadim B. Mikheev committed
521 522 523
Fix for specifying a column twice in ORDER/GROUP BY(Vadim)
Documented new libpq function to return affected rows, PQcmdTuples(Bruce)
Trigger function for inserting user names for INSERT/UPDATE(Brook Milligan)
Bruce Momjian's avatar
Bruce Momjian committed
524 525


Bruce Momjian's avatar
Bruce Momjian committed
526

Vadim B. Mikheev's avatar
Vadim B. Mikheev committed
527
PostgreSQL 6.2               Thu Oct 02 12:53:46 EDT 1997
528
=========================================================
529 530 531 532 533 534

A dump/restore is required for those wishing to migrate data from
previous releases of PostgreSQL.

Bug Fixes
---------
Bruce Momjian's avatar
Bruce Momjian committed
535
Fix problems with pg_dump for inheritance, sequences, archive tables(Bruce)
536
Fix compile errors on overflow due to shifts, unsigned, and bad prototypes
537 538 539
	 from Solaris(Diab Jerius)
Fix bugs in geometric line arithmetic (bad intersection calculations)(Thomas)
Check for geometric intersections at endpoints to avoid rounding ugliness(Thomas)
540 541 542 543
Catch non-functional delete attempts(Vadim)
Change time function names to be more consistent(Michael Reifenberg)
Check for zero divides(Michael Reifenberg)
Fix very old bug which made tuples changed/inserted by a commnd
544 545
	visible to the command itself (so we had multiple update of 
	updated tuples, etc)(Vadim)
546 547
Fix for SELECT null, 'fail' FROM pg_am (Patrick)
SELECT NULL as EMPTY_FIELD now allowed(Patrick)
Bruce Momjian's avatar
Bruce Momjian committed
548
Remove un-needed signal stuff from contrib/pginterface
549 550 551 552 553 554
Fix OR (where x <> 1 or x isnull didn't return tuples with x NULL) (Vadim)
Fix time_cmp function (Vadim)
Fix handling of functions with non-attribute first argument in 
	WHERE clauses (Vadim)
Fix GROUP BY when order of entries is different from order
	in target list (Vadim)
Vadim B. Mikheev's avatar
Vadim B. Mikheev committed
555
Fix pg_dump for aggregates without sfunc1 (Vadim)
556 557 558

Enhancements
------------
559 560 561 562 563 564
Default genetic optimizer GEQO parameter is now 8(Bruce)
Allow use parameters in target list having aggregates in functions(Vadim)
Added JDBC driver as an interface(Adrian & Peter)
pg_password utility
Return number of tuples inserted/affected by INSERT/UPDATE/DELETE etc.(Vadim)
Triggers implemented with CREATE TRIGGER (SQL3)(Vadim)
Vadim B. Mikheev's avatar
Vadim B. Mikheev committed
565
SPI (Server Programming Interface) allows execution of queries inside 
566
	C-functions (Vadim)
567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582
NOT NULL implemented (SQL92)(Robson Paniago de Miranda)
Include reserved words for string handling, outer joins, and unions(Thomas)
Implement extended comments ("/* ... */") using exclusive states(Thomas)
Add "//" single-line comments(Bruce)
Remove some restrictions on characters in operator names(Thomas)
DEFAULT and CONSTRAINT for tables implemented (SQL92)(Vadim & Thomas)
Add text concatenation operator and function (SQL92)(Thomas)
Support WITH TIME ZONE syntax (SQL92)(Thomas)
Support INTERVAL <unit> TO <unit> syntax (SQL92)(Thomas)
Define types DOUBLE PRECISION, INTERVAL, CHARACTER,
	and CHARACTER VARYING (SQL92)(Thomas)
Define type FLOAT(p) and rudimentary DECIMAL(p,s), NUMERIC(p,s) (SQL92)(Thomas)
Define EXTRACT(), POSITION(), SUBSTRING(), and TRIM() (SQL92)(Thomas)
Define CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP (SQL92)(Thomas)
Add syntax and warnings for UNION, HAVING, INNER and OUTER JOIN (SQL92)(Thomas)
Add more reserved words, mostly for SQL92 compliance(Thomas)
583 584 585 586
Allow hh:mm:ss time entry for timespan/reltime types(Thomas)
Add center() routines for lseg, path, polygon(Thomas)
Add distance() routines for circle-polygon, polygon-polygon(Thomas)
Check explicitly for points and polygons contained within polygons
587
	using an axis-crossing algorithm(Thomas)
588
Add routine to convert circle-box(Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
589
Merge conflicting operators for different geometric data types(Thomas)
590
Replace distance operator "<===>" with "<->"(Thomas)
591
Replace "above" operator "!^" with ">^" and "below" operator "!|" with "<^"(Thomas)
592 593
Add routines for text trimming on both ends, substring, and string position(Thomas)
Added conversion routines circle(box) and poly(circle)(Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
594
Allow internal sorts to be stored in memory rather than in files(Bruce & Vadim)
595 596
Allow functions and operators on internally-identical types to succeed(Bruce)
Speed up backend startup after profiling analysis(Bruce)
597 598 599
Inline frequently called functions for performance(Bruce)
Reduce open() calls(Bruce)
psql:  Add PAGER for \h and \?,\C fix
600 601
Fix for psql pager when no tty(Bruce)
New entab utility(Bruce)
602 603
General trigger functions for referential integrity (Vadim)
General trigger functions for time travel (Vadim)
Vadim B. Mikheev's avatar
Vadim B. Mikheev committed
604
General trigger functions for AUTOINCREMENT/IDENTITY feature (Vadim)
605
MOVE implementation (Vadim)
606 607 608 609 610 611

Source Tree Changes
-------------------
HPUX 10 patches (Vladimir Turin)
Added SCO support, (Daniel Harris)
mkLinux patches (Tatsuo Ishii)
612
Change geometric box terminology from "length" to "width"(Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
613
Deprecate temporary unstored slope fields in geometric code(Thomas)
614 615 616 617 618 619
Remove restart instructions from INSTALL(Bruce)
Look in /usr/ucb first for install(Bruce)
Fix c++ copy example code(Thomas)
Add -o to psql manual page(Bruce)
Prevent relname unallocated string length from being copied into database(Bruce)
Cleanup for NAMEDATALEN use(Bruce)
620
Fix pg_proc names over 15 chars in output(Bruce)
621 622 623 624 625 626
Add strNcpy() function(Bruce)
remove some (void) casts that are unnecessary(Bruce)
new interfaces directory(Marc)
Replace fopen() calls with calls to fd.c functions(Bruce)
Make functions static where possible(Bruce)
enclose unused functions in #ifdef NOT_USED(Bruce)
627
Remove call to difftime() in timestamp support to fix SunOS(Bruce & Thomas)
628 629 630
Changes for Digital Unix
Portability fix for pg_dumpall(Bruce)
Rename pg_attribute.attnvals to attdisbursion(Bruce)
631 632 633 634 635 636
"intro/unix" manual page now "pgintro"(Bruce)
"built-in" manual page now "pgbuiltin"(Bruce)
"drop" manual page now "drop_table"(Bruce)
Add "create_trigger", "drop_trigger" manual pages(Thomas)
Add constraints regression test(Vadim & Thomas)
Add comments syntax regression test(Thomas)
637 638 639
Add PGINDENT and support program(Bruce)
Massive commit to run PGINDENT on all *.c and *.h files(Bruce)
Files moved to /src/tools directory(Bruce)
Vadim B. Mikheev's avatar
Vadim B. Mikheev committed
640
SPI and Trigger programming guides (Vadim & D'Arcy)
641 642


Bruce Momjian's avatar
Bruce Momjian committed
643

644 645
PostgreSQL 6.1.1             Mon Jul 22 18:04:49 EDT 1997
=========================================================
Bruce Momjian's avatar
Bruce Momjian committed
646

647
This release does NOT require a dump/restore for those running 6.1.
Bruce Momjian's avatar
Bruce Momjian committed
648 649 650 651 652 653

Changes in this release
-----------------------
fix for SET with options (Thomas)
allow pg_dump/pg_dumpall to preserve ownership of all tables/objects(Bruce)
new psql \connect option allows changing usernames without chaning databases
Bruce Momjian's avatar
Bruce Momjian committed
654
fix for initdb --debug option(Yoshihiko Ichikawa))
Bruce Momjian's avatar
Bruce Momjian committed
655 656
lextest cleanup(Bruce)
hash fixes(Vadim)
Bruce Momjian's avatar
Bruce Momjian committed
657 658 659 660
fix date/time month boundary arithmetic(Thomas)
fix timezone daylight handling for some ports(Thomas, Bruce, Tatsuo)
timestamp overhauled to use standard functions(Thomas)
other code cleanup in date/time routines(Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
661 662 663 664 665 666 667 668 669
psql's \d now case-insensitive(Bruce)
psql's backslash commands can now have trailing semicolon(Bruce)
fix memory leak in psql when using \g(Bruce)
major fix for endian handling of communication to server(Thomas, Tatsuo)
Fix for Solaris assembler and include files(Yoshihiko Ichikawa)
allow underscores in usernames(Bruce)
pg_dumpall now returns proper status, portability fix(Bruce)


Bruce Momjian's avatar
Bruce Momjian committed
670

671 672
PostgreSQL 6.1               Sun Jun  8 14:41:13 EDT 1997
=========================================================
673

674 675 676 677 678 679 680 681 682 683 684 685 686
A dump/restore is required for those wishing to migrate data from
previous releases of PostgreSQL.

Bug Fixes
---------
packet length checking in library routines
lock manager priority patch
check for under/over flow of float8(Bruce)
multi-table join fix(Vadim)
SIGPIPE crash fix(Darren)
large object fixes(Sven)
allow btree indexes to handle NULLs(Vadim)
timezone fixes(D'Arcy)
Bruce Momjian's avatar
Bruce Momjian committed
687
select SUM(x) can return NULL on no rows(Thomas)
688 689 690 691 692 693 694
internal optimizer, executor bug fixes(Vadim)
fix problem where inner loop in < or <= has no rows(Vadim)
prevent re-commuting join index clauses(Vadim)
fix join clauses for multiple tables(Vadim)
fix hash, hashjoin for arrays(Vadim)
fix btree for abstime type(Vadim)
large object fixes(Raymond)
Bruce Momjian's avatar
Bruce Momjian committed
695 696 697 698 699 700 701 702 703 704 705
fix buffer leak in hash indices (Vadim)
fix rtree for use in inner scan (Vadim)
fix gist for use in inner scan, cleanups (Vadim, Andrea)
avoid unnecessary local buffers allocation (Vadim, Massimo)
fix local buffers leak in transaction aborts (Vadim)
fix file manager memmory leaks, cleanups (Vadim, Massimo)
fix storage manager memmory leaks (Vadim)
fix btree duplicates handling (Vadim)
fix deleted tuples re-incarnation caused by vacuum (Vadim)
fix SELECT varchar()/char() INTO TABLE made zero-length fields(Bruce)
many psql, pg_dump, and libpq memory leaks fixed using Purify (Igor)
706 707 708

Enhancements
------------
709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726
attribute optimization statistics(Bruce)
much faster new btree bulk load code(Paul)
BTREE UNIQUE added to bulk load code(Vadim) 
new lock debug code(Massimo)
massive changes to libpg++(Leo)
new GEQO optimizer speeds table multi-table optimization(Martin)
new WARN message for non-unique insert into unique key(Marc)
update x=-3, no spaces, now valid(Bruce)
remove case-sensitive identifier handling(Bruce,Thomas,Dan)
debug backend now pretty-prints tree(Darren)
new Oracle character functions(Edmund)
new plaintext password functions(Dan)
no such class or insufficient privilege changed to distinct messages(Dan)
new ANSI timestamp function(Dan)
new ANSI Time and Date types (Thomas)
move large chunks of data in backend(Martin)
multi-column btree indexes(Vadim)
new SET var TO value command(Martin)
Bruce Momjian's avatar
Bruce Momjian committed
727
update transaction status on reads(Dan)
728 729 730 731 732 733
new locale settings for character types(Oleg)
new SEQUENCE serial number generator(Vadim)
GROUP BY function now possible(Vadim)
re-organize regression test(Thomas,Marc)
new optimizer operation weights(Vadim)
new psql \z grant/permit option(Marc)
Bruce Momjian's avatar
Bruce Momjian committed
734
new MONEY data type(D'Arcy,Thomas)
735 736 737 738
tcp socket communication speed improved(Vadim)
new VACUUM option for attribute statistics, and for certain columns (Vadim)
many geometric type improvements(Thomas,Keith)
additional regression tests(Thomas)
Bruce Momjian's avatar
Bruce Momjian committed
739
new datestyle variable(Thomas,Vadim,Martin)
740 741 742 743
more comparison operators for sorting types(Thomas)
new conversion functions(Thomas)
new more compact btree format(Vadim)
allow pg_dumpall to preserve database ownership(Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
744 745 746 747 748 749 750 751 752
new SET GEQO=# and R_PLANS variable(Vadim)
old (!GEQO) optimizer can use right-sided plans (Vadim)
typechecking improvement in SQL parser(Bruce)
new SET, SHOW, RESET commands(Thomas,Vadim)
new \connect database USER option
new destroydb -i option (Igor)
new \dt and \di psql commands (Darren)
SELECT "\n" now escapes newline (A. Duursma)
new geometry conversion functions from old format (Thomas)
753

754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769
Source tree changes
-------------------
new configuration script(Marc)
readline configuration option added(Marc)
OS-specific configuration options removed(Marc)
new OS-specific template files(Marc)
no more need to edit Makefile.global(Marc)
re-arrange include files(Marc)
nextstep patches (Gregor Hoffleit)
removed WIN32-specific code(Bruce)
removed postmaster -e option, now only postgres -e option (Bruce)
merge duplicate library code in front/backends(Martin)
now works with eBones, international Kerberos(Jun)
more shared library support
c++ include file cleanup(Bruce)
warn about buggy flex(Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
770
DG-UX, Ultrix, Irix, AIX portability fixes
Bruce Momjian's avatar
Bruce Momjian committed
771 772 773



774 775
PostgreSQL 6.0               Wed Jan 29 00:19:54 EST 1997
=========================================================
Bruce Momjian's avatar
Bruce Momjian committed
776 777 778 779

A dump/restore is required for those wishing to migrate data from
previous releases of PostgreSQL.

Bruce Momjian's avatar
Bruce Momjian committed
780 781
Bug Fixes
---------
Bruce Momjian's avatar
Bruce Momjian committed
782
ALTER TABLE bug - running postgress process needs to re-read table definition
Bruce Momjian's avatar
Bruce Momjian committed
783 784 785
Allow vacuum to be run on one table or entire database(Bruce)
Array fixes
Fix array over-runs of memory writes(Kurt)
Bruce Momjian's avatar
Bruce Momjian committed
786
Fix elusive btree range/non-range bug(Dan)
Bruce Momjian's avatar
Bruce Momjian committed
787 788 789 790 791 792
Fix for hash indexes on some types like time and date
Fix for pg_log size explosion
Fix permissions on lo_export()(Bruce)
Fix unitialized reads of memory(Kurt)
Fixed ALTER TABLE ... char(3) bug(Bruce)
Fixed a few small memory leaks
Bruce Momjian's avatar
Bruce Momjian committed
793
Fixed EXPLAIN handling of options and changed full_path option name
Bruce Momjian's avatar
Bruce Momjian committed
794 795 796 797 798 799 800 801 802 803 804 805 806
Fixed output of group acl permissions
Memory leaks (hunt and destroy with tools like Purify(Kurt)
Minor improvements to rules system
NOTIFY fixes
New asserts for run-checking
Overhauled parser/analyze code to properly report errors and increase speed
Pg_dump -d now handles NULL's properly(Bruce)
Prevent SELECT NULL from crashing server (Bruce)
Properly report errors when INSERT ... SELECT columns did not match
Properly report errors when insert column names were not correct
Psql \g filename now works(Bruce)
Psql fixed problem with multiple statements on one line with multiple outputs
Removed duplicate system oid's
Bruce Momjian's avatar
Bruce Momjian committed
807
SELECT * INTO TABLE . GROUP/ORDER BY gives unlink error if table exists(Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
808 809 810 811 812 813
Several fixes for queries that crashed the backend
Starting quote in insert string errors(Bruce)
Submiting an empty query now returns empty status, not just " " query(Bruce)

Enhancements
------------
Bruce Momjian's avatar
Bruce Momjian committed
814
Add EXPLAIN manual page(Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
815
Add UNIQUE index capability(Dan)
Bruce Momjian's avatar
Bruce Momjian committed
816
Add hostname/user level access control rather than just hostname and user
Bruce Momjian's avatar
Bruce Momjian committed
817 818 819 820 821 822
Add synonym of != for <>(Bruce)
Allow "select oid,* from table"
Allow BY,ORDER BY to specify columns by number, or by non-alias table.column(Bruce)
Allow COPY from the frontend(Bryan)
Allow GROUP BY to use alias column name(Bruce)
Allow actual compression, not just reuse on the same page(Vadim)
Bruce Momjian's avatar
Bruce Momjian committed
823
Allow installation-configuration option to auto-add all local users(Bryan)
Bruce Momjian's avatar
Bruce Momjian committed
824 825 826
Allow libpq to distinguish between text value '' and null(Bruce)
Allow non-postgres users with createdb privs to destroydb's
Allow restriction on who can create C functions(Bryan)
Bruce Momjian's avatar
Bruce Momjian committed
827
Allow restriction on who can do backend COPY(Bryan)
Bruce Momjian's avatar
Bruce Momjian committed
828
Can shrink tables, pg_time and pg_log(Vadim & Erich)
Bruce Momjian's avatar
Bruce Momjian committed
829
Change debug level 2 to print queries only, changed debug heading layout(Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
830
Change default decimal constant representation from float4 to float8(Bruce)
831
European date format now set when postmaster is started
Bruce Momjian's avatar
Bruce Momjian committed
832 833 834 835 836 837 838 839 840 841 842
Execute lowercase function names if not found with exact case
Fixes for aggregate/GROUP processing, allow 'select sum(func(x),sum(x+y) from z'
Gist now included in the distrubution(Marc)
Idend authentication of local users(Bryan)
Implement BETWEEN qualifier(Bruce)
Implement IN qualifier(Bruce)
Libpq has PQgetisnull()(Bruce)
Libpq++ improvements
New options to initdb(Bryan)
Pg_dump allow dump of oid's(Bruce)
Pg_dump create indexes after tables are loaded for speed(Bruce)
843
Pg_dumpall dumps all databases, and the user table
Bruce Momjian's avatar
Bruce Momjian committed
844 845 846 847 848 849 850 851 852
Pginterface additions for NULL values(Bruce)
Prevent postmaster from being run as root
Psql \h and \? is now readable(Bruce)
Psql allow backslashed, semicolons anywhere on the line(Bruce)
Psql changed command prompt for lines in query or in quotes(Bruce)
Psql char(3) now displays as (bp)char in \d output(Bruce)
Psql return code now more accurate(Bryan?)
Psql updated help syntax(Bruce)
Re-visit and fix vacuum(Vadim)
Bruce Momjian's avatar
Bruce Momjian committed
853 854
Reduce size of regression diffs, remove timezone name difference(Bruce)
Remove compile-time parameters to enable binary distributions(Bryan)
Bruce Momjian's avatar
Bruce Momjian committed
855 856 857
Reverse meaning of HBA masks(Bryan)
Secure Authentication of local users(Bryan)
Speed up vacuum(Vadim)
858
Vacuum now had VERBOSE option(Bruce)
Bruce Momjian's avatar
Bruce Momjian committed
859 860 861 862 863 864 865 866 867

Source tree changes
-------------------
All functions now have prototypes that are compared against the calls
Allow asserts to be disabled easly from Makefile.global(Bruce)
Change oid constants used in code to #define names
Decoupled sparc and solaris defines(Kurt)
Gcc -Wall compiles cleanly with warnings only from unfixable constructs
Major include file reorganization/reduction(Marc)
Bruce Momjian's avatar
Bruce Momjian committed
868
Make now stops on compile failure(Bryan)
Bruce Momjian's avatar
Bruce Momjian committed
869 870 871 872 873
Makefile restructuring(Bryan, Marc)
Merge bsdi_2_1 to bsdi(Bruce)
Monitor program removed
Name change from Postgres95 to PostgreSQL
New config.h file(Marc, Bryan)
Bruce Momjian's avatar
Bruce Momjian committed
874
PG_VERSION now set to 6.0 and used by postmaster
Bruce Momjian's avatar
Bruce Momjian committed
875 876 877 878 879 880 881 882
Portability additions, including Ultrix, DG/UX, AIX, and Solaris
Reduced the number of #define's, centeralized #define's
Remove duplicate OIDS in system tables(Dan)
Remove duplicate system catalog info or report mismatches(Dan)
Removed many os-specific #define's
Restructured object file generation/location(Bryan, Marc)
Restructured port-specific file locations(Bryan, Marc)
Unused/uninialized variables corrected
Bruce Momjian's avatar
Bruce Momjian committed
883 884


Bruce Momjian's avatar
Bruce Momjian committed
885

886
PostgreSQL 1.09                 ???
887
=========================================================
888 889 890 891 892 893

Sorry, we stopped keeping track of changes from 1.02 to 1.09.  Some of
the changes listed in 6.0 were actually included in the 1.02.1 to 1.09
releases.


Bruce Momjian's avatar
Bruce Momjian committed
894

895 896
Postgres95 1.02              Thu Aug  1 18:00:00 EDT 1996
=========================================================
Marc G. Fournier's avatar
Marc G. Fournier committed
897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951

Source code maintainenance and development
 * worldwide team of volunteers
 * the source tree now in CVS at ftp.ki.net
 * developers mailing list - pg95-dev@ki.net

Enhancements
 * psql (and underlying libpq library) now has many more options for
   formatting output, including HTML
 * pg_dump now output the schema and/or the data, with many fixes to
   enhance completeness.
 * psql used in place of monitor in administration shell scripts.
   monitor to be depreciated in next release.
 * date/time functions enhanced
 * NULL insert/update/comparison fixed/enhanced
 * TCL/TK lib and shell fixed to work with both tck7.4/tk4.0 and tcl7.5/tk4.1

Bug Fixes (almost too numerous to mention)
 * indexes
 * storage management
 * check for NULL pointer before dereferencing
 * Makefile fixes

New Ports
 * added SolarisX86 port
 * added BSDI 2.1 port
 * added DGUX port

Contributors (appologies to any missed)
 * Kurt J. Lidl <lidl@va.pubnix.com> 
	(missed in first run, but no less important)
 * Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
 * Jason Wright <jason@shiloh.vnet.net>
 * Cees de Groot <C.deGroot@inter.NL.net>
 * ernst.molitor@uni-bonn.de
 * michael.siebenborn@ae3.Hypo.DE (Michael Siebenborn (6929))
 * Brian E. Gallew <geek+@cmu.edu>
 * Vadim B. Mikheev <vadim@sable.krasnoyarsk.su>
 * Adam Sussman <myddryn@vidya.com>
 * Chris Dunlop <chris@onthe.net.au>
 * Marc G. Fournier <scrappy@ki.net>
 * Dan McGuirk <mcguirk@indirect.com>
 * Dr_George_D_Detlefsen <drgeorge@ilt.com>
 * Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
 * Massimo Dal Zotto <dz@cs.unitn.it>
 * Randy Kunkee <kunkee@Starbase.NeoSoft.COM>
 * Rick Weldon <rick@wisetech.com>
 * Thomas van Reimersdahl <reimersd@dali.techinfo.rwth-aachen.de>
 * david bennett <dave@bensoft.com>
 * ernst.molitor@uni-bonn.de
 * Julian Assange <proff@suburbia.net>
 * Bruce Momjian <maillist@candle.pha.pa.us>
 * Paul "Shag" Walmsley <ccshag@cclabs.missouri.edu>
 * "Alistair G. Crooks" <azcb0@sde.uts.amdahl.com>

Bruce Momjian's avatar
Bruce Momjian committed
952 953


954 955
Postgres95 1.01              Fri Feb 23 18:20:36 PST 1996
=========================================================
Marc G. Fournier's avatar
Marc G. Fournier committed
956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988
Incompatibilities:
 * 1.01 is backwards compatible with 1.0 database provided the user
   follow the steps outlined in the MIGRATION_from_1.0_to_1.01 file.
   If those steps are not taken, 1.01 is not compatible with 1.0 database.

Enhancements:
 * added PQdisplayTuples() to libpq and changed monitor and psql to use it
 * added NeXT port (requires SysVIPC implementation)
 * added CAST .. AS ... syntax
 * added ASC and DESC keywords
 * added 'internal' as a possible language for CREATE FUNCTION
   internal functions are C functions which have been statically linked
   into the postgres backend.
 * a new type "name" has been added for system identifiers (table names,
   attribute names, etc.)  This replaces the old char16 type.   The
   of name is set by the NAMEDATALEN #define in src/Makefile.global
 * a readable reference manual that describes the query language.
 * added host-based access control.  A configuration file ($PGDATA/pg_hba)
   is used to hold the configuration data.  If host-based access control
   is not desired, comment out HBA=1 in src/Makefile.global.
 * changed regex handling to be uniform use of Henry Spencer's regex code
   regardless of platform.  The regex code is included in the distribution
 * added functions and operators for case-insensitive regular expressions. 
   The operators are ~* and !~*.
 * pg_dump uses COPY instead of SELECT loop for better performance

Bug fixes:
 * fixed an optimizer bug that was causing core dumps when 
   functions calls were used in comparisons in the WHERE clause
 * changed all uses of getuid to geteuid so that effective uids are used
 * psql now returns non-zero status on errors when using -c
 * applied public patches 1-14

Bruce Momjian's avatar
Bruce Momjian committed
989 990


991 992
Postgres95 1.0               Tue Sep  5 11:24:11 PDT 1995
=========================================================
Marc G. Fournier's avatar
Marc G. Fournier committed
993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034

Copyright change:
 * The copyright of Postgres 1.0 has been loosened to be freely modifiable
   and modifiable for any purpose.  Please read the COPYRIGHT file.
   Thanks to Professor Michael Stonebraker for making this possible.

Incompatibilities:
 *  date formats have to be MM-DD-YYYY (or DD-MM-YYYY if you're using
   EUROPEAN STYLE).  This follows SQL-92 specs.
 *  "delimiters" is now a keyword

Enhancements:
 *  sql LIKE syntax has been added
 *  copy command now takes an optional USING DELIMITER specification.
   delimiters can be any single-character string. 
 *  IRIX 5.3 port has been added.
   Thanks to Paul Walmsley (ccshag@everest.cclabs.missouri.edu) and others.
 *  updated pg_dump to work with new libpq
 *  \d has been added psql 
   Thanks to Keith Parks (emkxp01@mtcc.demon.co.uk)
 *  regexp performance for architectures that use POSIX regex has been
   improved due to caching of precompiled patterns.
   Thanks to Alistair Crooks (agc@uts.amdahl.com) 
 *  a new version of libpq++
   Thanks to William Wanders (wwanders@sci.kun.nl)

Bug fixes:
 *  arbitrary userids can be specified in the createuser script
 *  \c to connect to other databases in psql now works.
 *  bad pg_proc entry for float4inc() is fixed
 *  users with usecreatedb field set can now create databases without
   having to be usesuper
 *  remove access control entries when the entry no longer has any
   permissions
 *  fixed non-portable datetimes implementation
 *  added kerberos flags to the src/backend/Makefile
 *  libpq now works with kerberos
 *  typographic errors in the user manual have been corrected.
 *  btrees with multiple index never worked, now we tell you they don't
   work when you try to use them


Bruce Momjian's avatar
Bruce Momjian committed
1035

1036 1037
Postgres95 Beta 0.03         Fri Jul 21 14:49:31 PDT 1995
=========================================================
Marc G. Fournier's avatar
Marc G. Fournier committed
1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143
Incompatible changes:
 * BETA-0.3 IS INCOMPATIBLE WITH DATABASES CREATED WITH PREVIOUS VERSIONS
   (due to system catalog changes and indexing structure changes).
 * double-quote (") is deprecated as a quoting character for string literals;
   you need to convert them to single quotes (').
 * name of aggregates (eg. int4sum) are renamed in accordance with the
   SQL standard (eg. sum).
 * CHANGE ACL syntax is replaced by GRANT/REVOKE syntax.
 * float literals (eg. 3.14) are now of type float4 (instead of float8 in
   previous releases); you might have to do typecasting if you depend on it
   being of type float8.  If you neglect to do the typecasting and you assign
   a float literal to a field of type float8, you may get incorrect values
   stored!
 * LIBPQ has been totally revamped so that frontend applications
   can connect to multiple backends
 * the usesysid field in pg_user has been changed from int2 to int4 to
   allow wider range of Unix user ids.
 * the netbsd/freebsd/bsd o/s ports have been consolidated into a
   single BSD44_derived port.  (thanks to Alistair Crooks)

SQL standard-compliance (the following details changes that makes postgres95
more compliant to the SQL-92 standard):
 * the following SQL types are now built-in: smallint, int(eger), float, real,
   char(N), varchar(N), date and time.

   The following are aliases to existing postgres types:
		smallint -> int2
		integer, int -> int4
		float, real  -> float4
   char(N) and varchar(N) are implemented as truncated text types. In
   addition, char(N) does blank-padding. 
 * single-quote (') is used for quoting string literals; '' (in addition to
   \') is supported as means of inserting a single quote in a string
 * SQL standard aggregate names (MAX, MIN, AVG, SUM, COUNT) are used
   (Also, aggregates can now be overloaded, i.e. you can define your
   own MAX aggregate to take in a user-defined type.)
 * CHANGE ACL removed. GRANT/REVOKE syntax added.  
   - Privileges can be given to a group using the "GROUP" keyword.
	For example:
		GRANT SELECT ON foobar TO GROUP my_group;
	The keyword 'PUBLIC' is also supported to mean all users.	

	Privileges can only be granted or revoked to one user or group
	at a time.  

	"WITH GRANT OPTION" is not supported.  Only class owners can change
	access control
   - The default access control is to to grant users readonly access.
     You must explicitly grant insert/update access to users.  To change
     this, modify the line in 
		src/backend/utils/acl.h 
     that defines ACL_WORLD_DEFAULT 

Bug fixes:
 * the bug where aggregates of empty tables were not run has been fixed. Now,
   aggregates run on empty tables will return the initial conditions of the
   aggregates. Thus, COUNT of an empty	table will now properly return 0.
   MAX/MIN of an empty table will return a tuple of value NULL. 
 * allow the use of \; inside the monitor
 * the LISTEN/NOTIFY asynchronous notification mechanism now work
 * NOTIFY in rule action bodies now work
 * hash indices work, and access methods in general should perform better.
   creation of large btree indices should be much faster.  (thanks to Paul
   Aoki)

Other changes and enhancements:
 * addition of an EXPLAIN statement used for explaining the query execution
   plan (eg. "EXPLAIN SELECT * FROM EMP" prints out the execution plan for
   the query).
 * WARN and NOTICE messages no longer have timestamps on them. To turn on
   timestamps of error messages, uncomment the line in
   src/backend/utils/elog.h:
	/* define ELOG_TIMESTAMPS */ 
 * On an access control violation, the message
	"Either no such class or insufficient privilege"
   will be given.  This is the same message that is returned when
   a class is not found.  This dissuades non-privileged users from
   guessing the existence of privileged classes.
 * some additional system catalog changes have been made that are not
   visible to the user.

libpgtcl changes:
 * The -oid option has been added to the "pg_result" tcl command.
   pg_result -oid returns oid of the last tuple inserted.   If the
   last command was not an INSERT, then pg_result -oid returns "".
 * the large object interface is available as pg_lo* tcl commands:
   pg_lo_open, pg_lo_close, pg_lo_creat, etc.

Portability enhancements and New Ports:
 * flex/lex problems have been cleared up.  Now, you should be able to use
   flex instead of lex on any platforms.  We no longer make assumptions of
   what lexer you use based on the platform you use. 
 * The Linux-ELF port is now supported.  Various configuration have been 
   tested:  The following configuration is known to work:
	kernel 1.2.10, gcc 2.6.3, libc 4.7.2, flex 2.5.2, bison 1.24
   with everything in ELF format,

New utilities:
 * ipcclean added to the distribution
   ipcclean usually does not need to be run, but if your backend crashes
   and leaves shared memory segments hanging around, ipcclean will
   clean them up for you.

New documentation:
 * the user manual has been revised and libpq documentation added.

Bruce Momjian's avatar
Bruce Momjian committed
1144 1145


1146 1147
Postgres95 Beta 0.02         Thu May 25 16:54:46 PDT 1995
=========================================================
Marc G. Fournier's avatar
Marc G. Fournier committed
1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181
Incompatible changes:
 * The SQL statement for creating a database is 'CREATE DATABASE' instead
   of 'CREATEDB'. Similarly, dropping a database is 'DROP DATABASE' instead
   of 'DESTROYDB'. However, the names of the executables 'createdb' and 
   'destroydb' remain the same.
 
New tools:
 * pgperl - a Perl (4.036) interface to Postgres95
 * pg_dump - a utility for dumping out a postgres database into a
	script file containing query commands. The script files are in a ASCII
	format and can be used to reconstruct the database, even on other
	machines and other architectures. (Also good for converting
	a Postgres 4.2 database to Postgres95 database.)

The following ports have been incorporated into postgres95-beta-0.02:
 * the NetBSD port by Alistair Crooks
 * the AIX port by Mike Tung
 * the Windows NT port by Jon Forrest (more stuff but not done yet)
 * the Linux ELF port by Brian Gallew

The following bugs have been fixed in postgres95-beta-0.02:
 * new lines not escaped in COPY OUT and problem with COPY OUT when first
   attribute is a '.' 
 * cannot type return to use the default user id in createuser
 * SELECT DISTINCT on big tables crashes
 * Linux installation problems
 * monitor doesn't allow use of 'localhost' as PGHOST
 * psql core dumps when doing \c or \l
 * the "pgtclsh" target missing from src/bin/pgtclsh/Makefile
 * libpgtcl has a hard-wired default port number
 * SELECT DISTINCT INTO TABLE hangs
 * CREATE TYPE doesn't accept 'variable' as the internallength
 * wrong result using more than 1 aggregate in a SELECT

Bruce Momjian's avatar
Bruce Momjian committed
1182 1183


1184 1185
Postgres95 Beta 0.01          Mon May 1 19:03:10 PDT 1995
=========================================================
Marc G. Fournier's avatar
Marc G. Fournier committed
1186
Initial release.