1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-23 14:01:44 +03:00

Update FAQ items to point to existing web pages rather than duplication

such information.  Remove MySQL mention.  Move server-side debug item to
developer's FAQ.  Update URLs.
This commit is contained in:
Bruce Momjian
2005-04-23 18:57:25 +00:00
parent 19d127548c
commit c34ea747a6
2 changed files with 61 additions and 202 deletions

View File

@ -10,7 +10,7 @@
alink="#0000ff">
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
<P>Last updated: Sat Apr 23 11:22:46 EDT 2005</P>
<P>Last updated: Sat Apr 23 14:56:41 EDT 2005</P>
<P>Current maintainer: Bruce Momjian (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)
@ -192,10 +192,9 @@
the time of release are listed in the installation
instructions.</P>
<P>Starting with version 8.0, PostgreSQL now runs natively on
Microsoft Windows NT-based operating systems like Win2000, WinXP,
and Win2003. A prepackaged installer is available at <a href=
"http://pgfoundry.org/projects/pginstaller">
<P>PostgreSQL also runs natively on Microsoft Windows NT-based operating
systems like Win2000, WinXP, and Win2003. A prepackaged installer is
available at <a href= "http://pgfoundry.org/projects/pginstaller">
http://pgfoundry.org/projects/pginstaller</a>. MSDOS-based versions
of Windows (Win95, Win98, WinMe) can run PostgreSQL using Cygwin.</P>
@ -207,9 +206,10 @@
<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>.
For mirror sites, see our main web site.</P>
<P>Via web browser, use <a href="http://www.postgresql.org/ftp/">
http://www.postgresql.org/ftp/</a>, and via ftp, use
<A href="ftp://ftp.PostgreSQL.org/pub/">
ftp://ftp.PostgreSQL.org/pub/</A>.</P>
<H4><A name="1.5">1.5</A>) Where can I get support?</H4>
@ -222,7 +222,7 @@
<P>The major IRC channel is <I>#postgresql</I> on Freenode
(<I>irc.freenode.net</I>). To connect you can use the Unix
program <CODE>irc -c '#postgresql' "$USER" irc.freenode.net</CODE>
or use any of the other popular IRC clients. A Spanish one also exists
or use any other IRC clients. A Spanish one also exists
on the same network, (<I>#postgresql-es</I>), and a French one,
(<I>#postgresqlfr</I>). There is also a PostgreSQL channel on EFNet.</P>
@ -244,7 +244,8 @@
<P>The latest release of PostgreSQL is version 8.0.2.</P>
<P>We plan to have major releases every ten to twelve months.</P>
<P>We plan to have a major release every year, with minor releases
every few months.</P>
<H4><A name="1.8">1.8</A>) What documentation is available?</H4>
@ -275,18 +276,21 @@
missing features?</H4>
<P>PostgreSQL supports an extended subset of <SMALL>SQL</SMALL>-92.
See our <A href="http://developer.PostgreSQL.org/todo.php">TODO</A>
See our <A href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A>
list for known bugs, missing features, and future plans.</P>
<H4><A name="1.10">1.10</A>) How can I learn
<SMALL>SQL</SMALL>?</H4>
<P>The PostgreSQL book at <A href=
"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>
There is a nice tutorial at <A href=
<P>First, consider the PostgreSQL-specific books mentioned above.
Another one is "Teach Yourself SQL in 21 Days, Second Edition"
at <A href=
"http://members.tripod.com/er4ebus/sql/index.htm">http://members.tripod.com/er4ebus/sql/index.htm</A></P>
Many of our users like <I>The Practical SQL Handbook</I>,
Bowman, Judith S., et al., Addison-Wesley. Others like <I>The
Complete Reference SQL</I>, Groff et al., McGraw-Hill.</P>
There is also a nice tutorial at <A href=
"http://www.intermedia.net/support/sql/sqltut.shtm">http://www.intermedia.net/support/sql/sqltut.shtm,</A>
at <A href=
"http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM">
@ -294,28 +298,11 @@
and at <A href=
"http://sqlcourse.com/">http://sqlcourse.com.</A></P>
<P>Another one is "Teach Yourself SQL in 21 Days, Second Edition"
at <A href=
"http://members.tripod.com/er4ebus/sql/index.htm">http://members.tripod.com/er4ebus/sql/index.htm</A></P>
<P>Many of our users like <I>The Practical SQL Handbook</I>,
Bowman, Judith S., et al., Addison-Wesley. Others like <I>The
Complete Reference SQL</I>, Groff et al., McGraw-Hill.</P>
<H4><A name="1.11">1.11</A>) How do I join the development
team?</H4>
<P>First, download the latest source and read the PostgreSQL
Developers FAQ and documentation on our web site, or in the
distribution. Second, subscribe to the <I>pgsql-hackers</I> and
<I>pgsql-patches</I> mailing lists. Third, submit high quality
patches to pgsql-patches.</P>
<P>There are about a dozen people who have commit privileges to the
PostgreSQL <SMALL>CVS</SMALL> archive. They each have submitted so
many high-quality patches that it was impossible for the existing
committers to keep up, and we had confidence that patches they
committed were of high quality.</P>
<P>See the <a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html">
Developer's FAQ</A>.
<H4><A name="1.12">1.12</A>) How does PostgreSQL compare to other
<SMALL>DBMS</SMALL>s?</H4>
@ -339,14 +326,7 @@
<DD>PostgreSQL's performance is comparable to other commercial and
open source databases. It is faster for some things, slower for
others. In comparison to MySQL or leaner database systems, we are
faster for multiple users, complex queries, and a read/write query
load. MySQL is faster for simple SELECT queries done by a few users.
Of course, MySQL does not have most of the features mentioned in the
<I>Features</I> section above. We are built for reliability and
features, and we continue to improve performance in every
release. <BR>
<BR>
others. Our performance is usually +/-10% compared to other databases.
</DD>
<DT><B>Reliability</B></DT>
@ -419,22 +399,8 @@
<H4><A name="2.3">2.3</A>) Does PostgreSQL have a graphical user
interface?</H4>
<P>Yes, there are several graphical interfaces to PostgreSQL
available. These include pgAdmin III (<a
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/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/">
http://phppgadmin.sourceforge.net/ </a>), a web-based interface to
PostgreSQL.</P>
<P>See <a href="http://techdocs.postgresql.org/guides/GUITools">
http://techdocs.postgresql.org/guides/GUITools</a> for a more
<P>Yes, see <a href="http://techdocs.postgresql.org/guides/GUITools">
http://techdocs.postgresql.org/guides/GUITools</a> for a
detailed list.</P>
<HR>
@ -522,48 +488,6 @@
that enable printing of query and process statistics which can be
very useful for debugging and performance measurements.</P>
<P><B>The following detailed debug instructions are to be used to
provide more detailed information for server developers debugging a
problem.</B></P>
<P>It is also possible to debug the server if it isn't operating
properly. First, by running <I>configure</I> with the --enable-cassert
option, many <I>assert()</I>s monitor the progress of the backend
and halt the program when something unexpected occurs.</P>
<P>The <I>postmaster</I> has a <I>-d</I> option that allows even more
detailed information to be reported. The <I>-d</I> option takes a
number that specifies the debug level. Be warned that high debug
level values generate large log files.</P>
<P>If <I>postmaster</I> is not running, you can actually run the
<I>postgres</I> backend from the command line, and type your
<SMALL>SQL</SMALL> statement directly. This is recommended
<B>only</B> for debugging purposes. Note that a newline terminates
the query, not a semicolon. If you have compiled with debugging
symbols, you can use a debugger to see what is happening. Because
the backend was not started from <I>postmaster</I>, it is not
running in an identical environment and locking/backend interaction
problems may not be duplicated.</P>
<P>If <I>postmaster</I> is running, start <I>psql</I> in one
window, then find the <SMALL>PID</SMALL> of the <I>postgres</I>
process used by <I>psql</I> using <CODE>SELECT pg_backend_pid()</CODE>.
Use a debugger to attach to the <I>postgres</I> <SMALL>PID</SMALL>.
You can set breakpoints in the debugger and issue queries from
<I>psql</I>. If you are debugging <I>postgres</I> startup, you can
set PGOPTIONS="-W n", then start <I>psql</I>. This will cause startup
to delay for <I>n</I> seconds so you can attach to the process with
the debugger, set any breakpoints, and continue through the startup
sequence.</P>
<P>You can also compile with profiling to see what functions are
taking execution time. The backend profile files will be deposited
in the <I>pgsql/data/base/dbname</I> directory. The client profile
file will be put in the client's current directory. Linux requires
a compile with <I>-DLINUX_PROFILE</I> for proper profiling.</P>
<H4><A name="3.5">3.5</A>) Why do I get <I>"Sorry, too many
clients"</I> when trying to connect?</H4>
@ -577,7 +501,7 @@
to upgrade between major PostgreSQL releases?</H4>
<P>The PostgreSQL team makes only small changes between minor releases,
so upgrading from 7.4 to 7.4.1 does not require a dump and restore.
so upgrading from 7.4.0 to 7.4.1 does not require a dump and restore.
However, major releases (e.g. from 7.3 to 7.4) often change the internal
format of system tables and data files. These changes are often complex,
so we don't maintain backward compatibility for data files. A dump outputs
@ -727,11 +651,11 @@ table?</TD><TD>unlimited</TD></TR>
<H4><A name="4.6">4.6</A>) Why are my queries slow? Why don't they
use my indexes?</H4>
<P>Indexes are not automatically used by every query. Indexes are only
used if the table is larger than a minimum size, and the query
selects only a small percentage of the rows in the table. This is
because the random disk access caused by an index scan can be
slower than a straight read through the table, or sequential scan. </P>
<P>Indexes are not used by every query. Indexes are used only if the
table is larger than a minimum size, and the query selects only a
small percentage of the rows in the table. This is because the random
disk access caused by an index scan can be slower than a straight read
through the table, or sequential scan. </P>
<P>To determine if an index should be used, PostgreSQL must have
statistics about the table. These statistics are collected using