Prepare for final release.

This commit is contained in:
Bruce Momjian 1998-02-27 22:01:58 +00:00
parent 9ceaa677ad
commit f0410b1e12
5 changed files with 1063 additions and 857 deletions

25
HISTORY
View File

@ -1,4 +1,4 @@
PostgreSQL 6.3 Sun Feb 1 14:57:30 EST 1998
PostgreSQL 6.3 Sun Mar 1 14:57:30 EST 1998
-------------------------------------------------------------
A dump/restore is required for those wishing to migrate data from
@ -39,16 +39,16 @@ 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)
Change default table creation from ACL_RD to ACL_NO (aka private tables)(marc)
Major large objects fix
Enhancements
------------
Subselects with EXISTS, IN, ALL, ANY keywords (Vadim, Bruce, Thomas)
New User Manual(Thomas, others)
Speedup by inlining some frequently-called functions
Real deadlock detection, no more timeouts(Bruce)
<NOT DONE YET> Subselects with EXISTS, IN, ALL, ANY keywords (Vadim, Bruce, Thomas)
Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP,
CURRENT_USER(Thomas)
Speedup by inlining some frequently-called functions
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)
@ -107,7 +107,6 @@ 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)
Allow installation data block size and max tuple size configuration(Darren)
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)
@ -122,8 +121,17 @@ 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)
New HTML and Postscript documentation(Thomas)
CHAR() now faster access than VARCHAR() or TEXT
ecpg embedded SQL preprocessor
Add GROUP BY to INSERT INTO table SELECT * FROM table2
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.
Source Tree Changes
-------------------
@ -160,6 +168,7 @@ 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)
Remove un-needed malloc() calls and replace with palloc()(Bruce)
PostgreSQL 6.2.1 Fri Oct 17 00:01:27 EDT 1997

