Frequently Asked Questions (FAQ) for PostgreSQL
- Last updated: Tue Dec 17 23:56:27 EST 2002
+ Last updated: Fri Feb 14 09:03:00 EST 2003
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
The most recent version of this document can be viewed at
- http://www.PostgreSQL.org/docs/faq-english.html.
+ http://www.ca.PostgreSQL.org/docs/faq-english.html.
Platform-specific questions are answered at
- http://www.PostgreSQL.org/users-lounge/docs/faq.html.
+ http://www.ca.PostgreSQL.org/users-lounge/docs/faq.html.
_________________________________________________________________
General Questions
Unix command irc -c '#PostgreSQL' "$USER" irc.phoenix.net.
A list of commercial support companies is available at
- http://www.PostgreSQL.org/users-lounge/commercial-support.html.
+ http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html.
1.7) What is the latest release?
- The latest release of PostgreSQL is version 7.3.1.
+ The latest release of PostgreSQL is version 7.3.2.
We plan to have major releases every four months.
Several manuals, manual pages, and some small test examples are
included in the distribution. See the /doc directory. You can also
browse the manual online at
- http://www.PostgreSQL.org/users-lounge/docs/.
+ http://www.ca.PostgreSQL.org/users-lounge/docs/.
There are two PostgreSQL books available online at
http://www.PostgreSQL.org/docs/awbook.html and
that PostgreSQL has a limit on the number of allowed backend processes
is so your system won't run out of resources.
- In PostgreSQL versions prior to 6.5, the maximum number of backends
- was 64, and changing it required a rebuild after altering the
- MaxBackendId constant in include/storage/sinvaladt.h.
-
3.9) What is in the pgsql_tmp directory?
This directory contains temporary files generated by the query
ORDER BY col [ DESC ]
LIMIT 1;
+ If you believe the optimizer is incorrect in choosing a sequential
+ scan, use SET enable_seqscan TO 'off' and run tests to see if an index
+ scan is indeed faster.
+
When using wild-card operators such as LIKE or ~, indexes can only be
used in certain circumstances:
* The beginning of the search string must be anchored to the start
Type Internal Name Notes
--------------------------------------------------
-"char" char 1 character
-CHAR(n) bpchar blank padded to the specified fixed length
VARCHAR(n) varchar size specifies maximum length, no padding
+CHAR(n) bpchar blank padded to the specified fixed length
TEXT text no specific upper limit on length
+"char" char one character
BYTEA bytea variable-length byte array (null-byte safe)
You will see the internal name when examining system catalogs and in
space used is slightly greater than the declared size. However, these
data types are also subject to compression or being stored out-of-line
by TOAST, so the space on disk might also be less than expected.
-
- CHAR(n) is best when storing strings that are usually the same length.
- VARCHAR(n) is best when storing variable-length strings but it limits
+ VARCHAR(n) is best when storing variable-length strings and it limits
how long a string can be. TEXT is for strings of unlimited length,
- maximum 1 gigabyte. BYTEA is for storing binary data, particularly
- values that include NULL bytes. These types have similar performance
- characteristics.
+ with a maximum of one gigabyte.
+
+ CHAR(n) is for storing strings that are all the same length. CHAR(n)
+ pads with blanks to the specified length, while VARCHAR(n) only stores
+ the characters supplied. BYTEA is for storing binary data,
+ particularly values that include NULL bytes. These types have similar
+ performance characteristics.
4.15.1) How do I create a serial/auto-incrementing field?
FROM tab
WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
- For this to be fast, subcol should be an indexed column. We hope to
- fix this limitation in a future release.
+ For this to be fast, subcol should be an indexed column. This
+ preformance problem will be fixed in 7.4.
4.23) How do I perform an outer join?
From: Zeugswetter Andreas <ZeugswetterA@spardat.at>
-$Date: 2002/12/18 20:39:31 $
+$Date: 2003/02/14 14:05:51 $
On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc
(vac.C 5.0.1) passes all regression tests. Other versions of OS and
Developer's Frequently Asked Questions (FAQ) for PostgreSQL
- Last updated: Tue Nov 5 16:52:46 EST 2002
+ Last updated: Fri Feb 14 08:59:10 EST 2003
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
return the i'th element in list.
lconsi, ...
- There are integer versions of these: lconsi, lappendi, nthi.
- List's containing integers instead of Node pointers are used to
- hold list of relation object id's and other integer quantities.
+ There are integer versions of these: lconsi, lappendi, etc.
+ Also versions for OID lists: lconso, lappendo, etc.
You can print nodes easily inside gdb. First, to disable output
truncation when you use the gdb print command:
HP-UX Specific
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
=======================================================
-last updated: $Date: 2002/12/18 20:39:31 $
+last updated: $Date: 2003/02/14 14:05:51 $
current maintainer: Tom Lane (tgl@sss.pgh.pa.us)
original author: Tom Lane (tgl@sss.pgh.pa.us)
IRIX Specific
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
=======================================================
-last updated: $Date: 2002/12/18 20:39:31 $
+last updated: $Date: 2003/02/14 14:05:52 $
current maintainer: Luis Amigo (lamigo@atc.unican.es)
original author: Luis Amigo (lamigo@atc.unican.es)
How to install PostgreSQL on Windows
====================================
-$Date: 2002/12/18 20:39:31 $
+$Date: 2003/02/14 14:05:52 $
1. Install the latest Cygwin package, available at http://cygwin.com/.
The Cygwin package provides a UNIX-like API on top of the Win32
SCO UnixWare and OpenServer specific
to be read in conjunction with the installation instructions
============================================================
-last updated: $Date: 2002/12/18 20:39:31 $
+last updated: $Date: 2003/02/14 14:05:52 $
current maintainer: Billy G. Allie (Bill.Allie@mug.org)
original author: Andrew Merrill (andrew@compclass.com)
Sun Solaris specific
to be read in conjunction with the installation instructions
============================================================
-last updated: $Date: 2002/12/18 20:39:31 $
+last updated: $Date: 2003/02/14 14:05:52 $
current maintainer: Peter Eisentraut <peter_e@gmx.net>
Otvety na chasto zadavaemye voprosy po PostgreSQL
- Data poslednego obnovleniya: CHetverg 5 Dekabrya 00:47:26 EDT 2002
+ Data poslednego obnovleniya: CHetverg 13 Fevralya 23:07:35 EDT 2002
Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian)
(pgman@candle.pha.pa.us)
1.7) Kakaya poslednyaya versiya?
- Poslednij vypusk PostgreSQL - `eto versiya 7.2.3.
+ Poslednij vypusk PostgreSQL - `eto versiya 7.3.1.
My planiruem vypuskat' novye versii kazhdye chetyre mesyaca.
2.3) Est' li u PostgreSQL graficheskij interfejs pol'zovatelya?
Da, suschestvuet neskol'ko graficheskih interfejsov dlya PostgreSQL.
- `Eto PgAccess (http://www.pgaccess.com, PgAdmin II
+ `Eto PgAccess (http://www.pgaccess.org, PgAdmin II
(http://www.pgadmin.org, Win32-only), RHDB Admin (
http://sources.redhat.com/rhdb/) i Rekall (
http://www.thekompany.com/products/rekall/, kommercheskij). Takzhe
est' PHPPgAdmin ( http://phppgadmin.sourceforge.net/) - interfejs k
PostgreSQL, osnovannyj na Web.
- U nas est' prekrasnyj goraficheskij interfejs, nazyvaemyj PgAccess,
- kotoryj takzhe mozhno ispol'zovat' kak generator otchetov. Ego
- stranichka http://www.pgaccess.org/
-
2.4) Kakie yazyki mogut vzaimodejstvovat' s PostgreSQL?
Kakie-libo interfejsy dlya PostgreSQL suschestvuyut dlya bol'shinstva
sozdaniya ogranicheniya na kolichestvo backend processov kak raz i
sostoit v tom, chtoby vashej sisteme hvatilo resursov.
- V PostgreSQL do versii 6.5, maksimal'noe kolichestvo backend processov
- bylo 64, i izmenenie `etogo kolichestva trebovalo perekompilyacii
- posle ustanovki konstanty MaxBackendId v include/storage/sinvaladt.h.
-
3.9) CHto nahoditsya v kataloge pgsql_tmp?
Dannyj katalog soderzhit vremennye fajly, generiruemye obrabotchikom
ORDER BY col [ DESC ]
LIMIT 1;
+ Esli vam kazhetsya, chto optimizator nekorretno vybiraet
+ posledovatel'nyj perebor, ispol'zujte SET enable_seqscan TO 'off' i
+ zapustite testy, chtoby uvidet', ne stalo-li skanirovanie indeksov
+ bystree.
+
Kogda ispol'zuyutsya operacii s shablonami, naprimer LIKE ili ~,
indeksy mogut byt' ispol'zovany v sleduyuschih sluchayah:
* Nachalo stroki poiska dolzhno sovpadat' s nachalom iskomoj stroki,
Tip Vnutrennee imya Zamechaniya
--------------------------------------------------
-"char" char 1 simvol
-CHAR(n) bpchar zapolnyaetsya pustotoj do fiksirovannoj dliny
VARCHAR(n) varchar razmer zadaet maksimal'nuyu dlinu, net zapolnen
iya
+CHAR(n) bpchar zapolnyaetsya pustotoj do fiksirovannoj dliny
TEXT text net zadavaemogo verhnego ogranicheniya ili dlin
y
+"char" char odin simvol
BYTEA bytea massiv bajt peremennoj dliny (mozhno ispol'zova
t' null-bajt bez opaski)
szhatiyu ili mogut byt' sohraneny ne v strokom vide cherez TOAST, tak
chto zanimaemoe diskovoe prostranstvo mozhet takzhe byt' i men'she,
chem ozhidalos'.
+ VARCHAR(n) - `eto luchshee reshenie, kogda nuzhno hranit' stroki
+ peremennoj dliny, ne prevyshayuschie opredelennogo razmera. TEXT -
+ `eto luchshee reshenie dlya strok neogranichennoj dliny, s maksimal'no
+ dopustimoj dlinoj v 1 gigabajt.
CHAR(n) - `eto luchshee reshenie dlya hraneniya strok, kotorye obychno
- imeyut odinakovuyu dlinu. VARCHAR(n) - `eto luchshee reshenie, kogda
- nuzhno hranit' stroki peremennoj dliny, no ne prevyshayuschie
- opredelennogo razmera. TEXT - `eto luchshee reshenie dlya strok
- neogranichennoj dliny, s maksimal'no dopustimoj dlinoj v 1 gigabajt.
- BYTEA dlya hraneniya binarnyh dannyh, znacheniya kotoryh mogut
- vklyuchat' NULL bajty. `Eti tipy imeyut shodnye harakteristiki
- proizvoditel'nosti.
+ imeyut odinakovuyu dlinu. CHAR(n) zapolnyaetsya pustotoj do zadannoj
+ dliny, v to vremya kak VARCHAR(n) hranit tol'ko simvoly, iz kotoryh
+ sostoit stroka. BYTEA ispol'zuetsya dlya hraneniya binarnyh dannyh,
+ znacheniya kotoryh mogut vklyuchat' NULL bajty. `Eti tipy imeyut
+ shodnye harakteristiki proizvoditel'nosti.
4.15.1) Kak mne sozdat' pole serial/s-avto-uvelicheniem?
WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
CHtoby takaya konstrukciya rabotala bystro, kolonka subcol dolzhna
- byt' proindeksirovana. My nadeemsya ubrat' `eto ogranichenie v
- buduschem vypuske.
+ byt' proindeksirovana. `Eta problema proizvoditel'nosti budet
+ ustranena v versii 7.4.
4.23) Kak mne vypolnit' vneshnee svyazyvanie?
alink="#0000ff">
<H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
- <P>Last updated: Thu Dec 5 00:47:26 EST 2002</P>
+ <P>Last updated: Fri Feb 14 09:03:00 EST 2003</P>
<P>Current maintainer: Bruce Momjian (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
<P>The most recent version of this document can be viewed at <A
href=
- "http://www.PostgreSQL.org/docs/faq-english.html">http://www.PostgreSQL.org/docs/faq-english.html</A>.</P>
+ "http://www.ca.PostgreSQL.org/docs/faq-english.html">http://www.ca.PostgreSQL.org/docs/faq-english.html</A>.</P>
<P>Platform-specific questions are answered at <A href=
- "http://www.PostgreSQL.org/users-lounge/docs/faq.html">http://www.PostgreSQL.org/users-lounge/docs/faq.html</A>.</P>
+ "http://www.ca.PostgreSQL.org/users-lounge/docs/faq.html">http://www.ca.PostgreSQL.org/users-lounge/docs/faq.html</A>.</P>
<HR>
<H2 align="center">General Questions</H2>
'#PostgreSQL' "$USER" irc.phoenix.net.</CODE></P>
<P>A list of commercial support companies is available at <A href=
- "http://www.PostgreSQL.org/users-lounge/commercial-support.html">http://www.PostgreSQL.org/users-lounge/commercial-support.html</A>.</P>
+ "http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html">http://www.ca.PostgreSQL.org/users-lounge/commercial-support.html</A>.</P>
<H4><A name="1.7">1.7</A>) What is the latest release?</H4>
- <P>The latest release of PostgreSQL is version 7.2.3.</P>
+ <P>The latest release of PostgreSQL is version 7.3.2.</P>
<P>We plan to have major releases every four months.</P>
<P>Several manuals, manual pages, and some small test examples are
included in the distribution. See the <I>/doc</I> directory. You
can also browse the manual online at <A href=
- "http://www.PostgreSQL.org/users-lounge/docs/">http://www.PostgreSQL.org/users-lounge/docs/</A>.</P>
+ "http://www.ca.PostgreSQL.org/users-lounge/docs/">http://www.ca.PostgreSQL.org/users-lounge/docs/</A>.</P>
<P>There are two PostgreSQL books available online at <A href=
"http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</A>
interface?</H4>
Yes, there are several graphical interfaces to PostgreSQL available.
- These include PgAccess <a href="http://www.pgaccess.com">
- http://www.pgaccess.com</a>), PgAdmin II (<a
+ These include PgAccess <a href="http://www.pgaccess.org">
+ http://www.pgaccess.org</a>), PgAdmin II (<a
href="http://www.pgadmin.org">http://www.pgadmin.org</a>,
Win32-only), RHDB Admin (<a
href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/
http://phppgadmin.sourceforge.net/ </a>), a web-based interface to
PostgreSQL.
- <P>We have a nice graphical user interface called PgAccess which can
- also be used as a report generator. The Web page is
- <A href="http://www.pgaccess.org/">http://www.pgaccess.org/</A>.</P>
-
<H4><A name="2.4">2.4</A>) What languages are able to communicate with
PostgreSQL?</H4>
the number of allowed backend processes is so your system won't run
out of resources.</P>
- <P>In PostgreSQL versions prior to 6.5, the maximum number of
- backends was 64, and changing it required a rebuild after altering
- the MaxBackendId constant in
- <I>include/storage/sinvaladt.h</I>.</P>
-
<H4><A name="3.9">3.9</A>) What is in the <I>pgsql_tmp</I> directory?</H4>
<P>This directory contains temporary files generated by the query
LIMIT 1;
</PRE>
+ <P>If you believe the optimizer is incorrect in choosing a
+ sequential scan, use <CODE>SET enable_seqscan TO 'off'</CODE> and
+ run tests to see if an index scan is indeed faster.</P>
+
<P>When using wild-card operators such as <SMALL>LIKE</SMALL> or
<I>~</I>, indexes can only be used in certain circumstances:</P>
<UL>
<PRE>
Type Internal Name Notes
--------------------------------------------------
-"char" char 1 character
-CHAR(n) bpchar blank padded to the specified fixed length
VARCHAR(n) varchar size specifies maximum length, no padding
+CHAR(n) bpchar blank padded to the specified fixed length
TEXT text no specific upper limit on length
+"char" char one character
BYTEA bytea variable-length byte array (null-byte safe)
</PRE>
stored out-of-line by <SMALL>TOAST</SMALL>, so the space on disk
might also be less than expected.</P>
- <P><SMALL>CHAR(n)</SMALL> is best when storing strings that are
- usually the same length. <SMALL>VARCHAR(n)</SMALL> is best when
- storing variable-length strings but it limits how long a string can
- be. <SMALL>TEXT</SMALL> is for strings of unlimited length, maximum
- 1 gigabyte. <SMALL>BYTEA</SMALL> is for storing binary data,
+ <SMALL>VARCHAR(n)</SMALL> is best when storing variable-length
+ strings and it limits how long a string can be. <SMALL>TEXT</SMALL>
+ is for strings of unlimited length, with a maximum of one gigabyte.
+ <P><SMALL>CHAR(n)</SMALL> is for storing strings that are all the
+ same length. <SMALL>CHAR(n)</SMALL> pads with blanks to the specified
+ length, while <SMALL>VARCHAR(n)</SMALL> only stores the characters
+ supplied. <SMALL>BYTEA</SMALL> is for storing binary data,
particularly values that include <SMALL>NULL</SMALL> bytes. These
types have similar performance characteristics.</P>
</PRE>
For this to be fast, <CODE>subcol</CODE> should be an indexed column.
- We hope to fix this limitation in a future release.
+ This preformance problem will be fixed in 7.4.
<H4><A name="4.23">4.23</A>) How do I perform an outer join?</H4>
<H1>Developer's Frequently Asked Questions (FAQ) for
PostgreSQL</H1>
- <P>Last updated: Tue Nov 5 16:52:46 EST 2002</P>
+ <P>Last updated: Fri Feb 14 08:59:10 EST 2003</P>
<P>Current maintainer: Bruce Momjian (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
<DT>lconsi, ...</DT>
- <DD>There are integer versions of these: <I>lconsi, lappendi,
- nthi.</I> <I>List's</I> containing integers instead of Node
- pointers are used to hold list of relation object id's and
- other integer quantities.</DD>
+ <DD>There are integer versions of these: <I>lconsi, lappendi</I>,
+ etc. Also versions for OID lists: <I>lconso, lappendo</I>, etc.</DD>
</DL>
</BLOCKQUOTE>
You can print nodes easily inside <I>gdb.</I> First, to disable
alink="#0000ff">
<H1>ïÔ×ÅÔÙ ÎÁ ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ ×ÏÐÒÏÓÙ ÐÏ PostgreSQL</H1>
- <P>äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: þÅÔ×ÅÒÇ 5 äÅËÁÂÒÑ 00:47:26 EDT 2002</P>
+ <P>äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: þÅÔ×ÅÒÇ 13 æÅ×ÒÁÌÑ 23:07:35 EDT 2002</P>
<P>áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑÎ (Bruce Momjian) (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
<H4><A name="1.7">1.7</A>) ëÁËÁÑ ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ?</H4>
- <P>ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 7.2.3.</P>
+ <P>ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 7.3.1.</P>
<P>íÙ ÐÌÁÎÉÒÕÅÍ ×ÙÐÕÓËÁÔØ ÎÏ×ÙÅ ×ÅÒÓÉÉ ËÁÖÄÙÅ ÞÅÔÙÒÅ ÍÅÓÑÃÁ.</P>
ÐÏÌØÚÏ×ÁÔÅÌÑ?</H4>
<P>äÁ, ÓÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÇÒÁÆÉÞÅÓËÉÈ ÉÎÔÅÒÆÅÊÓÏ× ÄÌÑ PostgreSQL.
- üÔÏ PgAccess (<A href="http://www.pgaccess.com/">http://www.pgaccess.com</A>,
+ üÔÏ PgAccess (<A href="http://www.pgaccess.org/">http://www.pgaccess.org</A>,
PgAdmin II (<A href="http://www.pgadmin.org/">http://www.pgadmin.org</A>,
Win32-only), RHDB Admin (<A href="http://sources.redhat.com/rhdb/">
http://sources.redhat.com/rhdb/</A>) É Rekall
http://www.thekompany.com/products/rekall/</A>, ËÏÍÍÅÒÞÅÓËÉÊ). ôÁËÖÅ ÅÓÔØ
PHPPgAdmin (<A href="http://phppgadmin.sourceforge.net/">
http://phppgadmin.sourceforge.net/</A>) - ÉÎÔÅÒÆÅÊÓ Ë PostgreSQL, ÏÓÎÏ×ÁÎÎÙÊ
- ÎÁ Web.
-
- <P>õ ÎÁÓ ÅÓÔØ ÐÒÅËÒÁÓÎÙÊ ÇÏÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ, ÎÁÚÙ×ÁÅÍÙÊ
- PgAccess, ËÏÔÏÒÙÊ ÔÁËÖÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÁË ÇÅÎÅÒÁÔÏÒ ÏÔÞÅÔÏ×.
- åÇÏ ÓÔÒÁÎÉÞËÁ <A href="http://www.pgaccess.org">http://www.pgaccess.org/</A></P>
+ ÎÁ Web.</p>
<H4><A name="2.4">2.4</A>) ëÁËÉÅ ÑÚÙËÉ ÍÏÇÕÔ ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó PostgreSQL?</H4>
ðÒÉÞÉÎÁ ÓÏÚÄÁÎÉÑ ÏÇÒÁÎÉÞÅÎÉÑ ÎÁ ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ× ËÁË
ÒÁÚ É ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏÂÙ ×ÁÛÅÊ ÓÉÓÔÅÍÅ È×ÁÔÉÌÏ ÒÅÓÕÒÓÏ×.</P>
- <P>÷ PostgreSQL ÄÏ ×ÅÒÓÉÉ 6.5, ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ×
- ÂÙÌÏ 64, É ÉÚÍÅÎÅÎÉÅ ÜÔÏÇÏ ËÏÌÉÞÅÓÔ×Á ÔÒÅÂÏ×ÁÌÏ ÐÅÒÅËÏÍÐÉÌÑÃÉÉ ÐÏÓÌÅ
- ÕÓÔÁÎÏ×ËÉ ËÏÎÓÔÁÎÔÙ MaxBackendId × <I>include/storage/sinvaladt.h</I>.</P>
-
<H4><A name="3.9">3.9</A>) þÔÏ ÎÁÈÏÄÉÔÓÑ × ËÁÔÁÌÏÇÅ <I>pgsql_tmp</I>?</H4>
<P>äÁÎÎÙÊ ËÁÔÁÌÏÇ ÓÏÄÅÒÖÉÔ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ, ÇÅÎÅÒÉÒÕÅÍÙÅ ÏÂÒÁÂÏÔÞÉËÏÍ
LIMIT 1;
</pre>
+ <P>åÓÌÉ ×ÁÍ ËÁÖÅÔÓÑ, ÞÔÏ ÏÐÔÉÍÉÚÁÔÏÒ ÎÅËÏÒÒÅÔÎÏ ×ÙÂÉÒÁÅÔ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ
+ ÐÅÒÅÂÏÒ, ÉÓÐÏÌØÚÕÊÔÅ <CODE>SET enable_seqscan TO 'off'</CODE> É
+ ÚÁÐÕÓÔÉÔÅ ÔÅÓÔÙ, ÞÔÏÂÙ Õ×ÉÄÅÔØ, ÎÅ ÓÔÁÌÏ-ÌÉ ÓËÁÎÉÒÏ×ÁÎÉÅ ÉÎÄÅËÓÏ× ÂÙÓÔÒÅÅ.
+ </P>
+
<P>ëÏÇÄÁ ÉÓÐÏÌØÚÕÀÔÓÑ ÏÐÅÒÁÃÉÉ Ó ÛÁÂÌÏÎÁÍÉ, ÎÁÐÒÉÍÅÒ <SMALL>LIKE</SMALL>
ÉÌÉ <I>~</I>, ÉÎÄÅËÓÙ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ × ÓÌÅÄÕÀÝÉÈ ÓÌÕÞÁÑÈ:</P>
<UL>
<PRE>
ôÉÐ ÷ÎÕÔÒÅÎÎÅÅ ÉÍÑ úÁÍÅÞÁÎÉÑ
--------------------------------------------------
-"char" char 1 ÓÉÍ×ÏÌ
-CHAR(n) bpchar ÚÁÐÏÌÎÑÅÔÓÑ ÐÕÓÔÏÔÏÊ ÄÏ ÆÉËÓÉÒÏ×ÁÎÎÏÊ ÄÌÉÎÙ
VARCHAR(n) varchar ÒÁÚÍÅÒ ÚÁÄÁÅÔ ÍÁËÓÉÍÁÌØÎÕÀ ÄÌÉÎÕ, ÎÅÔ ÚÁÐÏÌÎÅÎÉÑ
+CHAR(n) bpchar ÚÁÐÏÌÎÑÅÔÓÑ ÐÕÓÔÏÔÏÊ ÄÏ ÆÉËÓÉÒÏ×ÁÎÎÏÊ ÄÌÉÎÙ
TEXT text ÎÅÔ ÚÁÄÁ×ÁÅÍÏÇÏ ×ÅÒÈÎÅÇÏ ÏÇÒÁÎÉÞÅÎÉÑ ÉÌÉ ÄÌÉÎÙ
+"char" char ÏÄÉÎ ÓÉÍ×ÏÌ
BYTEA bytea ÍÁÓÓÉ× ÂÁÊÔ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ (ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ null-ÂÁÊÔ ÂÅÚ ÏÐÁÓËÉ)
</PRE>
ÔÁË ÞÔÏ ÚÁÎÉÍÁÅÍÏÅ ÄÉÓËÏ×ÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÍÏÖÅÔ ÔÁËÖÅ ÂÙÔØ É ÍÅÎØÛÅ,
ÞÅÍ ÏÖÉÄÁÌÏÓØ.</P>
+ <SMALL>VARCHAR(n)</SMALL> - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ, ËÏÇÄÁ ÎÕÖÎÏ ÈÒÁÎÉÔØ
+ ÓÔÒÏËÉ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ, ÎÅ ÐÒÅ×ÙÛÁÀÝÉÅ ÏÐÒÅÄÅÌÅÎÎÏÇÏ ÒÁÚÍÅÒÁ.
+ <SMALL>TEXT</SMALL> - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ ÄÌÑ ÓÔÒÏË ÎÅÏÇÒÁÎÉÞÅÎÎÏÊ ÄÌÉÎÙ,
+ Ó ÍÁËÓÉÍÁÌØÎÏ ÄÏÐÕÓÔÉÍÏÊ ÄÌÉÎÏÊ × 1 ÇÉÇÁÂÁÊÔ.
<P><SMALL>CHAR(n)</SMALL> - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ ÄÌÑ ÈÒÁÎÅÎÉÑ ÓÔÒÏË, ËÏÔÏÒÙÅ
- ÏÂÙÞÎÏ ÉÍÅÀÔ ÏÄÉÎÁËÏ×ÕÀ ÄÌÉÎÕ. <SMALL>VARCHAR(n)</SMALL> - ÜÔÏ ÌÕÞÛÅÅ
- ÒÅÛÅÎÉÅ, ËÏÇÄÁ ÎÕÖÎÏ ÈÒÁÎÉÔØ ÓÔÒÏËÉ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ, ÎÏ ÎÅ ÐÒÅ×ÙÛÁÀÝÉÅ
- ÏÐÒÅÄÅÌÅÎÎÏÇÏ ÒÁÚÍÅÒÁ. <SMALL>TEXT</SMALL> - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ ÄÌÑ ÓÔÒÏË
- ÎÅÏÇÒÁÎÉÞÅÎÎÏÊ ÄÌÉÎÙ, Ó ÍÁËÓÉÍÁÌØÎÏ ÄÏÐÕÓÔÉÍÏÊ ÄÌÉÎÏÊ × 1 ÇÉÇÁÂÁÊÔ.
- <SMALL>BYTEA</SMALL> ÄÌÑ ÈÒÁÎÅÎÉÑ ÂÉÎÁÒÎÙÈ ÄÁÎÎÙÈ, ÚÎÁÞÅÎÉÑ ËÏÔÏÒÙÈ
- ÍÏÇÕÔ ×ËÌÀÞÁÔØ <SMALL>NULL</SMALL> ÂÁÊÔÙ. üÔÉ ÔÉÐÙ ÉÍÅÀÔ ÓÈÏÄÎÙÅ
+ ÏÂÙÞÎÏ ÉÍÅÀÔ ÏÄÉÎÁËÏ×ÕÀ ÄÌÉÎÕ. <SMALL>CHAR(n)</SMALL> ÚÁÐÏÌÎÑÅÔÓÑ
+ ÐÕÓÔÏÔÏÊ ÄÏ ÚÁÄÁÎÎÏÊ ÄÌÉÎÙ, × ÔÏ ×ÒÅÍÑ ËÁË <SMALL>VARCHAR(n)</SMALL>
+ ÈÒÁÎÉÔ ÔÏÌØËÏ ÓÉÍ×ÏÌÙ, ÉÚ ËÏÔÏÒÙÈ ÓÏÓÔÏÉÔ ÓÔÒÏËÁ.
+ <SMALL>BYTEA</SMALL> ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÈÒÁÎÅÎÉÑ ÂÉÎÁÒÎÙÈ ÄÁÎÎÙÈ, ÚÎÁÞÅÎÉÑ
+ ËÏÔÏÒÙÈ ÍÏÇÕÔ ×ËÌÀÞÁÔØ <SMALL>NULL</SMALL> ÂÁÊÔÙ. üÔÉ ÔÉÐÙ ÉÍÅÀÔ ÓÈÏÄÎÙÅ
ÈÁÒÁËÔÅÒÉÓÔÉËÉ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.</P>
<H4><A name="4.15.1">4.15.1</A>) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ÐÏÌÅ
</PRE>
þÔÏÂÙ ÔÁËÁÑ ËÏÎÓÔÒÕËÃÉÑ ÒÁÂÏÔÁÌÁ ÂÙÓÔÒÏ, ËÏÌÏÎËÁ <CODE>subcol</CODE>
- ÄÏÌÖÎÁ ÂÙÔØ ÐÒÏÉÎÄÅËÓÉÒÏ×ÁÎÁ.
- íÙ ÎÁÄÅÅÍÓÑ ÕÂÒÁÔØ ÜÔÏ ÏÇÒÁÎÉÞÅÎÉÅ × ÂÕÄÕÝÅÍ ×ÙÐÕÓËÅ.
+ ÄÏÌÖÎÁ ÂÙÔØ ÐÒÏÉÎÄÅËÓÉÒÏ×ÁÎÁ. üÔÁ ÐÒÏÂÌÅÍÁ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ ÂÕÄÅÔ
+ ÕÓÔÒÁÎÅÎÁ × ×ÅÒÓÉÉ 7.4.
<H4><A name="4.23">4.23</A>) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ?</H4>