Frequently Asked Questions (FAQ) for PostgreSQL
- Last updated: Fri Jul 29 10:05:09 EDT 2005
+ Last updated: Wed Aug 10 15:29:42 EDT 2005
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
4.19) Why do I get "relation with OID ##### does not exist" errors
when accessing temporary tables in PL/PgSQL functions?
4.20) What replication solutions are available?
+ 4.21) Why are my table and column names not recognized in my query?
_________________________________________________________________
General Questions
The maximum table size and maximum number of columns can be quadrupled
by increasing the default block size to 32k.
+ One limitation is that indexes can not be created on columns longer
+ than about 2,000 characters. Fortunately, such indexes are rarely
+ needed. Uniqueness is best guaranteed using another column that is an
+ MD5 hash of the long column, and full text indexing allows for
+ searching of words within the column.
+
4.5) How much database disk space is required to store data from a typical
text file?
expresssion index, it will be used:
CREATE INDEX tabindex ON tab (lower(col));
+ If the above index is created as UNIQUE, though the column can store
+ upper and lowercase characters, it can not have identical values that
+ differ only in case. To force a particular case to be stored in the
+ column, use a CHECK constraint or a trigger.
+
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?
There are also commercial and hardware-based replication solutions
available supporting a variety of replication models.
+
+ 4.20) Why are my table and column names not recognized in my query?
+
+ The most common cause is the use of double-quotes around table or
+ column names during table creation. When double-quotes are used, table
+ and column names (called identifiers) are stored case-sensitive,
+ meaning you must use double-quotes when referencing the names in a
+ query. Some interfaces, like pgAdmin, automatically double-quote
+ identifiers during table creation. So, for identifiers to be
+ recognized, you must either:
+ * Avoid double-quoting identifiers when creating tables
+ * Use only lowercase characters in identifiers
+ * Double-quote identifiers when referencing them in queries
alink="#0000ff">
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
- <P>Last updated: Mon May 30 09:11:03 EDT 2005</P>
+ <P>Last updated: Wed Aug 10 15:29:42 EDT 2005</P>
<P>Current maintainer: Bruce Momjian (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)
<HR>
<H2 align="center">General Questions</H2>
- <A href="#1.1">1.1</A>) What is PostgreSQL? How is it pronounced?<BR>
+ <A href="#1.1">1.1</A>) What is PostgreSQL? How is it pronounced?<BR>
<A href="#1.2">1.2</A>) What is the copyright of PostgreSQL?<BR>
<A href="#1.3">1.3</A>) What platforms does PostgreSQL support?<BR>
<A href="#1.4">1.4</A>) Where can I get PostgreSQL?<BR>
does not exist" errors when accessing temporary tables in PL/PgSQL
functions?<BR>
<A href="#4.20">4.20</A>) What replication solutions are available?<BR>
-
+ <A href="#4.21">4.21</A>) Why are my table and column names not
+ recognized in my query?<BR>
+
<HR>
<H3><A name="1.1">1.1</A>) What is PostgreSQL? How is it pronounced?</H3>
- <P>PostgreSQL is pronounced <I>Post-Gres-Q-L</I>, also called just
- <I>Postgres</I>.</P>
+ <P>PostgreSQL is pronounced <I>Post-Gres-Q-L</I>, and is also sometimes
+ referred to as just <I>Postgres</I>. An audio file is available in
+ <a href="http://www.postgresql.org/files/postgresql.mp3">MP3 format</a> for
+ those would like to hear the pronunciation.</P>
<P>PostgreSQL is an object-relational database system that has the
features of traditional commercial database systems with
<P>The maximum table size and maximum number of columns can be
quadrupled by increasing the default block size to 32k.</P>
+ <P>One limitation is that indexes can not be created on columns
+ longer than about 2,000 characters. Fortunately, such indexes are
+ rarely needed. Uniqueness is best guaranteed using another column
+ that is an MD5 hash of the long column, and full text indexing
+ allows for searching of words within the column.</P>
+
<H3><A name="4.5">4.5</A>) How much database disk space is required
to store data from a typical text file?</H3>
<PRE>
CREATE INDEX tabindex ON tab (lower(col));
</PRE>
-
+ <P>If the above index is created as <SMALL>UNIQUE</SMALL>, though
+ the column can store upper and lowercase characters, it can not have
+ identical values that differ only in case. To force a particular
+ case to be stored in the column, use a <SMALL>CHECK</SMALL>
+ constraint or a trigger.</P>
+
<H3><A name="4.9">4.9</A>) In a query, how do I detect if a field
is <SMALL>NULL</SMALL>? How can I sort on whether a field is <SMALL>
NULL</SMALL> or not?</H3>
<P>There are also commercial and hardware-based replication solutions
available supporting a variety of replication models.</P>
+
+ <H3><A name="4.20">4.20</A>) Why are my table and column names not
+ recognized in my query?</H3>
+
+ <P>The most common cause is the use of double-quotes around table or
+ column names during table creation. When double-quotes are used,
+ table and column names (called identifiers) are stored <a
+ href="http://www.postgresql.org/docs/8.0/static/sql-syntax.html#SQL-
+ SYNTAX-IDENTIFIERS">case-sensitive</a>, meaning you must use
+ double-quotes when referencing the names in a query. Some interfaces,
+ like pgAdmin, automatically double-quote identifiers during table
+ creation. So, for identifiers to be recognized, you must either:
+ <UL>
+ <LI>Avoid double-quoting identifiers when creating tables</LI>
+ <LI>Use only lowercase characters in identifiers</LI>
+ <LI>Double-quote identifiers when referencing them in queries</LI>
+ </UL>
</BODY>
</HTML>