Backpatch FAQ to 8.0.X.

This commit is contained in:
Bruce Momjian 2005-02-25 00:33:45 +00:00
parent 777745435c
commit 4a68e59418
2 changed files with 74 additions and 39 deletions

56
doc/FAQ
View File

@ -1,7 +1,7 @@
Frequently Asked Questions (FAQ) for PostgreSQL
Last updated: Wed Feb 2 12:44:03 EST 2005
Last updated: Thu Feb 24 19:33:07 EST 2005
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
@ -59,7 +59,8 @@
4.8) How do I perform regular expression searches and case-insensitive
regular expression searches? How do I use an index for
case-insensitive searches?
4.9) In a query, how do I detect if a field is NULL?
4.9) In a query, how do I detect if a field is NULL? How can I sort on
whether a field is NULL or not?
4.10) What is the difference between the various character types?
4.11.1) How do I create a serial/auto-incrementing field?
4.11.2) How do I get the value of a SERIAL insert?
@ -76,8 +77,8 @@
4.17) How do I perform an outer join?
4.18) How do I perform queries using multiple databases?
4.19) How do I return multiple rows or columns from a function?
4.20) Why can't I reliably create/drop temporary tables in PL/PgSQL
functions?
4.20) Why do I get "missing oid" errors when accessing temporary
tables in PL/PgSQL functions?
4.21) What encryption options are available?
Extending PostgreSQL
@ -119,7 +120,8 @@
PostgreSQL Data Base Management System
Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
Portions Copyright (c) 1994-6 Regents of the University of California
Portions Copyright (c) 1994-1996 Regents of the University of
California
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written
@ -160,7 +162,8 @@
1.4) Where can I get PostgreSQL?
The primary anonymous ftp site for PostgreSQL is
ftp://ftp.PostgreSQL.org/pub. For mirror sites, see our main web site.
ftp://ftp.PostgreSQL.org/pub/. For mirror sites, see our main web
site.
1.5) Where can I get support?
@ -177,14 +180,14 @@
EFNet.
A list of commercial support companies is available at
http://techdocs.postg resql.org/companies.php.
http://techdocs.postgresql.org/companies.php.
1.6) How do I submit a bug report?
Visit the PostgreSQL bug form at
http://www.postgresql.org/support/submitbug.
Also check out our ftp site ftp://ftp.PostgreSQL.org/pub to see if
Also check out our ftp site ftp://ftp.PostgreSQL.org/pub/ to see if
there is a more recent PostgreSQL version.
1.7) What is the latest release?
@ -200,7 +203,7 @@
also browse the manuals online at http://www.PostgreSQL.org/docs.
There are two PostgreSQL books available online at
http://www.PostgreSQL.org/docs/awbook.html and
http://www.postgresql.org/docs/books/awbook.html and
http://www.commandprompt.com/ppbook/. There is a list of PostgreSQL
books available for purchase at
http://techdocs.PostgreSQL.org/techdocs/bookreviews.php. There is also
@ -220,9 +223,10 @@
1.10) How can I learn SQL?
The PostgreSQL book at http://www.PostgreSQL.org/docs/awbook.html
teaches SQL. There is another PostgreSQL book at
http://www.commandprompt.com/ppbook. There is a nice tutorial at
The PostgreSQL book at
http://www.postgresql.org/docs/books/awbook.html teaches SQL. There is
another PostgreSQL book at http://www.commandprompt.com/ppbook. There
is a nice tutorial at
http://www.intermedia.net/support/sql/sqltut.shtm, at
http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM,
and at http://sqlcourse.com.
@ -317,15 +321,15 @@
For Web integration, PHP (http://www.php.net) is an excellent
interface.
For complex cases, many use the Perl and CGI.pm or mod_perl.
For complex cases, many use the Perl DBD::Pg with CGI.pm or mod_perl.
2.3) Does PostgreSQL have a graphical user interface?
Yes, there are several graphical interfaces to PostgreSQL available.
These include pgAdmin III (http://www.pgadmin.org, PgAccess
http://www.pgaccess.org), RHDB Admin (http://sources.redhat.com/rhd b/
), TORA (http://www.globecom.net/tora/, partly commercial), and Rekall
( http://www.rekallrevealed.org/). There is also PhpPgAdmin (
http://www.pgaccess.org), RHDB Admin (http://sources.redhat.com/rhdb/
), TORA ( http://www.globecom.net/tora/, partly commercial), and
Rekall ( http://www.rekallrevealed.org/). There is also PhpPgAdmin (
http://phppgadmin.sourceforge.net/ ), a web-based interface to
PostgreSQL.
@ -633,10 +637,22 @@
expresssion index, it will be used:
CREATE INDEX tabindex ON tab (lower(col));
4.9) In a query, how do I detect if a field is NULL?
4.9) In a query, how do I detect if a field is NULL? How can I sort on
whether a field is NULL or not?
You test the column with IS NULL and IS NOT NULL.
SELECT *
FROM tab
WHERE col IS NULL;
To sort by the NULL status, use the IS NULL and IS NOT NULL modifiers
in your WHERE clause. Things that are true will sort higher than
things that are false, so the following will put NULL entries at the
top of the resulting list:
SELECT *
FROM tab
ORDER BY (col IS NOT NULL)
4.10) What is the difference between the various character types?
Type Internal Name Notes
@ -804,8 +820,8 @@
It is easy using set-returning functions,
http://techdocs.postgresql.org/guides/SetReturningFunctions.
4.20) Why can't I reliably create/drop temporary tables in PL/PgSQL
functions?
4.20) Why do I get "missing oid" errors when accessing temporary tables in
PL/PgSQL functions?
PL/PgSQL caches function scripts, and an unfortunate side effect is
that if a PL/PgSQL function accesses a temporary table, and that table

