Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

HISTORY

Blame
  • To find the state of this project's repository at the time of any of these versions, check out the tags.
    HISTORY 21.45 KiB
    PostgreSQL 6.1                   Tue Jun  3 16:32:44 EDT 1997
    -------------------------------------------------------------
    
    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)
    select SUM(x) can return NULL on no rows(Thomas)
    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)
    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)
    
    Enhancements
    ------------
    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)
    update transaction status on reads(Dan)
    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)
    new MONEY data type(D'Arcy,Thomas)
    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)
    new datestyle variable(Thomas,Vadim,Martin)
    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)
    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)
    
    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)
    DG-UX, Ultrix, Irix, AIX portability fixes
    PostgreSQL 6.0                   Wed Jan 29 00:19:54 EST 1997
    -------------------------------------------------------------
    
    A dump/restore is required for those wishing to migrate data from
    previous releases of PostgreSQL.
    
    Bug Fixes
    ---------
    ALTER TABLE bug - running postgress process needs to re-read table definition
    Allow vacuum to be run on one table or entire database(Bruce)
    Array fixes
    Fix array over-runs of memory writes(Kurt)
    Fix elusive btree range/non-range bug(Dan)
    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
    Fixed EXPLAIN handling of options and changed full_path option name
    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
    SELECT * INTO TABLE . GROUP/ORDER BY gives unlink error if table exists(Bruce)
    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
    ------------
    Add EXPLAIN manual page(Bruce)
    Add UNIQUE index capability(Dan)
    Add hostname/user level access control rather than just hostname and user
    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)
    Allow installation-configuration option to auto-add all local users(Bryan)
    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)
    Allow restriction on who can do backend COPY(Bryan)
    Can shrink tables, pg_time and pg_log(Vadim & Erich)
    Change debug level 2 to print queries only, changed debug heading layout(Bruce)
    Change default decimal constant representation from float4 to float8(Bruce)
    European date format now set when postmaster is started
    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)
    Pg_dumpall dumps all databases, and the user table
    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)
    Reduce size of regression diffs, remove timezone name difference(Bruce)
    Remove compile-time parameters to enable binary distributions(Bryan)
    Reverse meaning of HBA masks(Bryan)
    Secure Authentication of local users(Bryan)
    Speed up vacuum(Vadim)
    Vacuum now had VERBOSE option(Bruce)
    
    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)
    Make now stops on compile failure(Bryan)
    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)
    PG_VERSION now set to 6.0 and used by postmaster
    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
    
    
    PostgreSQL 1.09                 ???
    -------------------------------------------------------------
    
    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.
    
    
    Postgres95 1.02                 Thu Aug  1 18:00:00 EDT 1996
    -------------------------------------------------------------
    
    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>
    
    Postgres95 1.01			Fri Feb 23 18:20:36 PST 1996
    -------------------------------------------------------------
    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
    
    Postgres95 1.0			Tue Sep  5 11:24:11 PDT 1995
    -------------------------------------------------------------
    
    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
    
    
    Postgres95 Beta 0.03		Fri Jul 21 14:49:31 PDT 1995
    ------------------------------------------------------
    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.
    
    Postgres95 Beta 0.02	(Thu May 25 16:54:46 PDT 1995)
    ------------------------------------------------------
    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
    
    Postgres95 Beta 0.01	(Mon May 1 19:03:10 PDT 1995)
    ------------------------------------------------------
    Initial release.