Commit 3f540711 authored by Bruce Momjian's avatar Bruce Momjian

Update Russian FAQ.

Victor Vislobokov
parent 6bc4e361
Otvety na chasto zadavaemye voprosy po PostgreSQL Otvety na chasto zadavaemye voprosy po PostgreSQL
Data poslednego obnovleniya: Ponedel'nik 30 maya 09:11:03 EDT 2005 Data poslednego obnovleniya: Pyatnica 16 sentyabrya 14:07:22 EDT 2005
Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian) Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian)
(pgman@candle.pha.pa.us) (pgman@candle.pha.pa.us)
Pereviol na russkij: Viktor Vislobokov (corochoone@perm.ru) Pereviol na russkij: Viktor Vislobokov (admin@linuxshare.ru)
Samuyu svezhuyu anglijskuyu versiyu dokumenta mozhno najti na Samuyu svezhuyu anglijskuyu versiyu dokumenta mozhno najti na
http://www.PostgreSQL.org/files/documentation/faqs/FAQ.html. http://www.PostgreSQL.org/files/documentation/faqs/FAQ.html.
...@@ -94,6 +94,8 @@ ...@@ -94,6 +94,8 @@
suschestvuet", kogda obraschayuts' k vremennym tablicam v funkciyah suschestvuet", kogda obraschayuts' k vremennym tablicam v funkciyah
PL/PgSQL? PL/PgSQL?
4.20) Kakie est' resheniya dlya replikacii? 4.20) Kakie est' resheniya dlya replikacii?
4.21) Pochemu imena tablicy i kolonok ne raspoznayutsya v v moiom
zaprose?
_________________________________________________________________ _________________________________________________________________
Obschie voprosy Obschie voprosy
...@@ -101,7 +103,8 @@ ...@@ -101,7 +103,8 @@
1.1) CHto takoe PostgreSQL? Kak proiznositsya `eto nazvanie? 1.1) CHto takoe PostgreSQL? Kak proiznositsya `eto nazvanie?
PostgreSQL proiznositsya Post-Gres-Q-L (Post-Gres-K'yu-`El), takzhe PostgreSQL proiznositsya Post-Gres-Q-L (Post-Gres-K'yu-`El), takzhe
chasto govoryat prosto Postgres. inogda govoryat prosto Postgres. Vy mozhete uslyshat' kak `eto
proiznositsya s pomosch'yu audiofajla, kotoryj dostupen v formate MP3.
PostgreSQL - `eto ob"ektno-relyacionnaya sistema upravleniya bazami PostgreSQL - `eto ob"ektno-relyacionnaya sistema upravleniya bazami
dannyh (SUBD), kotoraya imeet tradicionnye vozmozhnosti kommercheskih dannyh (SUBD), kotoraya imeet tradicionnye vozmozhnosti kommercheskih
...@@ -205,7 +208,7 @@ ...@@ -205,7 +208,7 @@
1.7) Kakaya poslednyaya versiya? 1.7) Kakaya poslednyaya versiya?
Poslednij vypusk PostgreSQL - `eto versiya 8.0.2 Poslednij vypusk PostgreSQL - `eto versiya 8.0.3
My planiruem vypuskat' novye starshie versii kazhdyj god, a mladshie My planiruem vypuskat' novye starshie versii kazhdyj god, a mladshie
versii kazhdye neskol'ko mesyacev. versii kazhdye neskol'ko mesyacev.
...@@ -535,6 +538,13 @@ ...@@ -535,6 +538,13 @@
byt' uvelicheny v chetyre raza, esli razmer bloka po umolchaniyu budet byt' uvelicheny v chetyre raza, esli razmer bloka po umolchaniyu budet
uvelichen do 32k. uvelichen do 32k.
Suschestvuet ogranichenie, po kotoromu indeksy ne mogut sozdavat'sya
dlya kolonok dlinnee chem 2,000 simvolov. K schast'yu takie indeksy
vryad li dejstvitel'no komu-to nuzhny. Unikal'nost' garantiruetsya
nailuchim obrazom, s pomosch'yu funkcional'nogo indeksa iz h`esha MD5
dlinnoj kolonki, a polnotekstovoe indeksirovanie pozvolyaet iskat'
slova vnutri kolonki.
4.5) Kak mnogo diskovogo prostranstva v baze dannyh nuzhno dlya sohraneniya 4.5) Kak mnogo diskovogo prostranstva v baze dannyh nuzhno dlya sohraneniya
dannyh iz obychnogo tekstovogo fajla? dannyh iz obychnogo tekstovogo fajla?
...@@ -546,23 +556,23 @@ ...@@ -546,23 +556,23 @@
srednem, sostavlyaet 20 bajt. Razmer prostogo fajla sostavit 2.8 MB. srednem, sostavlyaet 20 bajt. Razmer prostogo fajla sostavit 2.8 MB.
Razmer bazy PostgreSQL, soderzhaschej `eti zhe dannye sostavit Razmer bazy PostgreSQL, soderzhaschej `eti zhe dannye sostavit
priblizitel'no 6.4 MB iz kotoryh: priblizitel'no 6.4 MB iz kotoryh:
32 bajt: na kazhdyj zagolovok stroki v tablice (priblizitel'no) 28 bajt: na kazhdyj zagolovok stroki v tablice (priblizitel'no)
+ 24 bajta: odno pole s celochislennym tipom i odno tekstovoe pole + 24 bajta: odno pole s celochislennym tipom i odno tekstovoe pole
+ 4 bajta: ukazatel' na stranice dlya vsej tablichnoj stroki + 4 bajta: ukazatel' na stranice dlya vsej tablichnoj stroki
---------------------------------------- ----------------------------------------
60 bajt na stroku v tablice 56 bajt na stroku v tablice
Razmer stranicy dannyh v PostgreSQL sostavlyaet 8192 bajt (8 KB), tak chto: Razmer stranicy dannyh v PostgreSQL sostavlyaet 8192 bajt (8 KB), tak chto:
8192 bajt na stranicu 8192 bajt na stranicu
--------------------- = 136 strok v tablice na stranicu BD (okruglionno) --------------------- = 146 strok v tablice na stranicu BD (okruglionno)
60 bajt na stroku v tablice 56 bajt na stroku v tablice
100000 strok dannyh 100000 strok dannyh
----------------------- = 735 stranic v BD (okruglionno) ----------------------- = 685 stranic v BD (okruglionno)
128 strok v tablice na stranicu 146 strok v tablice na stranicu
735 stranic BD * 8192 bajt na stranicu = 6,021,120 bajt (6 MB) 685 stranic BD * 8192 bajt na stranicu = 5,611,520 bajt (5.6 MB)
Indeksy ne trebuyut tak mnogo, no poskol'ku oni sozdayutsya dlya Indeksy ne trebuyut tak mnogo, no poskol'ku oni sozdayutsya dlya
bol'shogo kolichestva dannyh, oni takzhe mogut byt' veliki. bol'shogo kolichestva dannyh, oni takzhe mogut byt' veliki.
...@@ -650,6 +660,13 @@ ...@@ -650,6 +660,13 @@
esli vy sozdadite indeks vyrazheniya, on budet ispol'zovan: esli vy sozdadite indeks vyrazheniya, on budet ispol'zovan:
CREATE INDEX tabindex ON tab (lower(col)); CREATE INDEX tabindex ON tab (lower(col));
Esli vysheukazannyj indeks sozdaiotsya kak UNIQUE, to kolonka, dlya
kotoroj on sozdaiotsya mozhet hranit' simvoly i v verhnem, i v nizhnem
registre, indes ne mozhet imet' identichnyh znachenij, kotorye
otlichayutsya tol'ko registrom. CHtoby v kolonke mozhno bylo hranit'
simvoly tol'ko v opredelionnom registre, ispol'zujte ogranichenie
CHECK ili proverku cherez trigger.
4.9) Kak mne opredelit', chto znachenie polya ravno NULL v kakom-libo 4.9) Kak mne opredelit', chto znachenie polya ravno NULL v kakom-libo
zaprose? Mogu ya otsortirovat' polya NULL ili net? zaprose? Mogu ya otsortirovat' polya NULL ili net?
...@@ -869,3 +886,18 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ...@@ -869,3 +886,18 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
neobhodima sinhronizaciya izmenenij mezhdu neskol'kimi serverami. neobhodima sinhronizaciya izmenenij mezhdu neskol'kimi serverami.
Naibolee populyarnym resheniem dlya takoj replikacii v PostgreSQL Naibolee populyarnym resheniem dlya takoj replikacii v PostgreSQL
yavlyaetsya Pgcluster. yavlyaetsya Pgcluster.
4.21) Pochemu imena tablicy i kolonok ne raspoznayutsya v v moiom zaprose?
Naibolee chasto `eto proishodit iz-za ispol'zovaniya dvojnyh kavychek
v imeni tablicy ili kolonki pri sozdanii tablicy. Pri ispol'zovanii
dvojnyh kavychek, imya tablicy i kolonki (kotorye nazyvayut
identifikatorami) sohranyayutsya v registro-zavisimom vide; `eto
oznachaet, chto vy dolzhny ispol'zovat' dvojnye kavychki, kogda
ukazyvaete `eti imena v zaprose. Nekotorye interfejsy, takie kak
pgAdmin, vo vremya sozdaniya tablicy dobavlyayut dvojnye kavychki
avtomaticheski. Takim obrazom, chtoby identifikatory raspoznavalis' vy
dolzhny sledovat' odnomu iz sleduyuschih pravil:
* Izbegat' ispol'zovaniya dvojnyh kavychek pri sozdanii tablic
* Ispol'zovat' v identifikatorah tol'ko simvoly nizhnego registra
* Ispol'zovat' dvojnye kavychki dlya identifikatorov v zaprosah
...@@ -12,13 +12,13 @@ ...@@ -12,13 +12,13 @@
<BODY bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000" alink="#0000ff"> <BODY bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000" alink="#0000ff">
<H1> PostgreSQL</H1> <H1> PostgreSQL</H1>
<P> : 30 09:11:03 EDT 2005</P> <P> : 16 14:07:22 EDT 2005</P>
<P> : (Bruce Momjian) (<A href= <P> : (Bruce Momjian) (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR> "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
</P> </P>
<P>ף : (<A href= <P>ף : (<A href=
"mailto:corochoone@perm.ru">corochoone@perm.ru</A>)<BR> "mailto:admin@linuxshare.ru">admin@linuxshare.ru</A>)<BR>
</P> </P>
<P> <P>
...@@ -117,6 +117,8 @@ ...@@ -117,6 +117,8 @@
<A href="#4.19">4.19</A>) "relation with OID #### <A href="#4.19">4.19</A>) "relation with OID ####
", PL/PgSQL?<BR> ", PL/PgSQL?<BR>
<A href="#4.20">4.20</A>) ?<BR> <A href="#4.20">4.20</A>) ?<BR>
<A href="#4.21">4.21</A>)
ϣ ?<BR>
<HR> <HR>
...@@ -125,7 +127,10 @@ ...@@ -125,7 +127,10 @@
<H3><A name="1.1">1.1</A>) PostgreSQL? ?</H3> <H3><A name="1.1">1.1</A>) PostgreSQL? ?</H3>
<P>PostgreSQL <I>Post-Gres-Q-L (---)</I>, <P>PostgreSQL <I>Post-Gres-Q-L (---)</I>,
<I>Postgres</I>.</P> <I>Postgres</I>.
,
<A href="http://www.postgresql.org/files/postgresql.mp3"> MP3</A>.
</P>
<P>PostgreSQL - - <P>PostgreSQL - -
(), (),
...@@ -240,7 +245,7 @@ ...@@ -240,7 +245,7 @@
<H3><A name="1.7">1.7</A>) ?</H3> <H3><A name="1.7">1.7</A>) ?</H3>
<P> PostgreSQL - 8.0.2</P> <P> PostgreSQL - 8.0.3</P>
<P> , <P> ,
.</P> .</P>
...@@ -651,6 +656,12 @@ ...@@ -651,6 +656,12 @@
<P> <P>
, ,
32k.</P> 32k.</P>
<P> ,
2,000 .
- . ,
MD5 ,
.</P>
<H3><A name="4.5">4.5</A>) <H3><A name="4.5">4.5</A>)
?</H3> ?</H3>
...@@ -664,23 +675,23 @@ ...@@ -664,23 +675,23 @@
PostgreSQL, PostgreSQL,
6.4 MB :</P> 6.4 MB :</P>
<PRE> <PRE>
32 : () 28 : ()
+ 24 : + 24 :
+ 4 : + 4 :
---------------------------------------- ----------------------------------------
60 56
PostgreSQL 8192 (8 KB), : PostgreSQL 8192 (8 KB), :
8192 8192
--------------------- = 136 (̣) --------------------- = 146 (̣)
60 56
100000 100000
----------------------- = 735 (̣) ----------------------- = 685 (̣)
128 146
735 * 8192 = 6,021,120 (6 MB) 685 * 8192 = 5,611,520 (5.6 MB)
</PRE> </PRE>
<P> , <P> ,
...@@ -781,6 +792,12 @@ ...@@ -781,6 +792,12 @@
<PRE> <PRE>
CREATE INDEX tabindex ON tab (lower(col)); CREATE INDEX tabindex ON tab (lower(col));
</PRE> </PRE>
<P> <SMALL>UNIQUE</SMALL>,
, ,
, ,
.
̣ ,
<SMALL>CHECK</SMALL> .</P>
<H3><A name="4.9">4.9</A>) , <H3><A name="4.9">4.9</A>) ,
<SMALL>NULL</SMALL> - ? <SMALL>NULL</SMALL> - ?
...@@ -1071,5 +1088,23 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ...@@ -1071,5 +1088,23 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
PostgreSQL PostgreSQL
<A href="http://pgfoundry.org/projects/pgcluster/">Pgcluster</A>. <A href="http://pgfoundry.org/projects/pgcluster/">Pgcluster</A>.
<H3><A name="4.21">4.21</A>)
ϣ ?</H3>
<P> -
.
, ( )
<A href="http://www.postgresql.org/docs/8.0/static/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS">
- </A>; ,
, .
, pgAdmin,
. ,
:
<UL>
<LI> </LI>
<LI> </LI>
<LI> </LI>
</UL>
</BODY> </BODY>
</HTML> </HTML>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment