Improvements to Ian Barwick patch.
This commit is contained in:
parent
0896707ef6
commit
daaf999fcb
36
doc/FAQ
36
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?
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
alink="#0000ff">
|
||||
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
|
||||
|
||||
<P>Last updated: Sun Oct 13 22:49:56 EDT 2002</P>
|
||||
<P>Last updated: Sun Oct 13 23:15:09 EDT 2002</P>
|
||||
|
||||
<P>Current maintainer: Bruce Momjian (<A href=
|
||||
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
||||
@ -78,8 +78,8 @@
|
||||
<A href="#3.7">3.7</A>) What debugging features are available?<BR>
|
||||
<A href="#3.8">3.8</A>) Why do I get <I>"Sorry, too many
|
||||
clients"</I> when trying to connect?<BR>
|
||||
<A href="#3.9">3.9</A>) What are the <I>pg_sorttempNNN.NN</I>
|
||||
files in my database directory?<BR>
|
||||
<A href="#3.9">3.9</A>) What is in the <I>pgsql_tmp</I>
|
||||
directory?<BR>
|
||||
<A href="#3.10">3.10</A>) Why do I need to do a dump and restore
|
||||
to upgrade PostgreSQL releases?<BR>
|
||||
|
||||
@ -250,10 +250,11 @@
|
||||
<P>The database server can run on Windows NT and Win2k using
|
||||
Cygwin, the Cygnus Unix/NT porting library. See
|
||||
<I>pgsql/doc/FAQ_MSWIN</I> in the distribution or the MS Windows FAQ
|
||||
at <A href="http://www.PostgreSQL.org/docs/faq-mswin.html">http://www.PostgreSQL.org/docs/faq-mswin.html</A>.</P>
|
||||
at <A href="http://www.PostgreSQL.org/docs/faq-mswin.html">
|
||||
http://www.PostgreSQL.org/docs/faq-mswin.html</A>.</P>
|
||||
|
||||
<p>A native port to some Microsoft platforms is currently being worked
|
||||
upon.</p>
|
||||
<p>A native port to MS Win NT/2000/XP is currently being worked
|
||||
on.</p>
|
||||
|
||||
<H4><A name="1.5">1.5</A>) Where can I get PostgreSQL?</H4>
|
||||
|
||||
@ -484,7 +485,7 @@
|
||||
PostgreSQL?</H4>
|
||||
|
||||
<P>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.</P>
|
||||
|
||||
<P>Quality infrastructure is very important to an open-source
|
||||
@ -545,9 +546,9 @@
|
||||
interface? A report generator? An embedded query language
|
||||
interface?</H4>
|
||||
|
||||
<P>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 <A href="http://www.pgaccess.org/">http://www.pgaccess.org/</A>.</P>
|
||||
<P>We have a nice graphical user interface called PgAccess which can
|
||||
also be used as a report generator. The Web page is
|
||||
<A href="http://www.pgaccess.org/">http://www.pgaccess.org/</A>.</P>
|
||||
|
||||
<P>We also include <I>ecpg</I>, which is an embedded SQL query
|
||||
language interface for C.</P>
|
||||
@ -565,7 +566,7 @@
|
||||
|
||||
<LI>Java (jdbc)</LI>
|
||||
|
||||
<LI>Perl (DBD::Pg)</LI>
|
||||
<LI>Perl (DBD::Pg and perl5)</LI>
|
||||
|
||||
<LI>ODBC (odbc)</LI>
|
||||
|
||||
@ -578,7 +579,9 @@
|
||||
<LI>PHP ('pg_' functions, Pear::DB)</LI>
|
||||
</UL>
|
||||
<P>Additional interfaces are available at
|
||||
<a href="http://www.PostgreSQL.org/interfaces.html">http://www.PostgreSQL.org/interfaces.html</A>.
|
||||
<a href="http://www.PostgreSQL.org/interfaces.html">http://www.PostgreSQL.org/interfaces.html</A>
|
||||
and
|
||||
<a href="http://gborg.PostgreSQL.org">http://gborg.PostgreSQL.org</A>.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
@ -765,8 +768,8 @@
|
||||
the MaxBackendId constant in
|
||||
<I>include/storage/sinvaladt.h</I>.</P>
|
||||
|
||||
<H4><A name="3.9">3.9</A>) What are the <I>pg_tempNNN.NN</I>
|
||||
files in my database directory?</H4>
|
||||
<H4><A name="3.9">3.9</A>) What are the <I>pgsql_tmp</I>
|
||||
directory?</H4>
|
||||
|
||||
<P>They are temporary files generated by the query executor. For
|
||||
example, if a sort needs to be done to satisfy an <SMALL>ORDER
|
||||
@ -774,10 +777,9 @@
|
||||
<I>-S</I> parameter allows, then temporary files are created to
|
||||
hold the extra data.</P>
|
||||
|
||||
<P>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.</P>
|
||||
<P>The temporary files are usually deleted automatically, but might
|
||||
remain if a backend crashes during a sort. A stop and restart of the
|
||||
<I>postmaster</I> will remove files from those directories.</P>
|
||||
|
||||
<H4><A name="3.10">3.10</A>) Why do I need to do a dump and restore
|
||||
to upgrade between major PostgreSQL releases?</H4>
|
||||
@ -790,10 +792,10 @@
|
||||
data in a generic format that can then be loaded in using the new internal
|
||||
format.</P>
|
||||
|
||||
<p>In releases where the on-disk format does not change, the
|
||||
<i>pg_upgrade</i> script can be used to upgrade without a dump/restore.
|
||||
The release notes mention whether <i>pg_upgrade</i> is available for the
|
||||
release.</p>
|
||||
<P>In releases where the on-disk format does not change, the
|
||||
<I>pg_upgrade</I> script can be used to upgrade without a dump/restore.
|
||||
The release notes mention whether <I>pg_upgrade</I> is available for the
|
||||
release.</P>
|
||||
|
||||
<HR>
|
||||
|
||||
@ -831,8 +833,9 @@
|
||||
<H4><A name="4.4">4.4</A>) How do you remove a column from a
|
||||
table?</H4>
|
||||
|
||||
<P>Prior to version 7.3, <SMALL>ALTER TABLE DROP COLUMN</SMALL> is not supported.
|
||||
You can do this instead:</P>
|
||||
<P>This functionality was added in release 7.3 with
|
||||
<SMALL>ALTER TABLE DROP COLUMN</SMALL>. In earlier versions,
|
||||
you can do this:</P>
|
||||
<PRE>
|
||||
BEGIN;
|
||||
LOCK TABLE old_table;
|
||||
@ -1023,13 +1026,13 @@
|
||||
<PRE>
|
||||
SELECT *
|
||||
FROM tab
|
||||
WHERE LOWER(col) = 'abc';
|
||||
WHERE lower(col) = 'abc';
|
||||
</PRE>
|
||||
|
||||
This will not use an standard index. However, if you create a
|
||||
functional index, it will be used:
|
||||
<PRE>
|
||||
CREATE INDEX tabindex ON tab (LOWER(col));
|
||||
CREATE INDEX tabindex ON tab (lower(col));
|
||||
</PRE>
|
||||
|
||||
<H4><A name="4.13">4.13</A>) 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 <SMALL>SERIAL</SMALL> column, respectively.
|
||||
|
||||
<P>Alternatively, you could retrieve the assigned
|
||||
<SMALL>SERIAL</SMALL> value with the <I>currval</I>() function
|
||||
<SMALL>SERIAL</SMALL> value with the <I>currval()</I> function
|
||||
<I>after</I> it was inserted by default, e.g.,</P>
|
||||
<PRE>
|
||||
execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
|
||||
@ -1135,7 +1138,7 @@ BYTEA bytea variable-length byte array (null-byte safe)
|
||||
<H4><A name="4.15.3">4.15.3</A>) Don't <I>currval()</I> and
|
||||
<I>nextval()</I> lead to a race condition with other users?</H4>
|
||||
|
||||
<P>No. <i>currval</i>() returns the current value assigned by your
|
||||
<P>No. <I>currval()</I> returns the current value assigned by your
|
||||
backend, not by all users.</P>
|
||||
|
||||
<H4><A name="4.15.4">4.15.4</A>) Why aren't my sequence numbers
|
||||
|
Loading…
x
Reference in New Issue
Block a user