From daaf999fcbfaab378e4ac2800d26cc04f12f1500 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 14 Oct 2002 03:15:33 +0000 Subject: [PATCH] Improvements to Ian Barwick patch. --- doc/FAQ | 36 +++++++++++++-------------- doc/src/FAQ/FAQ.html | 59 +++++++++++++++++++++++--------------------- 2 files changed, 49 insertions(+), 46 deletions(-) diff --git a/doc/FAQ b/doc/FAQ index 9092c0a49a..56d907042d 100644 --- a/doc/FAQ +++ b/doc/FAQ @@ -1,7 +1,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL - Last updated: Sun Oct 13 22:49:56 EDT 2002 + Last updated: Sun Oct 13 23:15:09 EDT 2002 Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) @@ -52,7 +52,7 @@ 3.6) How do I tune the database engine for better performance? 3.7) What debugging features are available? 3.8) Why do I get "Sorry, too many clients" when trying to connect? - 3.9) What are the pg_sorttempNNN.NN files in my database directory? + 3.9) What is in the pgsql_tmp directory? 3.10) Why do I need to do a dump and restore to upgrade PostgreSQL releases? @@ -197,8 +197,7 @@ distribution or the MS Windows FAQ at http://www.PostgreSQL.org/docs/faq-mswin.html. - A native port to some Microsoft platforms is currently being worked - upon. + A native port to MS Win NT/2000/XP is currently being worked on. 1.5) Where can I get PostgreSQL? @@ -368,7 +367,7 @@ 1.15) How can I financially assist PostgreSQL? PostgreSQL has had a first-class infrastructure since we started in - 1994. This is all thanks to Marc Fournier, who has created and managed + 1996. This is all thanks to Marc Fournier, who has created and managed this infrastructure over the years. Quality infrastructure is very important to an open-source project. It @@ -419,9 +418,9 @@ 2.3) Does PostgreSQL have a graphical user interface? A report generator? An embedded query language interface? - We have a nice graphical user interface called PgAccess, which is - shipped as part of the distribution. PgAccess also has a report - generator. The Web page is http://www.pgaccess.org/. + We have a nice graphical user interface called PgAccess which can also + be used as a report generator. The Web page is + http://www.pgaccess.org/. We also include ecpg, which is an embedded SQL query language interface for C. @@ -433,7 +432,7 @@ * C++ (libpq++) * Embedded C (ecpg) * Java (jdbc) - * Perl (DBD::Pg) + * Perl (DBD::Pg and perl5) * ODBC (odbc) * Python (PyGreSQL) * TCL (libpgtcl) @@ -441,7 +440,8 @@ * PHP ('pg_' functions, Pear::DB) Additional interfaces are available at - http://www.PostgreSQL.org/interfaces.html. + http://www.PostgreSQL.org/interfaces.html and + http://gborg.PostgreSQL.org. _________________________________________________________________ Administrative Questions @@ -596,16 +596,16 @@ was 64, and changing it required a rebuild after altering the MaxBackendId constant in include/storage/sinvaladt.h. - 3.9) What are the pg_tempNNN.NN files in my database directory? + 3.9) What are the pgsql_tmp directory? They are temporary files generated by the query executor. For example, if a sort needs to be done to satisfy an ORDER BY, and the sort requires more space than the backend's -S parameter allows, then temporary files are created to hold the extra data. - The temporary files should be deleted automatically, but might not if - a backend crashes during a sort. If you have no backends running at - the time, it is safe to delete the pg_tempNNN.NN files. + The temporary files are usually deleted automatically, but might + remain if a backend crashes during a sort. A stop and restart of the + postmaster will remove files from those directories. 3.10) Why do I need to do a dump and restore to upgrade between major PostgreSQL releases? @@ -649,8 +649,8 @@ 4.4) How do you remove a column from a table? - Prior to version 7.3, ALTER TABLE DROP COLUMN is not supported. You - can do this instead: + This functionality was added in release 7.3 with ALTER TABLE DROP + COLUMN. In earlier versions, you can do this: BEGIN; LOCK TABLE old_table; SELECT ... -- select all columns but the one you want to remove @@ -815,11 +815,11 @@ Case-insensitive equality comparisons are normally expressed as: SELECT * FROM tab - WHERE LOWER(col) = 'abc'; + WHERE lower(col) = 'abc'; This will not use an standard index. However, if you create a functional index, it will be used: - CREATE INDEX tabindex ON tab (LOWER(col)); + CREATE INDEX tabindex ON tab (lower(col)); 4.13) In a query, how do I detect if a field is NULL? diff --git a/doc/src/FAQ/FAQ.html b/doc/src/FAQ/FAQ.html index 042a4984ee..b8b24ccae0 100644 --- a/doc/src/FAQ/FAQ.html +++ b/doc/src/FAQ/FAQ.html @@ -14,7 +14,7 @@ alink="#0000ff">

Frequently Asked Questions (FAQ) for PostgreSQL

-

Last updated: Sun Oct 13 22:49:56 EDT 2002

