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:
@ -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
|
||||
|
Reference in New Issue
Block a user