Index: doc/src/FAQ/FAQ.html =================================================================== RCS file: /cvsroot/pgsql-server/doc/src/FAQ/FAQ.html,v retrieving revision 1.159 diff -c -c -r1.159 FAQ.html *** doc/src/FAQ/FAQ.html 14 Oct 2002 02:50:28 -0000 1.159 --- doc/src/FAQ/FAQ.html 14 Oct 2002 03:13:27 -0000 *************** *** 78,85 **** 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.10) Why do I need to do a dump and restore to upgrade PostgreSQL releases?
--- 78,85 ---- 3.7) What debugging features are available?
3.8) Why do I get "Sorry, too many clients" when trying to connect?
! 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,259 ****

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.

!

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

1.5) Where can I get PostgreSQL?

--- 250,260 ----

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.

!

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

1.5) Where can I get PostgreSQL?

*************** *** 484,490 **** 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 this infrastructure over the years.

Quality infrastructure is very important to an open-source --- 485,491 ---- PostgreSQL?

PostgreSQL has had a first-class infrastructure since we started ! 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,553 **** 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 also include ecpg, which is an embedded SQL query language interface for C.

--- 546,554 ---- interface? A report generator? An embedded query language interface? !

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,571 ****
  • Java (jdbc)
  • !
  • Perl (DBD::Pg)
  • ODBC (odbc)
  • --- 566,572 ----
  • Java (jdbc)
  • !
  • Perl (DBD::Pg and perl5)
  • ODBC (odbc)
  • *************** *** 578,584 ****
  • PHP ('pg_' functions, Pear::DB)
  • Additional interfaces are available at ! http://www.PostgreSQL.org/interfaces.html.


    --- 579,587 ----
  • PHP ('pg_' functions, Pear::DB)
  • Additional interfaces are available at ! http://www.PostgreSQL.org/interfaces.html ! and ! http://gborg.PostgreSQL.org.


    *************** *** 765,772 **** the MaxBackendId constant in include/storage/sinvaladt.h.

    !

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

    They are temporary files generated by the query executor. For example, if a sort needs to be done to satisfy an ORDER --- 768,775 ---- the MaxBackendId constant in include/storage/sinvaladt.h.

    !

    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,783 **** -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.

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

    --- 777,785 ---- -S parameter allows, then temporary files are created to hold the extra data.

    !

    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,799 **** 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.


    --- 792,801 ---- 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.


    *************** *** 831,838 ****

    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:

          BEGIN;
          LOCK TABLE old_table;
    --- 833,841 ----
          

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

    !

    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,1035 ****
      
          SELECT *
          FROM tab
    !     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));
      

    4.13) In a query, how do I detect if a field --- 1026,1038 ----
          SELECT *
          FROM tab
    !     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));
      

    4.13) In a query, how do I detect if a field *************** *** 1118,1124 **** and your SERIAL column, respectively.

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

          execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
    --- 1121,1127 ----
          and your SERIAL column, respectively.
      
          

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

          execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
    ***************
    *** 1135,1141 ****
          

    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 backend, not by all users.

    4.15.4) Why aren't my sequence numbers --- 1138,1144 ----

    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 backend, not by all users.

    4.15.4) Why aren't my sequence numbers