Update FAQ.
authorBruce Momjian <[email protected]>
Sat, 24 Jun 2000 01:51:33 +0000 (01:51 +0000)
committerBruce Momjian <[email protected]>
Sat, 24 Jun 2000 01:51:33 +0000 (01:51 +0000)
doc/FAQ

diff --git a/doc/FAQ b/doc/FAQ
index 16db40cc767603b9247e989a8354f6dad4f6dbc1..cb9bfbe20596d6626c5ddb1b63b37932550ff02e 100644 (file)
--- a/doc/FAQ
+++ b/doc/FAQ
    Why?
    4.22) How do I create a column that will default to the current time?
    4.23) Why are my subqueries using IN so slow?
+   4.24) How do I do an outer join?
    
                             Extending PostgreSQL
                                       
    
    Features
           PostgreSQL has most features present in large commercial
-          DBMS's, like transactions, subselects, triggers, views, and
-          sophisticated locking. We have some features they don't have,
-          like user-defined types, inheritance, rules, and multi-version
-          concurrency control to reduce lock contention. We don't have
-          foreign key referential integrity or outer joins, but are
+          DBMS's, like transactions, subselects, triggers, views, foreign
+          key referential integrity, and sophisticated locking. We have
+          some features they don't have, like user-defined types,
+          inheritance, rules, and multi-version concurrency control to
+          reduce lock contention. We don't have outer joins, but are
           working on them for our next release.
           
    Performance
                                       
     2.1) Are there ODBC drivers for PostgreSQL?
     
-   There are two ODBC drivers available, PostODBC and OpenLink ODBC.
+   There are two ODBC drivers available, PsqlODBC and OpenLink ODBC.
    
-   PostODBC is included in the distribution. More information about it
-   can be gotten from: http://www.insightdist.com/psqlodbc
+   PsqlODBC is included in the distribution. More information about it
+   can be gotten from: ftp://ftp.postgresql.org/pub/odbc/index.html
    
    OpenLink ODBC can be gotten from http://www.openlinksw.com. It works
    with their standard ODBC client software so you'll have PostgreSQL
    commercial-quality support, but a freeware version will always be
    available. Questions to [email protected].
    
+   See also the ODBC chapter of the Programmer's Guide.
+   
     2.2) What tools are available for hooking PostgreSQL to Web pages?
     
    A nice introduction to Database-backed Web pages can be seen at:
@@ -971,12 +974,9 @@ BYTEA           bytea           variable-length array of bytes
    
     4.22) How do I create a column that will default to the current time?
     
-   This way always works:
+   Use now():
         CREATE TABLE test (x int, modtime timestamp default now() );
 
-   In releases 7.0 and later, you may use:
-        create table test (x int, modtime timestamp default 'now');
-
     4.23) Why are my subqueries using IN so slow?
     
    Currently, we join subqueries to outer queries by sequential scanning
@@ -992,6 +992,21 @@ BYTEA           bytea           variable-length array of bytes
         WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)
 
    We hope to fix this limitation in a future release.
+   
+    4.24) How do I do an outer join?
+    
+   PostgreSQL does not support outer joins in the current release. They
+   can be simulated using UNION and NOT IN. For example, when joining
+   tab1 and tab2, the following query does an outer join of the two
+   tables:
+        SELECT tab1.col1, tab2.col2
+        FROM tab1, tab2
+        WHERE tab1.col1 = tab2.col1
+        UNION ALL
+        SELECT tab1.col1, NULL
+        FROM tab1
+        WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)
+        ORDER BY tab1.col1
      _________________________________________________________________
    
                             Extending PostgreSQL