View File

@ -10,7 +10,7 @@
alink="#0000ff">
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
<P>Last updated: Wed Feb 2 12:44:03 EST 2005</P>
<P>Last updated: Thu Feb 24 19:33:07 EST 2005</P>
<P>Current maintainer: Bruce Momjian (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)
@ -85,7 +85,8 @@
searches and case-insensitive regular expression searches? How do I
use an index for case-insensitive searches?<BR>
<A href="#4.9">4.9</A>) In a query, how do I detect if a field
is <SMALL>NULL</SMALL>?<BR>
is <SMALL>NULL</SMALL>? How can I sort on whether a field is <SMALL>
NULL</SMALL> or not?<BR>
<A href="#4.10">4.10</A>) What is the difference between the
various character types?<BR>
<A href="#4.11.1">4.11.1</A>) How do I create a
@ -112,8 +113,8 @@
databases?<BR>
<A href="#4.19">4.19</A>) How do I return multiple rows or columns
from a function?<BR>
<A href="#4.20">4.20</A>) Why can't I reliably create/drop
temporary tables in PL/PgSQL functions?<BR>
<A href="#4.20">4.20</A>) Why do I get "missing oid" errors when
accessing temporary tables in PL/PgSQL functions?<BR>
<A href="#4.21">4.21</A>) What encryption options are available?<BR>
@ -162,7 +163,7 @@
<P>PostgreSQL Data Base Management System</P>
<P>Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
Portions Copyright (c) 1994-6 Regents of the University of California</P>
Portions Copyright (c) 1994-1996 Regents of the University of California</P>
<P>Permission to use, copy, modify, and distribute this software
and its documentation for any purpose, without fee, and without a
@ -206,7 +207,7 @@
<H4><A name="1.4">1.4</A>) Where can I get PostgreSQL?</H4>
<P>The primary anonymous ftp site for PostgreSQL is <A href=
"ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</A>.
"ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</A>.
For mirror sites, see our main web site.</P>
<H4><A name="1.5">1.5</A>) Where can I get support?</H4>
@ -225,8 +226,8 @@
(<I>#postgresqlfr</I>). There is also a PostgreSQL channel on EFNet.
<P>A list of commercial support companies is available at <A href=
"http://techdocs.postgresql.org/companies.php">http://techdocs.postg
resql.org/companies.php</A>.</P>
"http://techdocs.postgresql.org/companies.php">
http://techdocs.postgresql.org/companies.php</A>.</P>
<H4><A name="1.6">1.6</A>) How do I submit a bug report?</H4>
@ -235,7 +236,7 @@
http://www.postgresql.org/support/submitbug</A>.</P>
<P>Also check out our ftp site <A href=
"ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</A> to
"ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</A> to
see if there is a more recent PostgreSQL version.</P>
<H4><A name="1.7">1.7</A>) What is the latest release?</H4>
@ -253,7 +254,7 @@
</P>
<P>There are two PostgreSQL books available online at <A href=
"http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</A>
"http://www.postgresql.org/docs/books/awbook.html">http://www.postgresql.org/docs/books/awbook.html</A>
and <A href=
"http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</A>.
There is a list of PostgreSQL books available for purchase at <A
@ -280,7 +281,7 @@
<SMALL>SQL</SMALL>?</H4>
<P>The PostgreSQL book at <A href=
"http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</A>
"http://www.postgresql.org/docs/books/awbook.html">http://www.postgresql.org/docs/books/awbook.html</A>
teaches <SMALL>SQL</SMALL>. There is another PostgreSQL book at <A
href=
"http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook.</A>
@ -411,7 +412,8 @@
href="http://www.php.net">http://www.php.net</A>) is an excellent
interface.</P>
<P>For complex cases, many use the Perl and CGI.pm or mod_perl.</P>
<P>For complex cases, many use the Perl DBD::Pg with CGI.pm or
mod_perl.</P>
<H4><A name="2.3">2.3</A>) Does PostgreSQL have a graphical user
interface?</H4>
@ -421,10 +423,9 @@
href="http://www.pgadmin.org">http://www.pgadmin.org</a>, PgAccess
<a href="http://www.pgaccess.org"> http://www.pgaccess.org</a>),
RHDB Admin (<a
href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhd
b/ </a>), TORA (<a
href="http://www.globecom.net/tora/">http://www.globecom.net/tora/</a>,
partly commercial), and Rekall (<a
href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/
</a>), TORA (<a href="http://www.globecom.net/tora/">
http://www.globecom.net/tora/</a>, partly commercial), and Rekall (<a
href="http://www.rekallrevealed.org/">
http://www.rekallrevealed.org/</a>). There is also PhpPgAdmin (<a
href="http://phppgadmin.sourceforge.net/">
@ -815,11 +816,29 @@ table?</TD><TD>unlimited</TD></TR>
</PRE>
<H4><A name="4.9">4.9</A>) In a query, how do I detect if a field
is <SMALL>NULL</SMALL>?</H4>
is <SMALL>NULL</SMALL>? How can I sort on whether a field is <SMALL>
NULL</SMALL> or not?</H4>
<P>You test the column with <SMALL>IS NULL</SMALL> and <SMALL>IS
NOT NULL</SMALL>.</P>
<PRE>
SELECT *
FROM tab
WHERE col IS NULL;
</PRE>
<P>To sort by the <SMALL>NULL</SMALL> status, use the <SMALL>IS NULL</SMALL>
and <SMALL>IS NOT NULL</SMALL> modifiers in your <SMALL>WHERE</SMALL> clause.
Things that are <I>true</I> will sort higher than things that are <I>false</I>,
so the following will put NULL entries at the top of the resulting list:</P>
<PRE>
SELECT *
FROM tab
ORDER BY (col IS NOT NULL)
</PRE>
<H4><A name="4.10">4.10</A>) What is the difference between the
various character types?</H4>
<BLOCKQUOTE>
@ -1039,8 +1058,8 @@ length</TD></TR>
<a href="http://techdocs.postgresql.org/guides/SetReturningFunctions">
http://techdocs.postgresql.org/guides/SetReturningFunctions</a>.
<H4><A name="4.20">4.20</A>) Why can't I reliably create/drop
temporary tables in PL/PgSQL functions?</H4>
<H4><A name="4.20">4.20</A>) Why do I get "missing oid" errors when
accessing temporary tables in PL/PgSQL functions?</H4>
<P>PL/PgSQL caches function scripts, and an unfortunate side effect
is that if a PL/PgSQL function accesses a temporary table, and that