Update for 6.3 release.
This commit is contained in:
parent
4af1e537d6
commit
8afae11406
5
HISTORY
5
HISTORY
@ -7,9 +7,6 @@ previous releases of PostgreSQL.
|
|||||||
* The migration/6.2.1_to_6.3 file contains a detailed description
|
* The migration/6.2.1_to_6.3 file contains a detailed description
|
||||||
* of the feature changes in this release, and is recommended reading.
|
* of the feature changes in this release, and is recommended reading.
|
||||||
|
|
||||||
CHANGES IN THE 6.3 RELEASE
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
Bug Fixes
|
Bug Fixes
|
||||||
---------
|
---------
|
||||||
Fix binary cursors broken by MOVE implementation(Vadim)
|
Fix binary cursors broken by MOVE implementation(Vadim)
|
||||||
@ -43,6 +40,8 @@ Allow multiple-argument functions in constraint clauses(Thomas)
|
|||||||
Check boolean input literals for 'true','false','yes','no','1','0'
|
Check boolean input literals for 'true','false','yes','no','1','0'
|
||||||
and throw elog(ERROR) if unrecognized(Thomas)
|
and throw elog(ERROR) if unrecognized(Thomas)
|
||||||
Major large objects fix
|
Major large objects fix
|
||||||
|
Fix for GROUP BY showing duplicates(Vadim)
|
||||||
|
Fix for index scans in MergeJion(Vadim)
|
||||||
|
|
||||||
Enhancements
|
Enhancements
|
||||||
------------
|
------------
|
||||||
|
76
doc/TODO
76
doc/TODO
@ -1,6 +1,6 @@
|
|||||||
TODO list for PostgreSQL
|
TODO list for PostgreSQL
|
||||||
========================
|
========================
|
||||||
Last updated: Fri Feb 27 13:32:53 EST 1998
|
Last updated: Sat Feb 28 10:00:29 EST 1998
|
||||||
|
|
||||||
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
||||||
|
|
||||||
@ -64,8 +64,7 @@ RELIABILITY
|
|||||||
* Overhaul bufmgr/lockmgr/transaction manager
|
* Overhaul bufmgr/lockmgr/transaction manager
|
||||||
* -Fix CLUSTER
|
* -Fix CLUSTER
|
||||||
* Remove EXTEND?
|
* Remove EXTEND?
|
||||||
* -Aggregates on VIEW always returns zero (maybe because there is no oid for vi
|
* -Aggregates on VIEW always returns zero (maybe because there is no oid for views?)
|
||||||
ews?)
|
|
||||||
* CREATE VIEW requires super-user priviledge
|
* CREATE VIEW requires super-user priviledge
|
||||||
* Can lo_export()/lo_import() read/write anywhere, causing a security problem?
|
* Can lo_export()/lo_import() read/write anywhere, causing a security problem?
|
||||||
* Tables that start with xinv confused to be large objects
|
* Tables that start with xinv confused to be large objects
|
||||||
@ -148,8 +147,7 @@ ENHANCEMENTS
|
|||||||
* add UNIQUE capability to non-btree indexes
|
* add UNIQUE capability to non-btree indexes
|
||||||
* make number of backends a config parameter, storage/sinvaladt.h:MaxBackendId
|
* make number of backends a config parameter, storage/sinvaladt.h:MaxBackendId
|
||||||
* certain indexes will not shrink, i.e. oid indexes with many inserts
|
* 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 direct
|
* make NULL's come out at the beginning or end depending on the ORDER BY direction
|
||||||
ion
|
|
||||||
* change the library/backend interface to use network byte order
|
* change the library/backend interface to use network byte order
|
||||||
* -allow unix domain sockets for local connections for performance and security
|
* -allow unix domain sockets for local connections for performance and security
|
||||||
* -Add PAGER for psql's \dt, \d, \z tablename
|
* -Add PAGER for psql's \dt, \d, \z tablename
|
||||||
@ -182,8 +180,7 @@ ion
|
|||||||
PERFORMANCE
|
PERFORMANCE
|
||||||
-----------
|
-----------
|
||||||
* Use indexes in ORDER BY, min(), max()(Costin Oproiu)
|
* Use indexes in ORDER BY, min(), max()(Costin Oproiu)
|
||||||
* -Allow LIKE/wildcard matches to use indexes if the wildcard character is not
|
* -Allow LIKE/wildcard matches to use indexes if the wildcard character is not first
|
||||||
first
|
|
||||||
* Optimizing disjunctive queries
|
* Optimizing disjunctive queries
|
||||||
* Fix bushy-plans (Martin)
|
* Fix bushy-plans (Martin)
|
||||||
* Other optimizer bugs
|
* Other optimizer bugs
|
||||||
@ -212,6 +209,59 @@ DOCUMENTATION
|
|||||||
CHANGES IN THE 6.3 RELEASE
|
CHANGES IN THE 6.3 RELEASE
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
Bug Fixes
|
Bug Fixes
|
||||||
---------
|
---------
|
||||||
Fix binary cursors broken by MOVE implementation(Vadim)
|
Fix binary cursors broken by MOVE implementation(Vadim)
|
||||||
@ -245,6 +295,8 @@ Allow multiple-argument functions in constraint clauses(Thomas)
|
|||||||
Check boolean input literals for 'true','false','yes','no','1','0'
|
Check boolean input literals for 'true','false','yes','no','1','0'
|
||||||
and throw elog(ERROR) if unrecognized(Thomas)
|
and throw elog(ERROR) if unrecognized(Thomas)
|
||||||
Major large objects fix
|
Major large objects fix
|
||||||
|
Fix for GROUP BY showing duplicates(Vadim)
|
||||||
|
Fix for index scans in MergeJion(Vadim)
|
||||||
|
|
||||||
Enhancements
|
Enhancements
|
||||||
------------
|
------------
|
||||||
@ -257,15 +309,13 @@ Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP,
|
|||||||
Modify constraint syntax to be SQL92-compliant(Thomas)
|
Modify constraint syntax to be SQL92-compliant(Thomas)
|
||||||
Implement SQL92 PRIMARY KEY and UNIQUE clauses using indices(Thomas)
|
Implement SQL92 PRIMARY KEY and UNIQUE clauses using indices(Thomas)
|
||||||
Recognize SQL92 syntax for FOREIGN KEY. Throw elog notice(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)
|
Allow Postgres-style casting ("::") of non-constants(Thomas)
|
||||||
Add support for SQL3 TRUE and FALSE boolean 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)
|
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 shorter strings for boolean literals (e.g. "t", "tr", "tru")(Thomas)
|
||||||
Allow SQL92 delimited identifiers(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
|
Support SQL92 syntax for type coercion of literal strings
|
||||||
(e.g. "DATETIME 'now'")(Thomas)
|
(e.g. "DATETIME 'now'")(Thomas)
|
||||||
Add conversions for int2, int4, and OID types to and from text(Thomas)
|
Add conversions for int2, int4, and OID types to and from text(Thomas)
|
||||||
@ -287,8 +337,7 @@ Augment support for SQL92 SET TIME ZONE...(Thomas)
|
|||||||
SET/SHOW/RESET TIME ZONE uses TZ backend environment variable(Thomas)
|
SET/SHOW/RESET TIME ZONE uses TZ backend environment variable(Thomas)
|
||||||
Implement SET keyword = DEFAULT and SET TIME ZONE DEFAULT(Thomas)
|
Implement SET keyword = DEFAULT and SET TIME ZONE DEFAULT(Thomas)
|
||||||
Enable SET TIME ZONE using TZ environment variable(Thomas)
|
Enable SET TIME ZONE using TZ environment variable(Thomas)
|
||||||
Add PGDATESTYLE environment variable to frontend and backend initialization(Tho
|
Add PGDATESTYLE environment variable to frontend and backend initialization(Thomas)
|
||||||
mas)
|
|
||||||
Add PGTZ, PGCOSTHEAP, PGCOSTINDEX, PGRPLANS, PGGEQO
|
Add PGTZ, PGCOSTHEAP, PGCOSTINDEX, PGRPLANS, PGGEQO
|
||||||
frontend library initialization environment variables(Thomas)
|
frontend library initialization environment variables(Thomas)
|
||||||
Regression tests time zone automatically set with "setenv PGTZ PST8PDT"(Thomas)
|
Regression tests time zone automatically set with "setenv PGTZ PST8PDT"(Thomas)
|
||||||
@ -377,4 +426,3 @@ Start a Cygnus port
|
|||||||
Add string functions to regression suite(Thomas)
|
Add string functions to regression suite(Thomas)
|
||||||
Expand a few function names formerly truncated to 16 characters(Thomas)
|
Expand a few function names formerly truncated to 16 characters(Thomas)
|
||||||
Remove un-needed malloc() calls and replace with palloc()(Bruce)
|
Remove un-needed malloc() calls and replace with palloc()(Bruce)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user