mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Update FAQ.
This commit is contained in:
57
doc/FAQ
57
doc/FAQ
@ -83,25 +83,21 @@
|
|||||||
other users?
|
other users?
|
||||||
4.17) What is an OID? What is a TID?
|
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.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
|
4.19) How do I tell what PostgreSQL version I am running?
|
||||||
exhausted?"
|
4.20) My large-object operations get invalid large obj descriptor.
|
||||||
4.20) How do I tell what PostgreSQL version I am running?
|
|
||||||
4.21) My large-object operations get invalid large obj descriptor.
|
|
||||||
Why?
|
Why?
|
||||||
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?
|
||||||
4.23) Why are my subqueries using IN so slow?
|
4.22) Why are my subqueries using IN so slow?
|
||||||
4.24) How do I perform an outer join?
|
4.23) How do I perform an outer join?
|
||||||
|
|
||||||
Extending PostgreSQL
|
Extending PostgreSQL
|
||||||
|
|
||||||
5.1) I wrote a user-defined function. When I run it in psql, why does
|
5.1) I wrote a user-defined function. When I run it in psql, why does
|
||||||
it dump core?
|
it dump core?
|
||||||
5.2) What does the message "NOTICE:PortalHeapMemoryFree: 0x402251d0
|
5.2) How can I contribute some nifty new types and functions to
|
||||||
not in alloc set!" mean?
|
|
||||||
5.3) How can I contribute some nifty new types and functions to
|
|
||||||
PostgreSQL?
|
PostgreSQL?
|
||||||
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?
|
||||||
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?
|
change?
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
@ -887,26 +883,11 @@ BYTEA bytea variable-length byte array (null-safe)
|
|||||||
A list of general database terms can be found at:
|
A list of general database terms can be found at:
|
||||||
http://www.comptechnews.com/~reaster/dbdesign.html
|
http://www.comptechnews.com/~reaster/dbdesign.html
|
||||||
|
|
||||||
4.19) Why do I get the error "FATAL: palloc failure: memory exhausted?"
|
4.19) How do I tell what PostgreSQL version I am running?
|
||||||
|
|
||||||
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?
|
|
||||||
|
|
||||||
From psql, type select version();
|
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
|
You need to put BEGIN WORK and COMMIT around any use of a large object
|
||||||
handle, that is, surrounding lo_open ... lo_close.
|
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
|
If you are using a client interface like ODBC you may need to set
|
||||||
auto-commit off.
|
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():
|
Use now():
|
||||||
CREATE TABLE test (x int, modtime timestamp DEFAULT 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
|
Currently, we join subqueries to outer queries by sequentially
|
||||||
scanning the result of the subquery for each row of the outer query. A
|
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.
|
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
|
PostgreSQL 7.1 and later supports outer joins using the SQL standard
|
||||||
syntax. Here are two examples:
|
syntax. Here are two examples:
|
||||||
@ -980,23 +961,17 @@ SELECT *
|
|||||||
The problem could be a number of things. Try testing your user-defined
|
The problem could be a number of things. Try testing your user-defined
|
||||||
function in a stand-alone test program first.
|
function in a stand-alone test program first.
|
||||||
|
|
||||||
5.2) What does the message "NOTICE:PortalHeapMemoryFree: 0x402251d0 not in
|
5.2) How can I contribute some nifty new types and functions to PostgreSQL?
|
||||||
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?
|
|
||||||
|
|
||||||
Send your extensions to the pgsql-hackers mailing list, and they will
|
Send your extensions to the pgsql-hackers mailing list, and they will
|
||||||
eventually end up in the contrib/ subdirectory.
|
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
|
This requires wizardry so extreme that the authors have never tried
|
||||||
it, though in principle it can be done.
|
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?
|
change?
|
||||||
|
|
||||||
The Makefiles do not have the proper dependencies for include files.
|
The Makefiles do not have the proper dependencies for include files.
|
||||||
|
@ -127,17 +127,15 @@
|
|||||||
<SMALL>TID</SMALL>?<BR>
|
<SMALL>TID</SMALL>?<BR>
|
||||||
<A href="#4.18">4.18</A>) What is the meaning of some of the terms
|
<A href="#4.18">4.18</A>) What is the meaning of some of the terms
|
||||||
used in PostgreSQL?<BR>
|
used in PostgreSQL?<BR>
|
||||||
<A href="#4.19">4.19</A>) Why do I get the error <I>"FATAL: palloc
|
<A href="#4.19">4.19</A>) How do I tell what PostgreSQL version I
|
||||||
failure: memory exhausted?"</I><BR>
|
|
||||||
<A href="#4.20">4.20</A>) How do I tell what PostgreSQL version I
|
|
||||||
am running? <BR>
|
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>
|
<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>
|
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>
|
<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>
|
<CENTER>
|
||||||
@ -145,14 +143,11 @@
|
|||||||
</CENTER>
|
</CENTER>
|
||||||
<A href="#5.1">5.1</A>) I wrote a user-defined function. When I run
|
<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>
|
it in <I>psql,</I> why does it dump core?<BR>
|
||||||
<A href="#5.2">5.2</A>) What does the message
|
<A href="#5.2">5.2</A>) How can I contribute some nifty new types
|
||||||
<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
|
|
||||||
and functions to PostgreSQL?<BR>
|
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>
|
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>
|
recompile not see the change?<BR>
|
||||||
|
|
||||||
<HR>
|
<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=
|
<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>
|
"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:
|
<H4><A name="4.19">4.19</A>) How do I tell what PostgreSQL version
|
||||||
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
|
|
||||||
I am running?<BR>
|
I am running?<BR>
|
||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
<P>From <I>psql,</I> type <CODE>select version();</CODE></P>
|
<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>
|
<I>invalid large obj descriptor.</I> Why?<BR>
|
||||||
</H4>
|
</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
|
<P>If you are using a client interface like <SMALL>ODBC</SMALL> you
|
||||||
may need to set <CODE>auto-commit off.</CODE></P>
|
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>
|
default to the current time?<BR>
|
||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
@ -1189,7 +1165,7 @@ BYTEA bytea variable-length byte array (null-safe)
|
|||||||
</CODE>
|
</CODE>
|
||||||
</PRE>
|
</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>
|
<CODE><SMALL>IN</SMALL></CODE> so slow?<BR>
|
||||||
</H4>
|
</H4>
|
||||||
|
|
||||||
@ -1212,7 +1188,7 @@ BYTEA bytea variable-length byte array (null-safe)
|
|||||||
</PRE>
|
</PRE>
|
||||||
We hope to fix this limitation in a future release.
|
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>
|
</H4>
|
||||||
|
|
||||||
<P>PostgreSQL 7.1 and later supports outer joins using the SQL
|
<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
|
<P>The problem could be a number of things. Try testing your
|
||||||
user-defined function in a stand-alone test program first.</P>
|
user-defined function in a stand-alone test program first.</P>
|
||||||
|
|
||||||
<H4><A name="5.2">5.2</A>) What does the message
|
<H4><A name="5.2">5.2</A>) How can I contribute some nifty new
|
||||||
<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
|
|
||||||
types and functions to PostgreSQL?</H4>
|
types and functions to PostgreSQL?</H4>
|
||||||
|
|
||||||
<P>Send your extensions to the <I>pgsql-hackers</I> mailing list,
|
<P>Send your extensions to the <I>pgsql-hackers</I> mailing list,
|
||||||
and they will eventually end up in the <I>contrib/</I>
|
and they will eventually end up in the <I>contrib/</I>
|
||||||
subdirectory.</P>
|
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>
|
tuple?</H4>
|
||||||
|
|
||||||
<P>This requires wizardry so extreme that the authors have never
|
<P>This requires wizardry so extreme that the authors have never
|
||||||
tried it, though in principle it can be done.</P>
|
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>
|
the recompile not see the change?</H4>
|
||||||
|
|
||||||
<P>The <I>Makefiles</I> do not have the proper dependencies for
|
<P>The <I>Makefiles</I> do not have the proper dependencies for
|
||||||
|
Reference in New Issue
Block a user