diff --git a/doc/src/sgml/admin.sgml b/doc/src/sgml/admin.sgml index 9bf1f39465..fecc728009 100644 --- a/doc/src/sgml/admin.sgml +++ b/doc/src/sgml/admin.sgml @@ -1,11 +1,18 @@ - (last updated 1999-05-19) + (last updated 1999-06-01) - PostgreSQL is copyright (©) 1998-9 + PostgreSQL is © 1998-9 by the Postgres Global Development Group. diff --git a/doc/src/sgml/biblio.sgml b/doc/src/sgml/biblio.sgml index 2e747ecbb2..0427b10efe 100644 --- a/doc/src/sgml/biblio.sgml +++ b/doc/src/sgml/biblio.sgml @@ -98,6 +98,39 @@ + + An Introduction to Database Systems + + + Date, 1994 + + 6 + + + C. J. + Date + + + 1 + 1994 + + Addison-Wesley + + + 1994 + Addison-Wesley Longman, Inc. + + + + + + @@ -135,6 +168,38 @@ --> </biblioentry> + <biblioentry> +<!-- +<BIBLIOMISC>‐</BIBLIOMISC> + +<BOOKBIBLIO ID="ULL88"> +--> + <title id="ULL88-full"> + Principles of Database and Knowledge + + + Base Systems + + + Ullman, 1988 + + + + Jeffrey D. + Ullman + + + 1 + + + Computer Science Press + + + + 1988 + + + diff --git a/doc/src/sgml/cvs.sgml b/doc/src/sgml/cvs.sgml index aadf0027fa..9fcd532d02 100644 --- a/doc/src/sgml/cvs.sgml +++ b/doc/src/sgml/cvs.sgml @@ -1,9 +1,16 @@ - - Date/Time Support + + Date/Time Support Time Zones diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 5457e409e1..35b6ae89c8 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -1,10 +1,17 @@ - (last updated 1998-02-23) + (last updated 1999-06-01) -PostgreSQL is copyright (C) 1998 +PostgreSQL is © 1998-9 by the Postgres Global Development Group. diff --git a/doc/src/sgml/ports.sgml b/doc/src/sgml/ports.sgml index c8bad8ec6f..988a5cb2b0 100644 --- a/doc/src/sgml/ports.sgml +++ b/doc/src/sgml/ports.sgml @@ -1,327 +1,327 @@ - -Ports + + Ports - -This manual describes version 6.5 of Postgres. -The Postgres developer community has -compiled and tested Postgres on a -number of platforms. Check -the web site -for the latest information. - + + This manual describes version 6.5 of Postgres. + The Postgres developer community has + compiled and tested Postgres on a + number of platforms. Check + the web site + for the latest information. + - -Currently Supported Platforms + + Currently Supported Platforms - -At the time of publication, the following platforms have been tested: + + At the time of publication, the following platforms have been tested: - -Supported Platforms - - - - OS - Processor - Version - Reported - Remarks - - - - - AIX 4.2.1 - RS6000 - v6.4 - 1998-10-27 - (Andreas Zeugswetter) - - - BSDI - x86 - v6.4 - 1998-10-25 - (Bruce Momjian - - - FreeBSD 2.2.x-3.x - x86 - v6.4 - 1998-10-26 - (Tatsuo Ishii, - Marc Fournier) - - - DGUX 5.4R4.11 - m88k - v6.3 - 1998-03-01 - v6.4 probably OK. Needs new maintainer. - (Brian E Gallew) - - - Digital Unix 4.0 - Alpha - v6.4 - 1998-10-29 - Minor patchable problems - (Pedro J. Lobo) - - - HPUX - PA-RISC - v6.4 - 1998-10-25 - Both 9.0x and 10.20 - (Tom Lane, - Stan Brown) - - - IRIX 6.5 - MIPS - v6.4 - 1998-12-29 - IRIX 5.x is different - (Mark Dalphin) - - - linux 2.0.x - Alpha - v6.3.2 - 1998-04-16 - Mostly successful. Needs work for v6.4. - (Ryan Kirkpatrick) - - - linux 2.0.x/libc5 - x86 - v6.4 - 1998-10-27 - (Thomas Lockhart) - - - linux 2.0.x/glibc2 - x86 - v6.4 - 1998-10-25 - (Oliver Elphick, - Taral) - - - linux 2.0.x - MIPS - v6.4 - 1998-12-16 - Cobalt Qube - (Tatsuo Ishii) - - - linux 2.0.x - Sparc - v6.4 - 1998-10-25 - (Tom Szybist) - - - linuxPPC 2.1.24 - PPC603e - v6.4 - 1998-10-26 - Powerbook 2400c - (Tatsuo Ishii) - - - mklinux DR3 - PPC750 - v6.4 - 1998-09-16 - PowerMac 7600 - (Tatsuo Ishii) - - - NetBSD/i386 1.3.2 - x86 - v6.4 - 1998-10-25 - (Brook Milligan) - - - NetBSD - m68k - v6.4.2 - 1998-12-28 - Mac SE/30 +
+ Supported Platforms + + + + OS + Processor + Version + Reported + Remarks + + + + + AIX 4.2.1 + RS6000 + v6.4 + 1998-10-27 + (Andreas Zeugswetter) + + + BSDI + x86 + v6.5 + 1999-05-25 + (Bruce Momjian + + + FreeBSD 2.2.x-3.x + x86 + v6.5 + 1999-05-25 + (Tatsuo Ishii, + Marc Fournier) + + + DGUX 5.4R4.11 + m88k + v6.3 + 1998-03-01 + v6.4 probably OK. Needs new maintainer. + (Brian E Gallew) + + + Digital Unix 4.0 + Alpha + v6.4 + 1998-10-29 + Minor patchable problems + (Pedro J. Lobo) + + + HPUX + PA-RISC + v6.4 + 1998-10-25 + Both 9.0x and 10.20 + (Tom Lane, + Stan Brown) + + + IRIX 6.5 + MIPS + v6.4 + 1998-12-29 + IRIX 5.x is different + (Mark Dalphin) + + + linux 2.0.x + Alpha + v6.3.2 + 1998-04-16 + Mostly successful. Needs work for v6.4. + (Ryan Kirkpatrick) + + + linux 2.0.x/libc5 + x86 + v6.4 + 1998-10-27 + (Thomas Lockhart) + + + linux 2.0.x/glibc2 + x86 + v6.4 + 1999-05-24 + (Thomas Lockhart) + + + linux 2.0.x + MIPS + v6.4 + 1998-12-16 + Cobalt Qube + (Tatsuo Ishii) + + + linux 2.0.x + Sparc + v6.4 + 1998-10-25 + (Tom Szybist) + + + linuxPPC 2.1.24 + PPC603e + v6.4 + 1998-10-26 + Powerbook 2400c + (Tatsuo Ishii) + + + mklinux DR3 + PPC750 + v6.4 + 1998-09-16 + PowerMac 7600 + (Tatsuo Ishii) + + + NetBSD + arm32 + v6.5 + 1999-04-14 + (Andrew McMurry) + + + NetBSD/i386 1.3.2 + x86 + v6.4 + 1998-10-25 + (Brook Milligan) + + + NetBSD + m68k + v6.4.2 + 1998-12-28 + Mac SE/30 (Mr. Mutsuki Nakajima, - Tatsuo Ishii) - - - NetBSD-current - NS32532 - v6.4 - 1998-10-27 - small problems in date/time math - (Jon Buller) - - - NetBSD/sparc 1.3H - Sparc - v6.4 - 1998-10-27 - (Tom I Helbekkmo) - - - NetBSD 1.3 - VAX - v6.3 - 1998-03-01 - (Tom I Helbekkmo) - - - SCO UnixWare 2.x - x86 - v6.3 - 1998-03-01 - aka UNIVEL - (Billy G. Allie) - - - SCO UnixWare 7 - x86 - v6.4 - 1998-10-04 - (Billy G. Allie) - - - Solaris - x86 - v6.4 - 1998-10-28 - (Marc Fournier) - - - Solaris 2.6-2.7 - Sparc - v6.4 - 1998-10-28 - (Tom Szybist, - Frank Ridderbusch) - - - SunOS 4.1.4 - Sparc - v6.3 - 1998-03-01 - Patches submitted - (Tatsuo Ishii) - - - SVR4 - MIPS - v6.4 - 1998-10-28 - No 64-bit int compiler support - (Frank Ridderbusch) - - - Windows - x86 - v6.4 - 1999-01-06 - Client-side libraries or ODBC/JDBC. No server yet. - (Magnus Hagander - - - Windows NT - x86 - v6.4 - 1998-10-08 - Working with the Cygwin library. - (Horak Daniel) - - - -
-
+ Tatsuo Ishii) + + + NetBSD-current + NS32532 + v6.4 + 1998-10-27 + small problems in date/time math + (Jon Buller) + + + NetBSD/sparc 1.3H + Sparc + v6.4 + 1998-10-27 + (Tom I Helbekkmo) + + + NetBSD 1.3 + VAX + v6.3 + 1998-03-01 + (Tom I Helbekkmo) + + + SCO OpenServer 5 + x86 + v6.5 + 1999-05-25 + (Andrew Merrill) + + + SCO UnixWare 7 + x86 + v6.5 + 1999-05-25 + (Andrew Merrill) + + + Solaris + x86 + v6.4 + 1998-10-28 + (Marc Fournier) + + + Solaris 2.6-2.7 + Sparc + v6.4 + 1998-10-28 + (Tom Szybist, + Frank Ridderbusch) + + + SunOS 4.1.4 + Sparc + v6.3 + 1998-03-01 + Patches submitted + (Tatsuo Ishii) + + + SVR4 + MIPS + v6.4 + 1998-10-28 + No 64-bit int compiler support + (Frank Ridderbusch) + + + Windows + x86 + v6.4 + 1999-01-06 + Client-side libraries or ODBC/JDBC. No server yet. + (Magnus Hagander + + + Windows NT + x86 + v6.4 + 1998-10-08 + Working with the Cygwin library. + (Horak Daniel) + + + + +
- -Platforms listed for v6.3.x should also work with v6.4, but we did not receive -confirmation of such at the time this list was compiled. - - - -For Windows NT, -the server-side port of Postgres has recently been -accomplished. The Cygnus library is required to compile it. - - -
+ + Platforms listed for v6.3.x and v6.4.x should also work with v6.5, + but we did not receive explicit confirmation of such at the time this + list was compiled. + + + + For Windows NT, + the server-side port of Postgres has recently been + accomplished. The Cygnus library is required to compile it. + + +
- -Unsupported Platforms + + Unsupported Platforms - -There are a few platforms which have been attempted and which have been -reported to not work with the standard distribution. -Others listed here do not provide sufficient library support for an attempt. + + There are a few platforms which have been attempted and which have been + reported to not work with the standard distribution. + Others listed here do not provide sufficient library support for an attempt. - -Possibly Incompatible Platforms -Incompatibles - - - - OS - Processor - Version - Reported - Remarks - - - - - MacOS - all - v6.3 - 1998-03-01 - Not library compatible; use ODBC/JDBC - - - NetBSD - arm32 - v6.3 - 1998-03-01 - Not yet working (Dave Millen) - - - NextStep - x86 - v6.x - 1998-03-01 - Client-only support; v1.0.9 worked with patches (David Wetzel) - - - SVR4 4.4 - m88k - v6.2.1 - 1998-03-01 - Confirmed with patching; v6.4.x will need TAS spinlock code - (Doug Winterburn) - - - Ultrix - MIPS,VAX? - v6.x - 1998-03-01 - No recent reports; obsolete? - - - -
-
+ + Possibly Incompatible Platforms + Incompatibles + + + + OS + Processor + Version + Reported + Remarks + + + + + MacOS + all + v6.3 + 1998-03-01 + Not library compatible; use ODBC/JDBC + + + NextStep + x86 + v6.x + 1998-03-01 + Client-only support; v1.0.9 worked with patches (David Wetzel) + + + SVR4 4.4 + m88k + v6.2.1 + 1998-03-01 + Confirmed with patching; v6.4.x will need TAS spinlock code + (Doug Winterburn) + + + Ultrix + MIPS,VAX? + v6.x + 1998-03-01 + No recent reports; obsolete? + + + +
+
-
+
-
+
@@ -156,6 +165,7 @@ Move SQL reference pages up into the User's Guide. + @@ -193,12 +203,12 @@ Move SQL reference pages up into the User's Guide. TGL --> - (last updated 1998-05-19) + (last updated 1999-06-01) - PostgreSQL is copyright (C) 1998 + PostgreSQL is © 1998-9 by the Postgres Global Development Group. @@ -255,19 +265,20 @@ Your name here... - &sql; - &syntax; - &datatype; - &oper; - &func; - &typeconv; - &keys; - &array; - &inherit; - &environ; - &manage; - &storage; - &commands; + &sql; + &syntax; + &datatype; + &oper; + &func; + &typeconv; + &keys; + &array; + &inherit; + &mvcc; + &environ; + &manage; + &storage; + &commands; @@ -285,6 +296,7 @@ Your name here... &runtime; &security; &start-ag; + &trouble; &recovery; ®ress; &release; @@ -356,8 +368,10 @@ Your name here... Additional related information. - &datetime; - &docguide; + + &datetime; + &cvs; + &docguide; diff --git a/doc/src/sgml/programmer.sgml b/doc/src/sgml/programmer.sgml index b099bdf176..eed86f1b17 100644 --- a/doc/src/sgml/programmer.sgml +++ b/doc/src/sgml/programmer.sgml @@ -1,10 +1,17 @@ - (last updated 1999-05-19) + (last updated 1999-06-01) - PostgreSQL is copyright (©) 1998-9 + PostgreSQL is © 1998-9 by the Postgres Global Development Group. diff --git a/doc/src/sgml/reference.sgml b/doc/src/sgml/reference.sgml index 41ac7078b2..5dcda9acac 100644 --- a/doc/src/sgml/reference.sgml +++ b/doc/src/sgml/reference.sgml @@ -1,10 +1,17 @@ - (last updated 1998-08-31) + (last updated 1999-06-01) -PostgreSQL is copyright (C) 1998 +PostgreSQL is © 1998-9 by the Postgres Global Development Group. diff --git a/doc/src/sgml/sql.sgml b/doc/src/sgml/sql.sgml index 8026e4a7c0..ecefb2696f 100644 --- a/doc/src/sgml/sql.sgml +++ b/doc/src/sgml/sql.sgml @@ -88,9 +88,9 @@ language. That means it is based on the relational data model first published by E.F. Codd in - 1970. We will give a formal description of the relational model in - section - + 1970. We will give a formal description of the relational model + later (in + ) but first we want to have a look at it from a more intuitive point of view. @@ -101,7 +101,7 @@ A table consists of rows and columns where each row represents a record and each column represents an attribute of the records contained in the table. - Figure + shows an example of a database consisting of three tables: @@ -127,6 +127,7 @@ + The Suppliers and Parts Database @@ -162,7 +163,7 @@
- Formal Notion of the Relational Data Model + Relational Data Model Formalities The mathematical concept underlying the relational model is the @@ -288,7 +289,7 @@ attributes are taken from. We often write a relation scheme as Di, for each attribute Ai, - 1 <= i <= k, + 1 <= i <= k, where the values of the attributes are taken from. We often write a relation scheme as R(A1, @@ -325,11 +326,11 @@ attributes are taken from. We often write a relation scheme as integers. We define this by assigning a data type to each attribute. The type of SNAME will be VARCHAR(20) (this is the SQL type - for character strings of length <= 20), + for character strings of length <= 20), the type of SNO will be INTEGER. With the assignment of a data type we also have selected a domain for an attribute. The domain of SNAME is the set of all - character strings of length <= 20, + character strings of length <= 20, the domain of SNO is the set of all integer numbers. @@ -337,11 +338,10 @@ attributes are taken from. We often write a relation scheme as - Operations in the Relational Data - Model + Operations in the Relational Data Model - In + In the previous section () we defined the mathematical notion of the relational model. Now we know how the data can be stored using a relational data model but we do not know what to do with all these @@ -483,8 +483,8 @@ attributes are taken from. We often write a relation scheme as projecting out the duplicate column. - - An Inner Join + + An Inner Join Let's have a look at the tables that are produced by evaluating the steps @@ -600,36 +600,41 @@ tr(A,B)=t∧tr(C,D)=t For a more detailed description and definition of the relational - algebra refer to ullman or - date86. + algebra refer to [] or + []. - - Recall that we formulated all those relational operators to be able to - retrieve data from the database. Let's return to our example of - section - where someone wanted to know the names of all - suppliers that sell the part Screw. - This question can be answered - using relational algebra by the following operation: + + A Query Using Relational Algebra + + Recall that we formulated all those relational operators to be able to + retrieve data from the database. Let's return to our example from + the previous + section () + where someone wanted to know the names of all + suppliers that sell the part Screw. + This question can be answered + using relational algebra by the following operation: - πSUPPLIER.SNAMEPART.PNAME='Screw'(SUPPLIER ∏ SELLS ∏ PART)) + SUPPLIER.SNAMEPART.PNAME='Screw'(SUPPLIER ∏ SELLS ∏ PART)) + + - + + We call such an operation a query. If we evaluate the above query + against the our example tables + () + we will obtain the following result: - - We call such an operation a query. If we evaluate the above query - against the tables from figure - (The suppliers and - parts database) we will obtain the following result: - - + SNAME ------- Smith Adams - - + + + @@ -662,8 +667,10 @@ tr(A,B)=t∧tr(C,D)=t We want to discuss the tuple relational calculus only because it is the one underlying the most relational languages. For a detailed discussion on DRC (and also - TRC) see date86 or - ullman. + TRC) see + [] + or + []. @@ -686,18 +693,19 @@ tr(A,B)=t∧tr(C,D)=t using TRC we formulate the following query: + {x(SNAME) ∣ x ∈ SUPPLIER ∧ \nonumber ∃ y ∈ SELLS ∃ z ∈ PART (y(SNO)=x(SNO) ∧ \nonumber z(PNO)=y(PNO) ∧ \nonumber z(PNAME)='Screw')} \nonumber + - Evaluating the query against the tables from figure + Evaluating the query against the tables from - (The suppliers and parts database) again leads to the same result - as in example + as in . @@ -715,8 +723,9 @@ tr(A,B)=t∧tr(C,D)=t algorithm) by which an arbitrary expression of the relational calculus can be reduced to a semantically equivalent expression of relational algebra. For a more detailed discussion on that refer to - date86 and - ullman. + [] + and + []. @@ -733,7 +742,8 @@ tr(A,B)=t∧tr(C,D)=t The <acronym>SQL</acronym> Language - As most modern relational languages SQL is based on the tuple + As is the case with most modern relational languages, + SQL is based on the tuple relational calculus. As a result every query that can be formulated using the tuple relational calculus (or equivalently, relational algebra) can also be formulated using SQL. There are, however, @@ -781,7 +791,7 @@ tr(A,B)=t∧tr(C,D)=t - Select + Select The most often used command in SQL is the @@ -806,7 +816,7 @@ tr(A,B)=t∧tr(C,D)=t Now we will illustrate the complex syntax of the SELECT statement with various examples. The tables used for the examples are defined in - figure (The suppliers and parts database). + . @@ -816,7 +826,7 @@ tr(A,B)=t∧tr(C,D)=t Here are some simple examples using a SELECT statement: - Simple Query with Qualification + Simple Query with Qualification To retrieve all tuples from table PART where the attribute PRICE is greater than 10 we formulate the following query: @@ -858,8 +868,7 @@ tr(A,B)=t∧tr(C,D)=t Note that the SQL SELECT corresponds to the "projection" in relational algebra not to the "selection" - (see section - (Relational Algebra). + (see for more details). @@ -953,7 +962,7 @@ tr(A,B)=t∧tr(C,D)=t because there are common named attributes (SNO and PNO) among the relations. Now we can distinguish between the common named attributes by simply prefixing the attribute name with the alias name followed by - a dot. The join is calculated in the same way as shown in example + a dot. The join is calculated in the same way as shown in . First the Cartesian product @@ -979,7 +988,7 @@ tr(A,B)=t∧tr(C,D)=t section). - Aggregates + Aggregates If we want to know the average cost of all parts in table PART we use @@ -1048,7 +1057,7 @@ tr(A,B)=t∧tr(C,D)=t A1, ⃛, Ak. - Aggregates + Aggregates If we want to know how many parts are sold by every supplier we formulate the query: @@ -1143,7 +1152,7 @@ tr(A,B)=t∧tr(C,D)=t clause. - Having + Having If we want only those suppliers selling more than one part we use the @@ -1182,7 +1191,7 @@ tr(A,B)=t∧tr(C,D)=t SQL. - Subselect + Subselect If we want to know all parts having a greater price than the part @@ -1250,7 +1259,7 @@ tr(A,B)=t∧tr(C,D)=t difference of the tuples derived by two subqueries. - Union, Intersect, Except + Union, Intersect, Except The following query is an example for UNION: @@ -1334,7 +1343,7 @@ The only tuple returned by both parts of the query is the one having $SNO=2$. - Create Table + Create Table The most fundamental command for data definition is the @@ -1349,10 +1358,10 @@ The only tuple returned by both parts of the query is the one having $SNO=2$. - Table Creation + Table Creation - To create the tables defined in figure + To create the tables defined in the following SQL statements are used: @@ -1467,7 +1476,7 @@ The only tuple returned by both parts of the query is the one having $SNO=2$. - Create Index + Create Index To create an index named I on attribute SNAME of relation SUPPLIER @@ -1506,7 +1515,8 @@ The only tuple returned by both parts of the query is the one having $SNO=2$. stored data. Instead, the system stores the definition of the view (i.e. the rules about how to access physically stored base tables in order to materialize the view) somewhere in the system - catalogs (see section ). For a + catalogs (see + ). For a discussion on different techniques to implement views refer to - (last updated 1999-05-19) + (last updated 1999-06-01) - PostgreSQL is copyright (©) 1998-9 + PostgreSQL is © 1998-9 by the Postgres Global Development Group. @@ -150,11 +158,14 @@ Your name here... &keys; &array; &inherit; + &mvcc; &environ; &manage; &storage; &commands; + + &datetime;