Frequently Asked Questions (FAQ) for PostgreSQL
- Last updated: Fri Mar 12 08:51:11 EST 2004
+ Last updated: Mon Mar 29 00:07:11 EST 2004
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
1.1) What is PostgreSQL? How is it pronounced?
- PostgreSQL is pronounced Post-Gres-Q-L. The name "Postgres" is also
- used in conversation.
+ PostgreSQL is pronounced Post-Gres-Q-L. An audio file is available at
+ http://www.postgresql.org/postgresql.mp3 for those would like to hear
+ the pronunciation.
PostgreSQL is an enhancement of the POSTGRES database management
- system, a next-generation DBMS research prototype. While PostgreSQL
- retains the powerful data model and rich data types of POSTGRES, it
- replaces the PostQuel query language with an extended subset of SQL.
- PostgreSQL is free and the complete source is available.
+ system (and is still sometimes reffered to as simply "Postgres"), a
+ next-generation DBMS research prototype. While PostgreSQL retains the
+ powerful data model and rich data types of POSTGRES, it replaces the
+ PostQuel query language with an extended subset of SQL. PostgreSQL is
+ free and the complete source is available.
PostgreSQL development is performed by a team of developers who all
subscribe to the PostgreSQL development mailing list. The current
coordinator is Marc G. Fournier (scrappy@PostgreSQL.org). (See section
1.6 on how to join). This team is now responsible for all development
of PostgreSQL. It is a community project and is not controlled by any
- company. To get involved, see the developer's
- FAQ,http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html
+ company. To get involved, see the developer's FAQ at
+ http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html
The authors of PostgreSQL 1.01 were Andrew Yu and Jolly Chen. Many
others have contributed to the porting, testing, debugging, and
PostgreSQL Data Base Management System
- Portions copyright (c) 1996-2002, PostgreSQL Global Development Group
+ Portions copyright (c) 1996-2004, PostgreSQL Global Development Group
Portions Copyright (c) 1994-6 Regents of the University of California
Permission to use, copy, modify, and distribute this software and its
1.3) What Unix platforms does PostgreSQL run on?
- In general, a modern Unix-compatible platform should be able to run
+ In general, any modern Unix-compatible platform should be able to run
PostgreSQL. The platforms that had received explicit testing at the
time of release are listed in the installation instructions.
These include PgAccess http://www.pgaccess.org), PgAdmin III
(http://www.pgadmin.org, RHDB Admin (http://sources.redhat.com/rhdb/ )
and Rekall ( http://www.thekompany.com/products/rekall/, proprietary).
- There is also PHPPgAdmin ( http://phppgadmin.sourceforge.net/ ), a
+ There is also PhpPgAdmin ( http://phppgadmin.sourceforge.net/ ), a
web-based interface to PostgreSQL.
See http://techdocs.postgresql.org/guides/GUITools for a more detailed
By default, PostgreSQL only allows connections from the local machine
using Unix domain sockets. Other machines will not be able to connect
- unless you add the -i flag to postmaster, and enable host-based
- authentication by modifying the file $PGDATA/pg_hba.conf accordingly.
- This will allow TCP/IP connections.
+ unless you turn on tcpip_sockets in the postgresql.conf and enable
+ host-based authentication by modifying the file $PGDATA/pg_hba.conf
+ accordingly. This will allow TCP/IP connections.
3.6) How do I tune the database engine for better performance?
- Certainly, indexes can speed up queries. The EXPLAIN command allows
- you to see how PostgreSQL is interpreting your query, and which
+ Certainly, indexes can speed up queries. The EXPLAIN ANALYZE command
+ allows you to see how PostgreSQL is interpreting your query, and which
indexes are being used.
If you are doing many INSERTs, consider doing them in a large batch
4.3) How do I get a list of tables or other things I can see in psql?
- You can read the source code for psql in file
- pgsql/src/bin/psql/describe.c. It contains SQL commands that generate
- the output for psql's backslash commands. You can also start psql with
- the -E option so it will print out the queries it uses to execute the
- commands you give.
+ Use the \dt command to see tables in psql. For a complete list of
+ commands inside psql you can use \?. Alternatively you can read the
+ source code for psql in file pgsql/src/bin/psql/describe.c, it
+ contains SQL commands that generate the output for psql's backslash
+ commands. You can also start psql with the -E option so it will print
+ out the queries it uses to execute the commands you give. PostgreSQL
+ also provides an SQLi compliant INFORMATION SCHEMA interface you can
+ query to get information about the database.
4.4) How do you remove a column from a table, or change its data type?
alink="#0000ff">
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
- <P>Last updated: Fri Mar 12 08:51:11 EST 2004</P>
+ <P>Last updated: Mon Mar 29 00:07:11 EST 2004</P>
<P>Current maintainer: Bruce Momjian (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
<H4><A name="1.1">1.1</A>) What is PostgreSQL? How is it pronounced?</H4>
- <P>PostgreSQL is pronounced <I>Post-Gres-Q-L</I>. The name "Postgres" is
- also used in conversation.</P>
+ <P>PostgreSQL is pronounced <I>Post-Gres-Q-L</I>. An audio file is
+ available at http://www.postgresql.org/postgresql.mp3 for those
+ would like to hear the pronunciation.
+ </P>
<P>PostgreSQL is an enhancement of the POSTGRES database management
- system, a next-generation <SMALL>DBMS</SMALL> research prototype.
+ system (and is still sometimes reffered to as simply "Postgres"),
+ a next-generation <SMALL>DBMS</SMALL> research prototype.
While PostgreSQL retains the powerful data model and rich data
types of POSTGRES, it replaces the PostQuel query language with an
extended subset of <SMALL>SQL</SMALL>. PostgreSQL is free and the
section <a href="#1.6">1.6</a> on how to join). This team is now
responsible for all development of PostgreSQL. It is a community
project and is not controlled by any company. To get involved, see
- the developer's FAQ,<A href=
+ the developer's FAQ at <A href=
"http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html">http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html</A>
</P>
<P>PostgreSQL Data Base Management System</P>
- <P>Portions copyright (c) 1996-2002, PostgreSQL Global Development
+ <P>Portions copyright (c) 1996-2004, PostgreSQL Global Development
Group Portions Copyright (c) 1994-6 Regents of the University of
California</P>
<H4><A name="1.3">1.3</A>) What Unix platforms does PostgreSQL run
on?</H4>
- <P>In general, a modern Unix-compatible platform should be able to
+ <P>In general, any modern Unix-compatible platform should be able to
run PostgreSQL. The platforms that had received explicit testing at
the time of release are listed in the installation
instructions.</P>
href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/
</a>) and Rekall (<a href="http://www.thekompany.com/products/rekall/">
http://www.thekompany.com/products/rekall/</a>, proprietary). There is
- also PHPPgAdmin (<a href="http://phppgadmin.sourceforge.net/">
+ also PhpPgAdmin (<a href="http://phppgadmin.sourceforge.net/">
http://phppgadmin.sourceforge.net/ </a>), a web-based interface to
PostgreSQL.</P>
<P>By default, PostgreSQL only allows connections from the local
machine using Unix domain sockets. Other machines will not be able
- to connect unless you add the <I>-i</I> flag to <I>postmaster</I>,
+ to connect unless you turn on tcpip_sockets in the postgresql.conf
<B>and</B> enable host-based authentication by modifying the file
<I>$PGDATA/pg_hba.conf</I> accordingly. This will allow TCP/IP
connections.</P>
better performance?</H4>
<P>Certainly, indexes can speed up queries. The
- <SMALL>EXPLAIN</SMALL> command allows you to see how PostgreSQL is
+ <SMALL>EXPLAIN ANALYZE</SMALL> command allows you to see how PostgreSQL is
interpreting your query, and which indexes are being used.</P>
<P>If you are doing many <SMALL>INSERTs</SMALL>, consider doing
<H4><A name="4.3">4.3</A>) How do I get a list of tables or other
things I can see in <I>psql</I>?</H4>
- <P>You can read the source code for <I>psql</I> in file
- <I>pgsql/src/bin/psql/describe.c</I>. It contains
- <SMALL>SQL</SMALL> commands that generate the output for psql's
- backslash commands. You can also start <I>psql</I> with the
- <I>-E</I> option so it will print out the queries it uses to
- execute the commands you give.</P>
+ <P>Use the \dt command to see tables in <I>psql</I>. For a complete list of
+ commands inside psql you can use \?. Alternatively you can read the source
+ code for <I>psql</I> in file <I>pgsql/src/bin/psql/describe.c</I>, it
+ contains <SMALL>SQL</SMALL> commands that generate the output for
+ <I>psql</I>'s backslash commands. You can also start <I>psql</I> with the
+ <I>-E</I> option so it will print out the queries it uses to execute the
+ commands you give. PostgreSQL also provides an <SMALL>SQLi</SMALL> compliant
+ INFORMATION SCHEMA interface you can query to get information about the
+ database.</P>
<H4><A name="4.4">4.4</A>) How do you remove a column from a
table, or change its data type?</H4>