+

Last updated: Sun Oct 13 23:15:09 EDT 2002

Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
@@ -78,8 +78,8 @@ 3.7) What debugging features are available?
3.8) Why do I get "Sorry, too many clients" when trying to connect?
- 3.9) What are the pg_sorttempNNN.NN - files in my database directory?
+ 3.9) What is in the pgsql_tmp + directory?
3.10) Why do I need to do a dump and restore to upgrade PostgreSQL releases?
@@ -250,10 +250,11 @@

The database server can run on Windows NT and Win2k using Cygwin, the Cygnus Unix/NT porting library. See pgsql/doc/FAQ_MSWIN in the distribution or the MS Windows FAQ - at http://www.PostgreSQL.org/docs/faq-mswin.html.

+ at + http://www.PostgreSQL.org/docs/faq-mswin.html.

-

A native port to some Microsoft platforms is currently being worked - upon.

+

A native port to MS Win NT/2000/XP is currently being worked + on.

1.5) Where can I get PostgreSQL?

@@ -484,7 +485,7 @@ PostgreSQL?

PostgreSQL has had a first-class infrastructure since we started - in 1994. This is all thanks to Marc Fournier, who has created + in 1996. This is all thanks to Marc Fournier, who has created and managed this infrastructure over the years.

Quality infrastructure is very important to an open-source @@ -545,9 +546,9 @@ interface? A report generator? An embedded query language interface? -

We have a nice graphical user interface called PgAccess, which is - shipped as part of the distribution. PgAccess also has a report - generator. The Web page is http://www.pgaccess.org/.

+

We have a nice graphical user interface called PgAccess which can + also be used as a report generator. The Web page is + http://www.pgaccess.org/.

We also include ecpg, which is an embedded SQL query language interface for C.

@@ -565,7 +566,7 @@
  • Java (jdbc)
  • -
  • Perl (DBD::Pg)
  • +
  • Perl (DBD::Pg and perl5)
  • ODBC (odbc)
  • @@ -578,7 +579,9 @@
  • PHP ('pg_' functions, Pear::DB)
  • Additional interfaces are available at - http://www.PostgreSQL.org/interfaces.html. + http://www.PostgreSQL.org/interfaces.html + and + http://gborg.PostgreSQL.org.


    @@ -765,8 +768,8 @@ the MaxBackendId constant in include/storage/sinvaladt.h.

    -

    3.9) What are the pg_tempNNN.NN - files in my database directory?

    +

    3.9) What are the pgsql_tmp + directory?

    They are temporary files generated by the query executor. For example, if a sort needs to be done to satisfy an ORDER @@ -774,10 +777,9 @@ -S parameter allows, then temporary files are created to hold the extra data.

    -

    The temporary files should be deleted automatically, but might - not if a backend crashes during a sort. If you have no backends - running at the time, it is safe to delete the pg_tempNNN.NN - files.

    +

    The temporary files are usually deleted automatically, but might + remain if a backend crashes during a sort. A stop and restart of the + postmaster will remove files from those directories.

    3.10) Why do I need to do a dump and restore to upgrade between major PostgreSQL releases?

    @@ -790,10 +792,10 @@ data in a generic format that can then be loaded in using the new internal format.

    -

    In releases where the on-disk format does not change, the - pg_upgrade script can be used to upgrade without a dump/restore. - The release notes mention whether pg_upgrade is available for the - release.

    +

    In releases where the on-disk format does not change, the + pg_upgrade script can be used to upgrade without a dump/restore. + The release notes mention whether pg_upgrade is available for the + release.


    @@ -831,8 +833,9 @@

    4.4) How do you remove a column from a table?

    -

    Prior to version 7.3, ALTER TABLE DROP COLUMN is not supported. - You can do this instead:

    +

    This functionality was added in release 7.3 with + ALTER TABLE DROP COLUMN. In earlier versions, + you can do this:

         BEGIN;
         LOCK TABLE old_table;
    @@ -1023,13 +1026,13 @@
     
         SELECT *
         FROM tab
    -    WHERE LOWER(col) = 'abc';
    +    WHERE lower(col) = 'abc';
     
    This will not use an standard index. However, if you create a functional index, it will be used:
    -    CREATE INDEX tabindex ON tab (LOWER(col));
    +    CREATE INDEX tabindex ON tab (lower(col));
     

    4.13) In a query, how do I detect if a field @@ -1118,7 +1121,7 @@ BYTEA bytea variable-length byte array (null-byte safe) and your SERIAL column, respectively.

    Alternatively, you could retrieve the assigned - SERIAL value with the currval() function + SERIAL value with the currval() function after it was inserted by default, e.g.,

         execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
    @@ -1135,7 +1138,7 @@ BYTEA           bytea           variable-length byte array (null-byte safe)
         

    4.15.3) Don't currval() and nextval() lead to a race condition with other users?

    -

    No. currval() returns the current value assigned by your +

    No. currval() returns the current value assigned by your backend, not by all users.

    4.15.4) Why aren't my sequence numbers