1552
doc/FAQ

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
TODO list for PostgreSQL
========================
Last updated: Sun Feb 1 15:08:57 EST 1998
Last updated: Fri Feb 27 13:32:53 EST 1998
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
@ -30,6 +30,7 @@ Developers who have claimed items are:
* Kurt is "Kurt J. Lidl" <lidl@va.pubnix.com>
* Marc is Marc Fournier <scrappy@hub.org>
* Martin is Martin S. Utesch <utesch@aut.tu-freiberg.de>
* Michael is Michael Meskes <meskes@topsystem.de>
* Oleg is Oleg Bartunov <oleg@sai.msu.su>
* Paul is Paul M. Aoki <aoki@CS.Berkeley.EDU>
* Patrick is Patrick van Kleef <pvk@pobox.com>
@ -45,10 +46,10 @@ Developers who have claimed items are:
* Vadim is "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
* Vivek is Vivek Khera <khera@kci.kciLink.com>
Additional; 6.3 developers include:
Additional 6.3 developers include:
---------------------------------
* Billy is Billy G. Allie <Bill.Allie@mug.org>
* Brook is Brook Milligan
* Brook is Brook Milligan <brook@trillium.NMSU.Edu>
* James is James Hughes <jamesh@interpath.com>
* Jeroen is Jeroen van Vianen <jeroenv@design.nl>
* Matt is Matt Maycock <maycock@intelliquest.com>
@ -63,7 +64,8 @@ RELIABILITY
* Overhaul bufmgr/lockmgr/transaction manager
* -Fix CLUSTER
* Remove EXTEND?
* -Aggregates on VIEW always returns zero (maybe because there is no oid for views?)
* -Aggregates on VIEW always returns zero (maybe because there is no oid for vi
ews?)
* CREATE VIEW requires super-user priviledge
* Can lo_export()/lo_import() read/write anywhere, causing a security problem?
* Tables that start with xinv confused to be large objects
@ -79,9 +81,10 @@ RELIABILITY
* UPDATE table SET table.value = 3 fails
* -UPDATE key_table SET keyval=count(reftab.num) fails
* -INSERT INTO ... SELECT DISTINCT ... does not accept DISTINCT
* -INSERT INTO table SELECT id, count(*) FROM table2 GROUP BY id generates error
* Make pg_dump preserve inheritance column order, do non-inherits first
* User who can create databases can modify pg_database table
* optimizer memory exhaustion with many OR's
* elog() does not free all its memory(Jan)
ENHANCEMENTS
------------
@ -145,7 +148,8 @@ ENHANCEMENTS
* add UNIQUE capability to non-btree indexes
* make number of backends a config parameter, storage/sinvaladt.h:MaxBackendId
* certain indexes will not shrink, i.e. oid indexes with many inserts
* make NULL's come out at the beginning or end depending on the ORDER BY direction
* make NULL's come out at the beginning or end depending on the ORDER BY direct
ion
* change the library/backend interface to use network byte order
* -allow unix domain sockets for local connections for performance and security
* -Add PAGER for psql's \dt, \d, \z tablename
@ -162,13 +166,24 @@ ENHANCEMENTS
* Fix compile and security of Kerberos/GSSAPI code
* Allow psql to print nulls as distinct from ""(?)
* Allow variable casts with BETWEEN 'today'::asbtime AND 'today'::abstime
* Allow VIEW permissions to be set separately from the underlying tables
* -Allow VIEW permissions to be set separately from the underlying tables
* Allow INSERT INTO ... SELECT ... FROM view to work
* Allow text, char(), and varchar() overhead to be only 2 bytes, not 4 bytes
* Make VACUUM on database not lock pg_class
* Make VACUUM ANALYZE only use a readlock
* Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
* Allow installation data block size and max tuple size configuration(Darren)
* Allow views on a UNION
* Allow views of aggregate columns
* Allow variable block sizes(Darren)
* System tables are now more update-able from SQL(Jan)
* New pg_shadow file, pg_user is now a view of pg_shadow(Jan)
PERFORMANCE
-----------
* Use indexes in ORDER BY, min(), max()
* -Allow LIKE/wildcard matches to use indexes if the wildcard character is not first
* Use indexes in ORDER BY, min(), max()(Costin Oproiu)
* -Allow LIKE/wildcard matches to use indexes if the wildcard character is not
first
* Optimizing disjunctive queries
* Fix bushy-plans (Martin)
* Other optimizer bugs
@ -181,6 +196,8 @@ PERFORMANCE
* update pg_statistic table to remove operator column
* make index creation use psort code, because it is now faster(Vadim)
* remove fork()/exec() of backend and make it just fork()
* Improve vacuum locking issues
* Add base table name to \d index
DOCUMENTATION
-------------
@ -195,33 +212,6 @@ DOCUMENTATION
CHANGES IN THE 6.3 RELEASE
--------------------------
Developers who have claimed items are:
-------------------------------------
* Billy is Billy G. Allie <Bill.Allie@mug.org>
* Brook is Brook Milligan
* Bruce is Bruce Momjian <maillist@candle.pha.pa.us>
* D'Arcy is D'Arcy J.M. Cain <darcy@druid.net>
* Dan is Dan McGuirk <mcguirk@indirect.com>
* Darren is Darren King <darrenk@insightdist.com>
* Goran is Goran Thyni <goran@bildbasen.se>
* Henry is Henry B. Hotz <hotz@jpl.nasa.gov>
* James is James Hughes <jamesh@interpath.com>
* Jan is Jan Wieck <wieck@sapserv.debis.de>
* Jeroen is Jeroen van Vianen <jeroenv@design.nl>
* Marc is Marc Fournier <scrappy@hub.org>
* Martin is Martin S. Utesch <utesch@aut.tu-freiberg.de>
* Matt is Matt Maycock <maycock@intelliquest.com>
* Peter is Peter T Mount <psqlhack@maidast.demon.co.uk>
* Phil is Phil Thompson <phil@river-bank.demon.co.uk>
* Ryan is Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>
* Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp>
* Thomas is Thomas Lockhart <lockhart@alumni.caltech.edu>
* TomH is Tom I Helbekkmo <tih@Hamartun.Priv.NO>
* TomS is Tom Szybist
* Todd is Todd Brandys is <brandys@eng3.hep.uiuc.edu>
* Travis is Travis Melhiser <melhiser@viper.co.union.nc.us>
* Vadim is "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
Bug Fixes
---------
Fix binary cursors broken by MOVE implementation(Vadim)
@ -254,25 +244,28 @@ 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)
Major large objects fix
Enhancements
------------
Subselects with EXISTS, IN, ALL, ANY keywords (Vadim, Bruce, Thomas)
New User Manual(Thomas, others)
Speedup by inlining some frequently-called functions
Real deadlock detection, no more timeouts(Bruce)
<NOT DONE YET> Subselects with EXISTS, IN, ALL, ANY keywords (Vadim, Bruce, Thomas)
Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP,
CURRENT_USER(Thomas)
Speedup by inlining some frequently-called functions
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 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)
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)
@ -294,7 +287,8 @@ 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 PGDATESTYLE environment variable to frontend and backend initialization(Tho
mas)
Add PGTZ, PGCOSTHEAP, PGCOSTINDEX, PGRPLANS, PGGEQO
frontend library initialization environment variables(Thomas)
Regression tests time zone automatically set with "setenv PGTZ PST8PDT"(Thomas)
@ -321,7 +315,6 @@ 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)
Allow installation data block size and max tuple size configuration(Darren)
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)
@ -336,8 +329,17 @@ 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)
New HTML and Postscript documentation(Thomas)
CHAR() now faster access than VARCHAR() or TEXT
ecpg embedded SQL preprocessor
Add GROUP BY to INSERT INTO table SELECT * FROM table2
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.
Source Tree Changes
-------------------
@ -374,3 +376,5 @@ 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)
Remove un-needed malloc() calls and replace with palloc()(Bruce)

