mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-27 07:21:09 +08:00
Update FAQ.
This commit is contained in:
parent
6da3b76a94
commit
bb1095c66d
57
doc/FAQ
57
doc/FAQ
@ -83,25 +83,21 @@
|
||||
other users?
|
||||
4.17) What is an OID? What is a TID?
|
||||
4.18) What is the meaning of some of the terms used in PostgreSQL?
|
||||
4.19) Why do I get the error "FATAL: palloc failure: memory
|
||||
exhausted?"
|
||||
4.20) How do I tell what PostgreSQL version I am running?
|
||||
4.21) My large-object operations get invalid large obj descriptor.
|
||||
4.19) How do I tell what PostgreSQL version I am running?
|
||||
4.20) My large-object operations get invalid large obj descriptor.
|
||||
Why?
|
||||
4.22) How do I create a column that will default to the current time?
|
||||
4.23) Why are my subqueries using IN so slow?
|
||||
4.24) How do I perform an outer join?
|
||||
4.21) How do I create a column that will default to the current time?
|
||||
4.22) Why are my subqueries using IN so slow?
|
||||
4.23) How do I perform an outer join?
|
||||
|
||||
Extending PostgreSQL
|
||||
|
||||
5.1) I wrote a user-defined function. When I run it in psql, why does
|
||||
it dump core?
|
||||
5.2) What does the message "NOTICE:PortalHeapMemoryFree: 0x402251d0
|
||||
not in alloc set!" mean?
|
||||
5.3) How can I contribute some nifty new types and functions to
|
||||
5.2) How can I contribute some nifty new types and functions to
|
||||
PostgreSQL?
|
||||
5.4) How do I write a C function to return a tuple?
|
||||
5.5) I have changed a source file. Why does the recompile not see the
|
||||
5.3) How do I write a C function to return a tuple?
|
||||
5.4) I have changed a source file. Why does the recompile not see the
|
||||
change?
|
||||
_________________________________________________________________
|
||||
|
||||
@ -887,26 +883,11 @@ BYTEA bytea variable-length byte array (null-safe)
|
||||
A list of general database terms can be found at:
|
||||
http://www.comptechnews.com/~reaster/dbdesign.html
|
||||
|
||||
4.19) Why do I get the error "FATAL: palloc failure: memory exhausted?"
|
||||
|
||||
It is possible you have run out of virtual memory on your system, or
|
||||
your kernel has a low limit for certain resources. Try this before
|
||||
starting the postmaster:
|
||||
ulimit -d 65536
|
||||
limit datasize 64m
|
||||
|
||||
Depending on your shell, only one of these may succeed, but it will
|
||||
set your process data segment limit much higher and perhaps allow the
|
||||
query to complete. This command applies to the current process, and
|
||||
all subprocesses created after the command is run. If you are having a
|
||||
problem with the SQL client because the backend is returning too much
|
||||
data, try it before starting the client.
|
||||
|
||||
4.20) How do I tell what PostgreSQL version I am running?
|
||||
4.19) How do I tell what PostgreSQL version I am running?
|
||||
|
||||
From psql, type select version();
|
||||
|
||||
4.21) My large-object operations get invalid large obj descriptor. Why?
|
||||
4.20) My large-object operations get invalid large obj descriptor. Why?
|
||||
|
||||
You need to put BEGIN WORK and COMMIT around any use of a large object
|
||||
handle, that is, surrounding lo_open ... lo_close.
|
||||
@ -920,12 +901,12 @@ BYTEA bytea variable-length byte array (null-safe)
|
||||
If you are using a client interface like ODBC you may need to set
|
||||
auto-commit off.
|
||||
|
||||
4.22) How do I create a column that will default to the current time?
|
||||
4.21) How do I create a column that will default to the current time?
|
||||
|
||||
Use now():
|
||||
CREATE TABLE test (x int, modtime timestamp DEFAULT now() );
|
||||
|
||||
4.23) Why are my subqueries using IN so slow?
|
||||
4.22) Why are my subqueries using IN so slow?
|
||||
|
||||
Currently, we join subqueries to outer queries by sequentially
|
||||
scanning the result of the subquery for each row of the outer query. A
|
||||
@ -941,7 +922,7 @@ SELECT *
|
||||
|
||||
We hope to fix this limitation in a future release.
|
||||
|
||||
4.24) How do I perform an outer join?
|
||||
4.23) How do I perform an outer join?
|
||||
|
||||
PostgreSQL 7.1 and later supports outer joins using the SQL standard
|
||||
syntax. Here are two examples:
|
||||
@ -980,23 +961,17 @@ SELECT *
|
||||
The problem could be a number of things. Try testing your user-defined
|
||||
function in a stand-alone test program first.
|
||||
|
||||
5.2) What does the message "NOTICE:PortalHeapMemoryFree: 0x402251d0 not in
|
||||
alloc set!" mean?
|
||||
|
||||
You are pfree'ing something that was not palloc'ed. Beware of mixing
|
||||
malloc/free and palloc/pfree.
|
||||
|
||||
5.3) How can I contribute some nifty new types and functions to PostgreSQL?
|
||||
5.2) How can I contribute some nifty new types and functions to PostgreSQL?
|
||||
|
||||
Send your extensions to the pgsql-hackers mailing list, and they will
|
||||
eventually end up in the contrib/ subdirectory.
|
||||
|
||||
5.4) How do I write a C function to return a tuple?
|
||||
5.3) How do I write a C function to return a tuple?
|
||||
|
||||
This requires wizardry so extreme that the authors have never tried
|
||||
it, though in principle it can be done.
|
||||
|
||||
5.5) I have changed a source file. Why does the recompile not see the
|
||||
5.4) I have changed a source file. Why does the recompile not see the
|
||||
change?
|
||||
|
||||
The Makefiles do not have the proper dependencies for include files.
|
||||
|
@ -127,17 +127,15 @@
|
||||
<SMALL>TID</SMALL>?<BR>
|
||||
<A href="#4.18">4.18</A>) What is the meaning of some of the terms
|
||||
used in PostgreSQL?<BR>
|
||||
<A href="#4.19">4.19</A>) Why do I get the error <I>"FATAL: palloc
|
||||
failure: memory exhausted?"</I><BR>
|
||||
<A href="#4.20">4.20</A>) How do I tell what PostgreSQL version I
|
||||
<A href="#4.19">4.19</A>) How do I tell what PostgreSQL version I
|
||||
am running? <BR>
|
||||
<A href="#4.21">4.21</A>) My large-object operations get
|
||||
<A href="#4.20">4.20</A>) My large-object operations get
|
||||
<I>invalid large obj descriptor.</I> Why?<BR>
|
||||
<A href="#4.22">4.22</A>) How do I create a column that will
|
||||
<A href="#4.21">4.21</A>) How do I create a column that will
|
||||
default to the current time?<BR>
|
||||
<A href="#4.23">4.23</A>) Why are my subqueries using
|
||||
<A href="#4.22">4.22</A>) Why are my subqueries using
|
||||
<CODE><SMALL>IN</SMALL></CODE> so slow?<BR>
|
||||
<A href="#4.24">4.24</A>) How do I perform an outer join?<BR>
|
||||
<A href="#4.23">4.23</A>) How do I perform an outer join?<BR>
|
||||
|
||||
|
||||
<CENTER>
|
||||
@ -145,14 +143,11 @@
|
||||
</CENTER>
|
||||
<A href="#5.1">5.1</A>) I wrote a user-defined function. When I run
|
||||
it in <I>psql,</I> why does it dump core?<BR>
|
||||
<A href="#5.2">5.2</A>) What does the message
|
||||
<I>"NOTICE:PortalHeapMemoryFree: 0x402251d0 not in alloc set!"</I>
|
||||
mean?<BR>
|
||||
<A href="#5.3">5.3</A>) How can I contribute some nifty new types
|
||||
<A href="#5.2">5.2</A>) How can I contribute some nifty new types
|
||||
and functions to PostgreSQL?<BR>
|
||||
<A href="#5.4">5.4</A>) How do I write a C function to return a
|
||||
<A href="#5.3">5.3</A>) How do I write a C function to return a
|
||||
tuple?<BR>
|
||||
<A href="#5.5">5.5</A>) I have changed a source file. Why does the
|
||||
<A href="#5.4">5.4</A>) I have changed a source file. Why does the
|
||||
recompile not see the change?<BR>
|
||||
|
||||
<HR>
|
||||
@ -1137,32 +1132,13 @@ BYTEA bytea variable-length byte array (null-safe)
|
||||
<P>A list of general database terms can be found at: <A href=
|
||||
"http://www.comptechnews.com/~reaster/dbdesign.html">http://www.comptechnews.com/~reaster/dbdesign.html</A></P>
|
||||
|
||||
<H4><A name="4.19">4.19</A>) Why do I get the error <I>"FATAL:
|
||||
palloc failure: memory exhausted?"</I><BR>
|
||||
</H4>
|
||||
|
||||
<P>It is possible you have run out of virtual memory on your
|
||||
system, or your kernel has a low limit for certain resources. Try
|
||||
this before starting the <I>postmaster:</I></P>
|
||||
<PRE>
|
||||
ulimit -d 65536
|
||||
limit datasize 64m
|
||||
</PRE>
|
||||
Depending on your shell, only one of these may succeed, but it will
|
||||
set your process data segment limit much higher and perhaps allow
|
||||
the query to complete. This command applies to the current process,
|
||||
and all subprocesses created after the command is run. If you are
|
||||
having a problem with the <SMALL>SQL</SMALL> client because the
|
||||
backend is returning too much data, try it before starting the
|
||||
client.
|
||||
|
||||
<H4><A name="4.20">4.20</A>) How do I tell what PostgreSQL version
|
||||
<H4><A name="4.19">4.19</A>) How do I tell what PostgreSQL version
|
||||
I am running?<BR>
|
||||
</H4>
|
||||
|
||||
<P>From <I>psql,</I> type <CODE>select version();</CODE></P>
|
||||
|
||||
<H4><A name="4.21">4.21</A>) My large-object operations get
|
||||
<H4><A name="4.20">4.20</A>) My large-object operations get
|
||||
<I>invalid large obj descriptor.</I> Why?<BR>
|
||||
</H4>
|
||||
|
||||
@ -1179,7 +1155,7 @@ BYTEA bytea variable-length byte array (null-safe)
|
||||
<P>If you are using a client interface like <SMALL>ODBC</SMALL> you
|
||||
may need to set <CODE>auto-commit off.</CODE></P>
|
||||
|
||||
<H4><A name="4.22">4.22</A>) How do I create a column that will
|
||||
<H4><A name="4.21">4.21</A>) How do I create a column that will
|
||||
default to the current time?<BR>
|
||||
</H4>
|
||||
|
||||
@ -1189,7 +1165,7 @@ BYTEA bytea variable-length byte array (null-safe)
|
||||
</CODE>
|
||||
</PRE>
|
||||
|
||||
<H4><A name="4.23">4.23</A>) Why are my subqueries using
|
||||
<H4><A name="4.22">4.22</A>) Why are my subqueries using
|
||||
<CODE><SMALL>IN</SMALL></CODE> so slow?<BR>
|
||||
</H4>
|
||||
|
||||
@ -1212,7 +1188,7 @@ BYTEA bytea variable-length byte array (null-safe)
|
||||
</PRE>
|
||||
We hope to fix this limitation in a future release.
|
||||
|
||||
<H4><A name="4.24">4.24</A>) How do I perform an outer join?<BR>
|
||||
<H4><A name="4.23">4.23</A>) How do I perform an outer join?<BR>
|
||||
</H4>
|
||||
|
||||
<P>PostgreSQL 7.1 and later supports outer joins using the SQL
|
||||
@ -1264,28 +1240,20 @@ BYTEA bytea variable-length byte array (null-safe)
|
||||
<P>The problem could be a number of things. Try testing your
|
||||
user-defined function in a stand-alone test program first.</P>
|
||||
|
||||
<H4><A name="5.2">5.2</A>) What does the message
|
||||
<I>"NOTICE:PortalHeapMemoryFree: 0x402251d0 not in alloc set!"</I>
|
||||
mean?</H4>
|
||||
|
||||
<P>You are <I>pfree'</I>ing something that was not
|
||||
<I>palloc'</I>ed. Beware of mixing <I>malloc/free</I> and
|
||||
<I>palloc/pfree.</I></P>
|
||||
|
||||
<H4><A name="5.3">5.3</A>) How can I contribute some nifty new
|
||||
<H4><A name="5.2">5.2</A>) How can I contribute some nifty new
|
||||
types and functions to PostgreSQL?</H4>
|
||||
|
||||
<P>Send your extensions to the <I>pgsql-hackers</I> mailing list,
|
||||
and they will eventually end up in the <I>contrib/</I>
|
||||
subdirectory.</P>
|
||||
|
||||
<H4><A name="5.4">5.4</A>) How do I write a C function to return a
|
||||
<H4><A name="5.3">5.3</A>) How do I write a C function to return a
|
||||
tuple?</H4>
|
||||
|
||||
<P>This requires wizardry so extreme that the authors have never
|
||||
tried it, though in principle it can be done.</P>
|
||||
|
||||
<H4><A name="5.5">5.5</A>) I have changed a source file. Why does
|
||||
<H4><A name="5.4">5.4</A>) I have changed a source file. Why does
|
||||
the recompile not see the change?</H4>
|
||||
|
||||
<P>The <I>Makefiles</I> do not have the proper dependencies for
|
||||
|
Loading…
Reference in New Issue
Block a user