From e38c920dba59a39322a865997e4d33715a6e38a7 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Wed, 10 Aug 2005 19:30:05 +0000
Subject: [PATCH] Add new FAQ information.

Martijn van Oosterhout
---
 doc/FAQ              | 27 ++++++++++++++++++++++++++-
 doc/src/FAQ/FAQ.html | 44 ++++++++++++++++++++++++++++++++++++++------
 2 files changed, 64 insertions(+), 7 deletions(-)

diff --git a/doc/FAQ b/doc/FAQ
index d7e2d5ea596..e1c3cf1999a 100644
--- a/doc/FAQ
+++ b/doc/FAQ
@@ -1,7 +1,7 @@
 
                 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)
    
@@ -79,6 +79,7 @@
    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
@@ -471,6 +472,12 @@
    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?
   
@@ -578,6 +585,11 @@
    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?
   
@@ -776,3 +788,16 @@
    
    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
diff --git a/doc/src/FAQ/FAQ.html b/doc/src/FAQ/FAQ.html
index 71e659db94d..07dd956e2ef 100644
--- a/doc/src/FAQ/FAQ.html
+++ b/doc/src/FAQ/FAQ.html
@@ -10,7 +10,7 @@
   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>)
@@ -26,7 +26,7 @@
     <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>
@@ -116,7 +116,9 @@
     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>
 
@@ -124,8 +126,10 @@
 
     <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
@@ -613,6 +617,12 @@ table?</TD><TD>unlimited</TD></TR>
     <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>
 
@@ -740,7 +750,12 @@ table?</TD><TD>unlimited</TD></TR>
 <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>
@@ -1000,5 +1015,22 @@ length</TD></TR>
 
     <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>
-- 
GitLab