View File

@ -1,15 +1,60 @@
This migration requires a complete dump of the 6.2 or 6.2.1 database and a
restore of the database in 6.3.
In addition, 6.3 has separate permissions for views, rather than relying
on the permissions set on the underlying tables. For this reason, you will
have to set permissions on your views if you want anything but the default
permissions.
There are some general 6.3 issues that I want to mention. These are
only the big items that can not be described in one sentence. A review
of the HISTORY files is still needed.
6.3 has had its default permissions on a table set such that unless you
are the owner, when a table is created, other users of the system won't
have access to them. You *must* do a 'GRANT' for each table you wish open
to other ppl.
First, we now have subselects. Now that we have them, I would like to
mention that without subselects, SQL is a very limited language.
Subselects are a major feature, and you should review your code for
places where subselects provide a better solution for your queries. I
think you will find that there are more uses for subselects than you may
think. Vadim has put us on the big SQL map with subselects, and fully
functional ones too. The only thing you can't do with subselects is to
use them in the target list.
Those migrating from earlier 1.* releases should first upgrade to 1.09
because the COPY output format was improved from the 1.02 release.
Second, 6.3 uses unix domain sockets rather than TCP/IP by default. To
enable connections from other machines, you have to use the new
postmaster -i option, and of course edit pg_hba.conf. Also, for this
reason, the format of pg_hba.conf has changed.
Third, char() fields will now allow faster access than varchar() or
text. Specifically, the text and varchar() have a penalty for access to
any columns after the first column of this type. char() used to also
have this access penalty, but it no longer does. This may suggest that
you redesign some of your tables, especially if you have short character
columns that you have defined as varchar() or text. This and other
changes make 6.3 even faster than earlier releases.
We now have passwords definable independent of any Unix file. There are
new SQL USER commands. See the pg_hba.conf manual page for more
information. There is a new table, pg_shadow, which is used to store
user information and user passwords, and it by default only SELECT-able
by the postgres super-user. pg_user is now a view of pg_shadow, and is
SELECT-able by PUBLIC. You should keep using pg_user in your
application without changes.
User-created tables now no longer have SELECT permission to PUBLIC by
default. This was done because the ANSI standard requires it. You can
of course GRANT any permissions you want after the table is created.
System tables continue to be SELECT-able by PUBLIC.
We also have real deadlock detection code. No more sixty-second
timeouts. And the new locking code implements a FIFO better, so there
should be less resource starvation during heavy use. For performance
reasons, time travel is gone, but can be implemented using triggers (see
pgsql/contrib/spi/README). Please check out the new \d command for
types, operators, etc. Also, views have their own permissions now, not
based on the underlying tables, so permissions on them have to be set
separately. Check /pgsql/interfaces for some new ways to talk to
PostgreSQL.
This is the first release that really required an explaination for
existing users. In many ways, this was necessary because the new
release removes many limitations, and the work-arounds people were using
are no longer needed.
Long live PostgreSQL.
-- Bruce Momjian

View File

@ -1,6 +1,6 @@
(1998-02-01)
(1998-03-01)
PostgreSQL has a Web site at http://www.postgresql.org/ which carries details
on the latest release, upcoming features, and other information to make your
work or play with PostgreSQL more productive.