Frequently Asked Questions (FAQ) for PostgreSQL
- Last updated: Fri Oct 12 23:36:59 EDT 2007
+ Last updated: Wed Oct 17 13:34:42 EDT 2007
Current maintainer: Bruce Momjian (bruce@momjian.us)
4.16) How do I perform an outer join?
4.17) How do I perform queries using multiple databases?
4.18) How do I return multiple rows or columns from a function?
- 4.19) What replication solutions are available?
- 4.20) Why are my table and column names not recognized in my query?
+ 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?
Why is capitalization not preserved?
_________________________________________________________________
It is easy using set-returning functions,
http://www.postgresql.org/docs/techdocs.17.
- 4.19) What replication solutions are available?
+ 4.19) Why do I get "relation with OID ##### does not exist" errors when
+ accessing temporary tables in PL/PgSQL functions?
+
+ In PostgreSQL versions < 8.3, PL/PgSQL caches function scripts, and an
+ unfortunate side effect is that if a PL/PgSQL function accesses a
+ temporary table, and that table is later dropped and recreated, and
+ the function called again, the function will fail because the cached
+ function contents still point to the old temporary table. The solution
+ is to use EXECUTE for temporary table access in PL/PgSQL. This will
+ cause the query to be reparsed every time.
+
+ This problem does not occur in PostgreSQL 8.3 and later.
+
+ 4.20) What replication solutions are available?
Though "replication" is a single term, there are several technologies
for doing replication, with advantages and disadvantages for each.
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? Why is
+ 4.21) Why are my table and column names not recognized in my query? Why is
capitalization not preserved?
The most common cause of unrecognized names is the use of
alink="#0000ff">
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
- <P>Last updated: Fri Oct 12 23:36:59 EDT 2007</P>
+ <P>Last updated: Wed Oct 17 13:34:42 EDT 2007</P>
<P>Current maintainer: Bruce Momjian (<A href=
"mailto:bruce@momjian.us">bruce@momjian.us</A>)
databases?<BR>
<A href="#item4.18">4.18</A>) How do I return multiple rows or columns
from a function?<BR>
- <A href="#item4.20">4.19</A>) What replication solutions are available?<BR>
- <A href="#item4.21">4.20</A>) Why are my table and column names not
+ <A href="#item4.19">4.19</A>) Why do I get "relation with OID #####
+ does not exist" errors when accessing temporary tables in PL/PgSQL
+ functions?<BR>
+ <A href="#item4.20">4.20</A>) What replication solutions are available?<BR>
+ <A href="#item4.21">4.21</A>) Why are my table and column names not
recognized in my query? Why is capitalization not preserved?<BR>
<a href="http://www.postgresql.org/docs/techdocs.17">
http://www.postgresql.org/docs/techdocs.17</a>.</P>
- <H3 id="item4.19">4.19) What replication solutions are available?
+ <H3 id="item4.19">4.19) Why do I get "relation with OID #####
+ does not exist" errors when accessing temporary tables in PL/PgSQL
+ functions?</H3>
+
+ <P>In PostgreSQL versions < 8.3, PL/PgSQL caches function scripts, and
+ an unfortunate side effect is that if a PL/PgSQL function accesses a
+ temporary table, and that table is later dropped and recreated, and
+ the function called again, the function will fail because the cached
+ function contents still point to the old temporary table. The solution
+ is to use <SMALL>EXECUTE</SMALL> for temporary table access in
+ PL/PgSQL. This will cause the query to be reparsed every time.</P>
+
+ <P>This problem does not occur in PostgreSQL 8.3 and later.</P>
+
+ <H3 id="item4.20">4.20) What replication solutions are available?
</H3>
<P>Though "replication" is a single term, there are several technologies
<P>There are also commercial and hardware-based replication solutions
available supporting a variety of replication models.</P>
- <H3 id="item4.20">4.20) Why are my table and column names not
+ <H3 id="item4.21">4.21) Why are my table and column names not
recognized in my query? Why is capitalization not preserved?</H3>
<P>The most common cause of unrecognized names is the use of
<LI>Use only lowercase characters in identifiers</LI>
<LI>Double-quote identifiers when referencing them in queries</LI>
</UL>
+
</BODY>
</HTML>