]> granicus.if.org Git - postgresql/commitdiff
Update to Russian FAQ, HEAD and 8.0.X.
authorBruce Momjian <bruce@momjian.us>
Fri, 11 Feb 2005 04:53:51 +0000 (04:53 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 11 Feb 2005 04:53:51 +0000 (04:53 +0000)
doc/FAQ_russian
doc/src/FAQ/FAQ_russian.html

index e74ba789ce551e900d78f1bef32a0d3113365123..ffe6bff8a2f0593ea9c745d30b9f2801b6268de4 100644 (file)
@@ -1,7 +1,7 @@
 
                Otvety na chasto zadavaemye voprosy po PostgreSQL
                                        
-   Data poslednego obnovleniya: Sreda 15 dekabrya 20:06:34 EST 2004
+   Data poslednego obnovleniya: Sreda 2 fevralya 12:44:03 EST 2005
    
    Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian)
    (pgman@candle.pha.pa.us)
    Perevel na russkij: Viktor Vislobokov (corochoone@perm.ru)
    
    Samuyu svezhuyu anglijskuyu versiyu dokumenta mozhno najti na
-   http://www.PostgreSQL.org/docs/faqs/FAQ.html.
+   http://www.PostgreSQL.org/files/documentation/faqs/FAQ.html.
    
    Otvety na voprosy specifichnye dlya konkretnyh platform mozhno najti
-   na http://www.PostgreSQL.org/docs/index.html.
+   na http://www.PostgreSQL.org/docs/faq/.
      _________________________________________________________________
    
                               Obschie voprosy
                                       
    1.1) CHto takoe PostgreSQL? Kak proiznositsya `eto nazvanie?
    1.2) Kakovy avtorskie prava na PostgreSQL?
-   1.3) Na kakih Unix platformah rabotaet PostgreSQL?
-   1.4) Suschestvuyut li versii portirovannye ne na Unix sistemy?
-   1.5) Gde mozhno vzyat' PostgreSQL?
-   1.6) Gde poluchit' podderzhku?
+   1.3) Na kakih platformah rabotaet PostgreSQL?
+   1.4) Gde mozhno vzyat' PostgreSQL?
+   1.5) Gde poluchit' podderzhku?
+   1.6) Kak mne soobschit' ob oshibke?
    1.7) Kakaya versiya poslednyaya?
    1.8) Kakaya dokumentaciya imeetsya v nalichii?
    1.9) Kak najti informaciyu ob izvestnyh oshibkah ili otsutstvuyuschih
    vozmozhnostyah?
    1.10) Kak nauchit'sya SQL?
-   1.11) Reshena li v PostgreSQL problema 2000-go goda (Y2K)?
-   1.12) Kak prisoedinitsya k komande razrabotchikov?
-   1.13) Kak otpravit' soobschenie ob oshibke?
-   1.14) Kak sravnivat' PostgreSQL s drugimi SUBD?
-   1.15) Kak okazat' finansovuyu pomosch' PostgreSQL?
+   1.11) Kak prisoedinitsya k komande razrabotchikov?
+   1.12) Kak sravnivat' PostgreSQL s drugimi SUBD?
    
                  Voprosy pol'zovatelej po klientskoj chasti
                                       
-   2.1) Suschestvuyut li ODBC drajvera dlya PostgreSQL?
+   2.1) Kakie interfejsy est' dlya PostgreSQL?
    2.2) Kakie instrumenty suschestvuyut dlya ispol'zovaniya PostgreSQL
    cherez Web?
    2.3) Est' li u PostgreSQL graficheskij interfejs pol'zovatelya?
-   2.4) Kakie yazyki mogut vzaimodejstvovat' s PostgreSQL?
    
                          Voprosy administrirovaniya
                                       
    3.1) Kak mne ustanovit' PostgreSQL v mesto otlichnoe ot
    /usr/local/pgsql?
-   3.2) Kogda ya zapuskayu postmaster, ya poluchayu soobschenie Bad
-   System Call ili soobschenie core dumped. Pochemu?
-   3.3) Kogda ya pytayus' zapustit' postmaster, ya poluchayu oshibki
-   IpcMemoryCreate. Pochemu?
-   3.4) Kogda ya pytayus' zapustit' postmaster, ya poluchayu oshibki
-   IpcSemaphoreCreate. Pochemu?
-   3.5) Kak mne upravlyat' soedineniyami s drugih komp'yuterov?
-   3.6) Kakie nastrojki mne nuzhno sdelat' dlya uluchsheniya
+   3.2) Kak mne upravlyat' soedineniyami s drugih komp'yuterov?
+   3.3) Kakie nastrojki mne nuzhno sdelat' dlya uluchsheniya
    proizvoditel'nosti?
-   3.7) Kakie vozmozhnosti dlya otladki est' v nalichii?
-   3.8) Pochemu ya poluchayu soobschenie "Sorry, too many clients" kogda
+   3.4) Kakie vozmozhnosti dlya otladki est' v nalichii?
+   3.5) Pochemu ya poluchayu soobschenie "Sorry, too many clients" kogda
    pytayus' podklyuchit'sya k baze?
-   3.9) CHto nahoditsya v kataloge pgsql_tmp?
-   3.10) Pochemu neobhodimo delat' dump i restore pri obnovlenii vypuskov
+   3.6) Pochemu neobhodimo delat' dump i restore pri obnovlenii vypuskov
    PostgreSQL?
-   3.11) Kakoe komp'yuternoe "zhelezo" ya dolzhen ispol'zovat'?
+   3.7) Kakoe komp'yuternoe "zhelezo" ya dolzhen ispol'zovat'?
    
                            Voprosy `ekspluatacii
                                       
-   4.1) V chem otlichie mezhdu binarnym i normal'nym kursorom?
-   4.2) Kak vypolnit' SELECT tol'ko dlya neskol'kih pervyh strochek
+   4.1) Kak vypolnit' SELECT tol'ko dlya neskol'kih pervyh strochek
    zaprosa? Dlya proizvol'noj stroki?
-   4.3) Kak poluchit' spisok tablic ili drugih komponentov v psql?
-   4.4) Kak udalit' kolonku iz tablicy ili izmenit' eio tip dannyh?
-   4.5) Kakovy maksimal'nye razmery dlya zapisej, tablic i bazy dannyh?
-   4.6) Kak mnogo diskovogo prostranstva v baze dannyh nuzhno dlya
+   4.2) Kak mne najti kakie tablicy, indeksy, bazy dannyh i pol'zovateli
+   suschestvuyut? Kak mne uvidet' zaprosy, kotorye ispol'zuet psql dlya
+   polucheniya `etoj informacii?
+   4.3) Kak izmenit' tip dannyh kolonki?
+   4.4) Kakovy maksimal'nye razmery dlya strok v tablice, tablic i bazy
+   dannyh?
+   4.5) Kak mnogo diskovogo prostranstva v baze dannyh nuzhno dlya
    sohraneniya dannyh iz obychnogo tekstovogo fajla?
-   4.7) Kak mne ubedit'sya, chto suschestvuyut nuzhnye mne tablicy,
-   indeksy, bazy dannyh i pol'zovateli?
-   4.8) U menya medlenno rabotayut zaprosy ili ne proishodit
-   ispol'zovaniya indeksov. Pochemu?
-   4.9) Kak posmotret' na to, kak optimizator vypolnyaet moj zapros?
-   4.10) CHto takoe R-tree indeks?
-   4.11) CHto takoe Genetic Query Optimizer?
-   4.12) Kak mne vypolnit' poisk regulyarnogo vyrazheniya i poisk
+   4.6) Pochemu moi zaprosy rabotayut medleno? Pochemu oni ne ispol'zuyut
+   moi indeksy?
+   4.7) Kak posmotret' na to, kak optimizator vypolnyaet moj zapros?
+   4.8) Kak mne vypolnit' poisk regulyarnogo vyrazheniya i poisk
    nezavisimyj ot registra bukv poisk regulyarnogo vyrazheniya? Kak mne
    ispol'zovat' indeks dlya poiska nezavisimogo ot registra bukv?
-   4.13) Kak ya mogu opredelit', chto znachenie polya ravno NULL v
+   4.9) Kak ya mogu opredelit', chto znachenie polya ravno NULL v
    kakom-libo zaprose?
-   4.14) Kakovy otlichiya mezhdu raznymi simvol'nymi tipami?
-   4.15.1) Kak mne sozdat' pole serial/s-avto-uvelicheniem?
-   4.15.2) Kak mne poluchit' znachenie pri vstavke SERIAL?
-   4.15.3) Ne mozhet li poluchit'sya tak, chto ispol'zovanie currval() i
+   4.10) Kakovy otlichiya mezhdu raznymi simvol'nymi tipami?
+   4.11.1) Kak mne sozdat' pole serial/s-avto-uvelicheniem?
+   4.11.2) Kak mne poluchit' znachenie pri vstavke SERIAL?
+   4.11.3) Ne mozhet li poluchit'sya tak, chto ispol'zovanie currval() i
    nextval() privedet k zaciklirovaniyu s drugimi pol'zovatelyami?
-   4.15.4) Pochemu chisla iz moej posledovatel'nosti ne ispol'zuyutsya
+   4.11.4) Pochemu chisla iz moej posledovatel'nosti ne ispol'zuyutsya
    snova pri otmene tranzakcii? Pochemu sozdayutsya razryvy pri numeracii
    v kolonke, gde ya ispol'zuyu posledovatel'nost'/SERIAL?
-   4.16) CHto takoe OID? CHto takoe TID?
-   4.17) CHto oznachayut nekotorye terminy ispol'zuemye v PostgreSQL?
-   4.18) Pochemu ya poluchayu oshibku "ERROR: Memory exhausted in
+   4.12) CHto takoe OID? CHto takoe TID?
+   4.13) Pochemu ya poluchayu oshibku "ERROR: Memory exhausted in
    AllocSetAlloc()"?
-   4.19) Kak mne uznat', kakaya versiya PostgreSQL zapuschena?
-   4.20) Pochemu pri rabote s moim bol'shim ob"ektom ya poluchayu oshibku
+   4.14) Kak mne uznat', kakaya versiya PostgreSQL zapuschena?
+   4.15) Pochemu pri rabote s moim bol'shim ob"ektom ya poluchayu oshibku
    "invalid large obj descriptor"?
-   4.21) Kak mne sozdat' kolonku kotoraya po umolchaniyu budet soderzhat'
+   4.16) Kak mne sozdat' kolonku kotoraya po umolchaniyu budet soderzhat'
    tekuschee vremya?
-   4.22) Pochemu moi podzaprosy, ispol'zuyuschie IN tak medlenno
-   rabotaeyut?
-   4.23) Kak vypolnit' vneshnee svyazyvanie?
-   4.24) Kak vypolnyat' zaprosy, ispol'zuyuschie neskol'ko baz dannyh?
-   4.25) Kak mne vernut' iz funkcii neskol'ko zapisej?
-   4.26) Pochemu ya ne mogu nadezhno sozdavat'/udalyat' vremennye tablicy
+   4.17) Kak vypolnit' vneshnee svyazyvanie?
+   4.18) Kak vypolnyat' zaprosy, ispol'zuyuschie neskol'ko baz dannyh?
+   4.19) Kak mne vernut' iz funkcii neskol'ko strok tablicy?
+   4.20) Pochemu ya ne mogu nadezhno sozdavat'/udalyat' vremennye tablicy
    v funkciyah PL/PgSQL?
-   4.27) Kakie opcii shifrovaniya suschestvuyut?
+   4.21) Kakie opcii shifrovaniya suschestvuyut?
    
                           Rasshireniya PostgreSQL
                                       
    zapuskayu ee v psql, pochemu ya poluchayu core dump?
    5.2) Kak ya mogu vnesti nekotorye klassnye novye tipy i funkcii v
    PostgreSQL?
-   5.3) Kak mne napisat' C funkciyu, vozvraschayuschuyu zapis'?
+   5.3) Kak mne napisat' C funkciyu, vozvraschayuschuyu stroku tablicy?
    5.4) YA izmenil ishodnyj fajl. Pochemu posle perekompilyacii ya ne
    vizhu izmenenij?
      _________________________________________________________________
                                       
     1.1) CHto takoe PostgreSQL? Kak proiznositsya `eto nazvanie?
     
-   PostgreSQL proiznositsya Post-Gres-Q-L (Post-Gres-K'yu-`El). Po adresu
-   http://www.postgresql.org/postgresql.mp3 dostupen zvukovoj fajl s
-   primerom kak `eto nuzhno proiznosit'.
-   
-   PostgreSQL - `eto rasshirenie SUBD POSTGRES (i po`etomu inogda
-   govoryat prosto "Postgres"), issledovatel'skij prototip novogo
-   pokoleniya SUBD. PostgreSQL odnovremenno sohranyaet moschnuyu model'
-   dannyh i obschirnoe kolichestvo tipov POSTGRES, i zameschaet yazyk
-   zaprosov PostQuel na rasshirennoe podmnozhestvo SQL. PostgreSQL - `eto
-   svobodnoe i polnost'yu otkrytoe programmnoe obespechenie.
-   
-   Razrabotku PostgreSQL vypolnyaet komanda razrabotchikov, vse
-   uchastniki kotoroj podpisany na spisok rassylki razrabotchikov. V
-   nastoyaschee vremya, ih koordinatorom yavlyaetsya Mark Furn'e (Marc G.
-   Fournier) (scrappy@PostgreSQL.org). (Sm. sekciyu 1.6 o tom, kak
-   podklyuchit'sya k razrabotke). `Eta komanda teper' otvechaet za vsyu
-   razrabotku PostgreSQL. Dannyj proekt yavlyaetsya obschestvennym i ne
-   upravlyaetsya kakoj-libo kompaniej. Podrobnosti smotrite v FAQ dlya
-   razrabotchikov, http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html
-   
-   Avtorami PostgreSQL 1.01 yavlyayutsya `Endryu YU (Andrew Yu) i Dzholi
-   CHen (Jolly Chen). Mnogie drugie vnesli svoj vklad v perenos na drugie
-   platformy, testirovanie, otladku i rasshirenie `etogo koda.
-   Pervonachal'nyj kod Postgres, iz kotorogo poyavilsya PostgreSQL, byl
-   itogom usilij mnogih akademicheskih studentov, neakademicheskih
-   studentov i mnozhestva raznyh programmistov, rabotavshih pod
-   rukovodstvom professora Majkla Stounbrejkera (Michael Stonebraker) v
-   Kalifornijskom universitete, Berkli.
-   
-   Pervonachal'noe imya, dannoe v Berkli, bylo Postgres. Kogda v 1995
-   godu byla dobavlena funkcional'nost' SQL, `eto imya bylo izmeneno na
-   Postgres95. No i `eto imya bylo izmeneno v konce 1996 na PostgreSQL.
+   PostgreSQL proiznositsya Post-Gres-Q-L (Post-Gres-K'yu-`El), takzhe
+   chasto govoryat prosto Postgres.
+   
+   PostgreSQL - `eto ob"ektno-relyacionnaya sistema upravleniya bazami
+   dannyh (SUBD), kotoraya imeet tradicionnye vozmozhnosti kommercheskih
+   SUBD s rasshireniyami, kotorye est' v SUBD novogo pokoleniya.
+   PostgreSQL - `eto svobodnoe i polnost'yu otkrytoe programmnoe
+   obespechenie.
+   
+   Razrabotku PostgreSQL vypolnyaet komanda razrabotchikov, razbrosannaya
+   po vsemu miru i svyazannaya cherez Internet. Razrabotka yavlyaetsya
+   obschestvennym proektom i ne upravlyaetsya kakoj-libo kompaniej.
+   Podrobnosti smotrite v FAQ dlya razrabotchikov,
+   http://www.PostgreSQL.org/files/documentation/faqs/FAQ_DEV.html
    
     1.2) Kakovy avtorskie prava na PostgreSQL?
     
-   PostgreSQL popadaet pod dejstvie sleduyuschego COPYRIGHT:
+   PostgreSQL rasprostranyaetsya po klassicheskoj licenzii BSD. `Eta
+   licenziya ne soderzhit ogranichenij na to, kak budet ispol'zovat'sya
+   ishodnyj kod. Nam nravitsya `eta licenziya i u nas net namerenij eio
+   menyat'.
+   
+   Vot `eta licenziya BSD, kotoruyu my ispol'zuem:
    
    Sistema Upravleniya Bazami Dannyh PostgreSQL
    
-   Portions copyright (c) 1996-2004, PostgreSQL Global Development Group
+   Portions copyright (c) 1996-2005, PostgreSQL Global Development Group
    Portions Copyright (c) 1994-6 Regents of the University of California
    
    Predostavlyayutsya prava na ispol'zovanie, kopirovanie, izmenenie i
    PREDOSTAVLYAT' SOPROVOZHDENIE, PODDERZHKU, OBNOVLENIYA, RASSHIRENIYA
    ILI IZMENENIYA.
    
-   Vysheizlozhennoe yavlyaetsya BSD licenziej, klassicheskoj licenziej
-   programmnogo obespecheniya s otkrytym kodom. `Eta licenziya ne
-   nakladyvaet ogranichenij na ispol'zovanie ishodnogo koda. Nam
-   nravitsya `eta licenziya i my ne sobiraemsya eio menyat'.
-   
-    1.3) Na kakih Unix platformah rabotaet PostgreSQL?
+    1.3) Na kakih platformah rabotaet PostgreSQL?
     
    Obychno, PostgreSQL mozhet rabotat' na lyuboj sovremennoj platforme
    sovmestimoj s Unix. V instrukcii po ustanovke, vy najdete spisok teh
    platform, na kotoryh byli provedeny testovye zapuski PostgreSQL k
    momentu vyhoda dannoj versii.
    
-    1.4) Suschestvuyut li versii perenesennye ne na Unix sistemy?
-    
    Nachinaya s versii 8.0, PostgreSQL bez vsyakih uhischrenij rabotaet na
    operacionnyh sistemah Microsoft Windows, osnovannyh na NT, takih kak
    Win2000, WinXP i Win2003. Paket installyatora dostupen po adresu
    pomosch'yu Cygwin.
    
    Takzhe suschestvuet versiya sportirovannaya pod Novell Netware 6 na
-   http://forge.novell.com.
+   http://forge.novell.com, i versiya dlya OS/2 (eComStation) na
+   http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgre
+   SQL&stype=all&sort=type&dir=%2F.
    
-    1.5) Gde mozhno vzyat' PostgreSQL?
+    1.4) Gde mozhno vzyat' PostgreSQL?
     
    Naprimer, vospol'zovavshis' anonimnym dostupom na ftp sajt PostgreSQL
    ftp://ftp.PostgreSQL.org/pub. Spisok zerkal vy najdete na nashem
    osnovnom sajte.
    
-    1.6) Gde poluchit' podderzhku?
+    1.5) Gde poluchit' podderzhku?
     
-   Osnovnoj spisok rassylki: pgsql-general@PostgreSQL.org. V nem mozhno
-   obsuzhdat' lyubye temy, kasayuschiesya PostgreSQL. CHtoby
-   podpisat'sya, otprav'te pis'mo po `elektronnoj pochte, v kotorom v
-   tele pis'ma (ne v teme) napishite sleduyuschie stroki:
-    subscribe
-    end
-
-   na adres pgsql-general-request@PostgreSQL.org.
-   
-   Suschestvuet dajzhest spisok. CHtoby podpisat'sya na nego, otprav'te
-   pis'mo po `elektronnoj pochte na adres:
-   pgsql-general-digest-request@PostgreSQL.org i v tele pis'ma napishite
-   strochki strochki:
-    subscribe
-    end
-
-   Dajzhesty otpravlyayutsya podpischikam, kogda v osnovnom spiske
-   rassylki nakopitsya okolo 30 kilobajt soobschenij.
-   
-   Dostupen i spisok rassylki soobschenij ob oshibkah. CHtoby
-   podpisat'sya na `etot spisok, otprav'te po `elektronnoj pochte pis'mo
-   na adres pgsql-bugs-request@PostgreSQL.org i v tele pis'ma napishite
-   strochki strochki:
-    subscribe
-    end
-
-   Takzhe imeetsya spisok rassylki s diskussiyami razrabotchikov. CHtoby
-   podpisat'sya na `etot spisok, otprav'te po `elektronnoj pochte pis'mo
-   na adres pgsql-hackers-request@PostgreSQL.org i v tele pis'ma
-   napishite strochki strochki:
-    subscribe
-    end
-
-   Dopolnitel'nye spiski rassylki i infomaciyu o PostgreSQL mozhno najti
-   na domashnej stranichke PostgreSQL po adresu:
+   Soobschestvo PostgreSQL predostavlyaet pomosch' mnozhestvu
+   pol'zovatelej cherez E-mail. Osnovnoj web-sajt dlya podpiski na spiski
+   rassylki po E-mail `eto: http://www.postgresql.org/community/lists/.
+   Horoshim mestom dlya togo, chtoby nachat' zadavat' voprosy
+   yavlyayutsya spiski general (obschie voprosy) ili bugs (oshibki).
    
-     http://www.PostgreSQL.org
-     
    Glavnym IRC kanalom yavlyaetsya #postgreql, raspolozhennyj na servere
    Freenode (irc.freenode.net). CHtoby podklyuchit'sya, vy mozhete
-   ispol'zovat' komandu Unix irc -c '#postgresql' "$USER"
+   ispol'zovat' v Unix vyzov programmy irc -c '#postgresql' "$USER"
    irc.freenode.net ili lyuboj drugoj IRC klient. Na `etom zhe servere
    suschestvuyut kanaly na ispanskom (#postgresql-es) i francuzskom
    (#postgresqlfr) yazykah. Takzhe suschestvuet kanal po PostgreSQL na
    Spisok kommercheskoj podderzhki kompanij dostupen na
    http://techdocs.postgresql.org/companies.php.
    
+    1.6) Kak mne soobschit' ob oshibke?
+    
+   Posetite stranichku so special'noj formoj otchiota ob oshibke v
+   PostgreSQL po adresu: http://www.postgresql.org/support/submitbug.
+   
+   Takzhe prover'te nalichie bolee svezhej versii PostgreSQL na nashem
+   FTP sajte ftp://ftp.PostgreSQL.org/pub.
+   
     1.7) Kakaya poslednyaya versiya?
     
-   Poslednij vypusk PostgreSQL - `eto versiya 7.4.6
+   Poslednij vypusk PostgreSQL - `eto versiya 8.0.1
    
-   My planiruem vypuskat' novye versii kazhdye 6-8 mesyacev.
+   My planiruem vypuskat' novye versii kazhdye 10-12 mesyacev.
    
     1.8) Kakaya dokumentaciya imeetsya v nalichii?
     
-   V distributiv vklyuchayutsya razlichnye rukovodstva, stranicy
-   `elektronnogo rukovodstva man i nekotorye malen'kie testovye primery.
-   Smotrite v katalog /doc. Vy takzhe mozhete prosmatrivat' dokumentaciyu
-   v Internet po adresu http://www.PostgreSQL.org/docs.
+   PostgreSQL soderzhit mnogo dokumentacii, vklyuchaya bol'shoe
+   rukovodstvo, stranicy `elektronnogo rukovodstva man i nekotorye
+   malen'kie testovye primery. Smotrite v katalog /doc. Vy takzhe mozhete
+   prosmatrivat' dokumentaciyu v Internet po adresu
+   http://www.PostgreSQL.org/docs.
    
    Suschestvuet dve knigi po PostgreSQL dostupnye po adresam
    http://www.PostgreSQL.org/docs/awbook.html i
    po adresu http://techdocs.PostgreSQL.org/ vy mozhete najti kollekciyu
    tehnicheskih statej posvyaschennyh PostgreSQL.
    
-   psql imeet neskol'ko prekrasnyh komand \d dlya otobrazheniya
-   informacii po tipam, operatoram, funkciyam, agregatam i t.d.
+   Klient komandnoj stroki psql imeet neskol'ko komand \d dlya
+   otobrazheniya informacii po tipam, operatoram, funkciyam, agregatam i
+   t.d. - ispol'zujte \? dlya polucheniya spiska dostupnyh komand.
    
    Nash sajt soderzhit esche bol'she informacii.
    
    Handbook, Bowman, Judith S., et al., Addison-Wesley. Drugim nravitsya
    The Complete Reference SQL, Groff et al., McGraw-Hill.
    
-    1.11) Reshena li v PostgreSQL problema 2000-go goda (Y2K)?
-    
-   Da, my legko rabotaem s datami posle 2000 goda i pered 2000 godom.
-   
-    1.12) Kak prisoedinitsya k komande razrabotchikov?
+    1.11) Kak prisoedinitsya k komande razrabotchikov?
     
    Dlya nachala, skachajte poslednyuyu versiyu ishodnyh tekstov i
-   prochtite dokumentaciyu razrabotchikov PostgreSQL na nashem sajte ili
-   v distributive. Zatem, podpishites' na spiski rassylki pgsql-hackers i
-   pgsql-patches. Dalee, otpravlyajte ispravleniya (patches) vysokogo
-   kachestva v spisok pgsql-patches.
+   prochtite FAQ i dokumentaciyu dlya razrabotchikov PostgreSQL na nashem
+   sajte ili v distributive. Zatem, podpishites' na spiski rassylki
+   pgsql-hackers i pgsql-patches. Dalee, otpravlyajte ispravleniya
+   (patches) vysokogo kachestva v spisok pgsql-patches.
    
    Suschestvuet ogranichennyj spisok lyudej, kotoryj imeyut privelegiyu
    vnosit' izmeneniya v CVS arhiv PostgreSQL. Kazhdyj iz `etih lyudej v
    previlegii vnosit' izmeneniya, i my uvereny, chto te ispravleniya,
    kotorye oni vnesut budut vysokogo kachestva.
    
-    1.13) Kak otpravit' soobschenie ob oshibke??
-    
-   Zapolnite formu ob oshibke v PostgreSQL, kotoraya raspolozhena na
-   http://www.postgresql.org/bugform.html.
-   
-   Takzhe ne zabud'te posmotret' na ftp://ftp.PostgreSQL.org/pub na
-   predmet bolee svezhih versij PostgreSQL ili zaplat.
-   
-    1.14) Kak sravnivat' PostgreSQL s drugimi SUBD?
+    1.12) Kak sravnivat' PostgreSQL s drugimi SUBD?
     
    Suschestvuet neskol'ko metodov sravneniya programmnogo obespecheniya:
    vozmozhnosti, proizvoditel'nost', nadezhnost', podderzhka i cena.
           dlya raboty s soderzhimym blokirovok.
           
    Proizvoditel'nost'
-          PostgreSQL imeet proizvoditel'nost' shodnuyu s drugimi
-          kommercheskimi SUBD i s SUBD s otkrytym ishodnym kodom, v
-          kakih-to aspektah rabotaya bystree chem oni, v kakih-to
-          medlenee. V sravnenii s MySQL ili obydennee SUBD, my bystree,
-          kogda pol'zovatelej mnogo, a takzhe na kompleksnyh zaprosah i
-          chtenii/zapisi zagruzki zaprosa. MySQL bystree dlya prostyh
-          SELECT zaprosov, vypolnyaemyh nebol'shim kolichestvom
-          pol'zovatelej. I razumeetsya, MySQL ne imeet kakih-libo
-          vozmozhnostej iz perechislenyh vyshe, v sekcii Vozmozhnosti. My
-          delaem upor na nadezhnost' i rasshirennye vozmozhnosti, no my
-          takzhe prodolzhaem uvelichivat' proizvoditel'nost' s kazhdym
-          vypuskom. Suschestvuet interesnaya stranichka v Internet,
-          sravnivayuschaya PostgreSQL i MySQL na
-          http://openacs.org/philosophy/why-not-mysql.html. Takzhe, MySQL
-          - `eto kompaniya, kotoraya rasprostranyaet svoj produkt cherez
-          otkrytye ishodnye teksty i trebuet kommercheskuyu licenziyu na
-          zakrytoe programmnoe obespechenie, a ne soobschestvo
-          razrabotchikov s otkrytymi ishodnymi tekstami, kak PostgreSQL.
+          Proizvoditel'nost' PostgreSQL shodna s drugimi kommercheskimi
+          SUBD i s SUBD s otkrytym ishodnym kodom. V kakih-to veschah my
+          bystree, v kakih-to medlennee. V sravnenii s MySQL ili linejnoj
+          SUBD, my bystree, kogda pol'zovatelej mnogo, a takzhe na
+          slozhnyh zaprosah i pri chtenii/zapisi zagruzki zaprosa. MySQL
+          bystree dlya prostyh SELECT zaprosov, vypolnyaemyh nebol'shim
+          kolichestvom pol'zovatelej. I razumeetsya, MySQL ne imeet
+          kakih-libo vozmozhnostej iz perechislenyh vyshe, v sekcii
+          Vozmozhnosti. My delaem upor na nadezhnost' i rasshirennye
+          vozmozhnosti, no my takzhe prodolzhaem uvelichivat'
+          proizvoditel'nost' s kazhdym vypuskom.
           
    Nadezhnost'
           My ponimali, chto nasha SUBD dolzhna byt' nadezhnoj ili ona
           podderzhku PostgreSQL prevoshodyaschej drugie SUBD.
           Suschestvuet kommercheskaya podderzhka po rezul'tam voznikshih
           incidentov, kotoraya dostupna dlya teh komu ona nuzhna.
-          (Smotrite Sekciyu 1.6.)
+          (Smotrite Sekciyu 1.5.)
           
    Cena
           Nash produkt besplaten kak dlya kommercheskogo tak, i ne dlya
           opisyvayutsya v nashej licenzii stilya BSD, kotoraya privedena
           vyshe.
           
-    1.15) Kak okazat' finansovuyu pomosch' PostgreSQL?
-    
-   PostgreSQL imeet odnorangovuyu infrastrukturu s togo samogo vremeni
-   kak my nachali razrabotku v 1996 godu. My dolzhny blagodarit' za `eto
-   Marka Furn'e (Marc Fournier), kotoryj sozdal `etu infrastrukturu i
-   upravlyaet ej na protyazhenii `etih let.
-   
-   Kachestvennaya infrastruktura ochen' vazhna dlya proektov s otkrytym
-   ishodnym kodom. Ona predotvraschaet raskoly, kotorye mogut sil'no
-   zaderzhat' postupatel'noe dvizhenie proekta.
-   
-   Razumeetsya, `eta infrastruktura ne yavlyaetsya deshevoj. Suschestvuet
-   nekotoroe kolichestvo ezhemesyachnyh i odnorazovyh rashodov, kotorye
-   trebuyut deneg. Esli vy ili vasha kompaniya imeet den'gi, kotorye
-   mozhno peredat' v pomosch' nashim usiliyam, pozhalujsta posetite
-   stranichku https://store.pgsql.com/shopping/ i sdelajte svoj vklad.
-   
-   Hotya na stranichke govoritsya o PostgreSQL, Inc, punkt
-   "contributions" prednaznachen isklyuchitel'no dlya podderzhki proekta
-   PostgreSQL i ne peredaetsya kakoj-libo konkretnoj kompanii. Esli
-   hotite, to mozhete `eto proverit', napisav pis'mo na kontaktnyj adres.
-     _________________________________________________________________
-   
-   Esli u vas est' istorii po uspeshnomu primeneniyu PostgreSQL,
-   pozhalujsta, prisylajte ih na nash sajt propagandy
-   http://advocacy.postgresql.org.
-   
                  Voprosy pol'zovatelej po klientskoj chasti
                                       
-    2.1) Suschestvuyut li ODBC drajvera dlya PostgreSQL?
+    2.1) Kakie interfejsy est' dlya PostgreSQL?
     
-   Suschestvuet dva ODBC drajvera, PsqlODBC i OpenLink ODBC.
-   
-   Vy mozhete skachat' PsqlODBC s
-   http://gborg.postgresql.org/project/psqlodbc/projdisplay.php.
-   
-   OpenLink ODBC mozhno vzyat' na http://www.openlinksw.com. `Etot
-   drajver rabotaet s ih standartnym klientskim programmnym
-   obespecheniem, ispol'zuyuschim ODBC, i takim obrazom, ODBC drajvery
-   dlya PostgreSQL dostupny dlya kazhdoj iz podderzhivaemyh imi platform
-   (Win, Mac, Unix, VMS).
+   Ustanovka PostgreSQL vklyuchaet tol'ko C i vstroennyj (embedded) C
+   interfejsy. Vse drugie interfejsy yavlyayutsya nezavisimymi proektami
+   i zagruzhayutsya otdel'no; samostoyatel'nost' proektov pozvolyaet im
+   organizovat' sobstvennoe raspisanie vypuskov novyh versij i imet'
+   sobstvennuyu komandu razrabotchikov.
    
-   Vozmozhno oni budut prodavat' svoj produkt tem komu nuzhna
-   kommercheskaya podderzhka, no besplatnaya versiya vsegda budet
-   dostupna. Pozhalujsta, napravlyajte voprosy na adres
-   postgres95@openlink.co.uk.
+   Nekotorye yazyki programmirovaniya, takie kak PHP vklyuchayut v sebya
+   interfejs k PostgreSQL. Interfejsy dlya takih yazykov kak Perl, TCL,
+   Python i mnogih drugih, dostupny na http://gborg.postgresql.org v
+   sekcii Drivers/Interfaces, a takzhe cherez poisk v Internet.
    
     2.2) Kakie instrumenty suschestvuyut dlya ispol'zovaniya PostgreSQL cherez
     Web?
    Prekrasnoe vvedenie vo vzaimodejstvie baz dannyh i Web mozhno najti
    na: http://www.webreview.com
    
-   Dlya integracii s Web, odnim iz prevoshodnyh instrumentov yavlyaetsya
-   PHP. Domashnyaya stanichka http://www.php.net.
+   Dlya integracii s Web, PHP http://www.php.net yavlyaetsya neplohim
+   interfejsom.
    
-   Dlya kompleksnyh reshenij, mnogie pol'zuyutsya Perl interfejsom i
-   CGI.pm ili mod_perl.
+   V slozhnyh sluchayah, mnogie pol'zuyutsya Perl i CGI.pm ili mod_perl.
    
     2.3) Est' li u PostgreSQL graficheskij interfejs pol'zovatelya?
     
    Da, suschestvuet neskol'ko graficheskih interfejsov dlya PostgreSQL.
-   `Eto PgAccess (http://www.pgaccess.org), PgAdmin III
-   (http://www.pgadmin.org), RHDB Admin
+   Oni vklyuchayut PgAdmin III (http://www.pgadmin.org), PgAccess
+   (http://www.pgaccess.org), RHDB Admin
    (http://sources.redhat.com/rhdb/), TORA (http://www.globecom.net/tora/
-   (chastichno kommercheskoe PO) i Rekall (
-   http://www.thekompany.com/products/rekall/, kommercheskij). Takzhe
-   est' PhpPgAdmin ( http://phppgadmin.sourceforge.net/) - interfejs k
-   PostgreSQL, osnovannyj na Web.
-   
-    2.4) Kakie yazyki mogut vzaimodejstvovat' s PostgreSQL?
-    
-   Kakie-libo interfejsy dlya PostgreSQL suschestvuyut dlya bol'shinstva
-   populyarnyh yazykov programmirovaniya. Posmotrite spisok modulej
-   rasshireniya dlya teh yazykov programmirovaniya, kotorymi vy
-   pol'zuetes'.
-   
-   Sleduyuschie interfejsy vklyuchayutsya v distributiv PostgreSQL:
-     * C (libpq)
-     * Embedded C (ecpg)
-     * Java (jdbc)
-     * Python (PyGreSQL)
-     * TCL (libpgtcl)
-       
-   Dopolnitel'nye interfejsy dostupny po adresu
-   http://gborg.PostgreSQL.org v sekcii Drivers/Interfaces.
+   chastichno kommercheskoe PO) i Rekall (
+   http://www.rekallrevealed.org/). Takzhe est' PhpPgAdmin (
+   http://phppgadmin.sourceforge.net/) - interfejs k PostgreSQL,
+   osnovannyj na Web.
      _________________________________________________________________
    
                          Voprosy administrirovaniya
     
    Zadajte opciyu --prefix kogda zapuskaete configure.
    
-    3.2) Kogda ya zapuskayu postmaster, ya poluchayu soobschenie Bad System
-    Call ili soobschenie core dumped. Pochemu?
-    
-   `Eto mozhet byt' vyzvano raznymi problemami, no pervoe, chto nuzhno
-   sdelat' - `eto ubedit'sya v tom, chto v vashem yadre ustanovleno
-   rasshirenie System V. PostgreSQL trebuet, chtoby yadro podderzhivalo
-   razdelyaemuyu pamyat' i semafory.
-   
-    3.3) Kogda ya pytayus' zapustit' postmaster, ya poluchayu oshibki
-    IpcMemoryCreate. Pochemu?
-    
-   Libo u vas v yadre nepravil'nye nastrojki razdelyaemoj pamyati, libo
-   vashemu yadru nuzhno bol'shee kolichestvo dostupnoj razdelyaemoj
-   pamyati. Te konkretnye dejstviya, kotorye vam nuzhno proizvesti
-   zavisyat ot arhitektury vashej mashiny i ot togo kak mnogo buferov i
-   backend processov vy nastroili dlya postmaster. Dlya bol'shinstva
-   sistem, s kolichestvom buferov i processov po umolchaniyu, neobhodimyj
-   minimum - `eto okolo 1 megabajta. Podrobnosti o razdelyaemoj pamyati i
-   semaforah smotrite v Rukovodstve administratora PostgreSQL..
-   
-    3.4) Kogda ya pytayus' zapustit' postmaster, ya poluchayu oshibki
-    IpcSemaphoreCreate. Pochemu?
-    
-   Esli `eto soobschenie IpcSemaphoreCreate: semget failed (No space left
-   on device) to nastrojki vashego yadra takovy, chto emu ne hvataet
-   semaforov. Postgres trebuet odin semafor na potencial'nyj backend
-   process. Vremennym resheniem yavlyaetsya zapusk postmaster s
-   nastrojkami na mesh'shee kolichestvo backend processov. Ispol'zujte -N
-   s znacheniem men'shim chem 32, kotoroe prinyato po umolchaniyu. Bolee
-   pravil'noe reshenie - `eto uvelichit' znacheniya SEMMNS i SEMMNI v
-   nastrjkah yadra.
-   
-   Neispravnye semafory takzhe mogut privesti k padeniyu SUBD vo vremya
-   dostupa k baze dannyh.
-   
-   Esli vy poluchili kakoe-libo drugoe soobschenie ob oshibke, to vpolne
-   vozmozhno, chto v vashem yadre voobsche ne nastroena podderzhka
-   semaforov. Smotrite podrobnosti o razdelyaemoj pamyati i semaforah v
-   Rukovodstve Administratora PostgreSQL.
-   
-    3.5) Kak mne upravlyat' soedineniyami s drugih komp'yuterov?
+    3.2) Kak mne upravlyat' soedineniyami s drugih komp'yuterov?
     
    Po umolchaniyu, PostgreSQL razreshaet tol'ko soedineniya na lokal'noj
-   mashine cherez sokety domena Unix ili TCP/IP soedineniya. Drugie
-   mashiny ne smogut podklyuchit'sya k baze poka vy ne izmenite
-   listen_addresses v postgresql.conf i poka ne budet razreshena
-   host-avtorizaciya v fajle $PGDATA/pg_hba.conf.
+   mashine cherez sokety domena Unix ili TCP/IP soedineniya. Dlya togo,
+   chtoby drugie mashiny smogli podklyuchit'sya k baze vy dolzhny
+   izmenit' listen_addresses v postgresql.conf, razreshit'
+   host-avtorizaciya v fajle $PGDATA/pg_hba.conf i perestartovat' server.
    
-    3.6) Kakie nastrojki mne nuzhno sdelat' dlya uluchsheniya
+    3.3) Kakie nastrojki mne nuzhno sdelat' dlya uluchsheniya
     proizvoditel'nosti?
     
-   Nesomnenno, indeksy mogut uvelichit' skorost' vypolneniya zaprosov.
-   Komanda EXPLAIN ANALYZE pozvolyaet vam posmotret' kak PostgreSQL
-   interpretiruet vash zapros i kakie indeksy ispol'zuyutsya.
-   
-   Esli vy vypolnyaete mnogo operatorov INSERT, rassmotrite vozmozhnost'
-   vypolnyat' ih v bol'shoj pachke, ispol'zuya komandu COPY. `Eto
-   znachitel'no bystree, chem otdel'nye INSERT. Vo-vtoryh, operatory vne
-   bloka tranzakcii BEGIN WORK/COMMIT sami vypolnyayut tranzakciyu.
-   Podumajte nad vypolneniem neskol'kih operatorov v odnom bloke
-   tranzakcii. `Eto umen'shit kolichestvo tranzakcij. Takzhe, zadumajtes'
-   nad udaleniem i peresozdaniem indeksov, kogda vy vypolnyaete bol'shie
-   izmeneniya dannyh.
-   
-   Suschestvuet neskol'ko opcij nastrojki v Rukovodstve Administratora
-   PostgreSQL. Vy mozhete zapretit' fsync() pri starte postmaster s
-   opciej -o -F. `Eto predotvratit vyzovy fsync(), kotorye privodyat k
-   sbrosu dannyh na disk posle kazhdoj tranzakcii.
-   
-   Vy mozhete takzhe ispol'zovat' opciyu shared_buffers -B dlya
-   uvelicheniya kolichestva buferov razdelyaemoj pamyati, kotoraya
-   ispol'zuetsya backend processami. Esli vy sdelaete znachenie `etogo
-   parametra slishkom bol'shim, to postmaster mozhet ne zapustitsya
-   potomu chto vy ischerpaete ogranichenie yadra na ob"em razdelyaemoj
-   pamyati. Kazhdyj bufer imeet razmer v 8 kilobajt i po umolchaniyu
-   vydelyaetsya 1000 buferov.
-   
-   Vy mozhete takzhe ispol'zovat' backend opcii sort_mem i work_mem dlya
-   uvelicheniya maksimal'nogo kolichestva pamyati, kotoroe ispol'zuetsya
-   backend processom dlya vremennyh sortirovok. Znachenie po umolchaniyu
-   sostavlyaet 1024 (t.e. 1MB).
-   
-   Vy takzhe mozhete ispol'zovat' komandu CLUSTER dlya gruppirovki dannyh
-   v tablicah na sovpadayuschij indeks. Podrobnosti smotrite na stranice
-   rukovodstva po komande CLUSTER.
-   
-    3.7) Kakie vozmozhnosti dlya otladki est' v nalichii?
+   Suschestvuet tri glavnyh oblasti, kotorye potencial'no mogut
+   uvelichit' proizvoditel'nost':
+   
+   Izmenenie zaprosa
+          `Eto oznachaet modifikaciyu zaprosov dlya polucheniya luchshej
+          proizvoditel'nosti:
+          
+          + Sozdanie indeksov, vklyuchaya indeksy vyrazhenij i
+            chastichnye indeksy
+          + Ispol'zovanie COPY vmesto mnozhestva INSERT
+          + Gruppirovka neskol'kih operatorov v edinuyu tranzakciyu dlya
+            umen'sheniya nagruzki pri vypolnenii zaversheniya tranzakcii
+          + Ispol'zovanie CLUSTER, kogda iz indeksa beriotsya mnozhestvo
+            strok
+          + Ispol'zovanie LIMIT dlya togo, chtoby vozvraschalas' tol'ko
+            chast' vyvoda ot zaprosa
+          + Ispol'zovanie Podgotovlennyh (Prepared) zaprosov
+          + Ispol'zovanie ANALYZE dlya obsluzhivaniya statistiki
+            optimizatora
+          + Regulyarnoe ispol'zovanie VACUUM ili pg_autovacuum
+          + Udalenie indeksov vo vremya bol'shih izmenenij dannyh
+            
+   Nastrojka servera
+          Nekotorye ustanovki v postgresql.conf vliyayut na
+          proizvoditel'nost'. Podrobnyj polnyj spisok ustanovok sm. v
+          Administration Guide/Server Run-time Environment/Run-time
+          Configuration, a kommentarii sm. v
+          http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_co
+          nf_e.html i
+          http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html.
+          
+   Vybor "zheleza" - apparatnogo obespecheniya
+          Vliyanie "zheleza" na proizvoditel'nost' podrobno opisano v
+          http://candle.pha.pa.us/main/writings/pgsql/hw_performance/inde
+          x.html i http://www.powerpostgresql.com/PerfList/.
+          
+    3.4) Kakie vozmozhnosti dlya otladki est' v nalichii?
     
-   PostgreSQL imeet neskol'ko vozmozhnostej, pozvolyayuschie poluchit'
-   informaciyu o sostoyanii, kotoraya mozhet byt' ispol'zovana v
-   otladochnyh celyah.
-   
-   Vo-pervyh, pri zapuske configure s opciej --enable-cassert, mnogie
-   vyzovy assert() pozvolyayut otslezhivat' rabotu backend processa i
-   ostanovku programmy pri vozniknovenii kakih-libo neozhidannostej.
-   
-   I postmaster, i postgres imeyut neskol'ko otladochnyh opcij.
-   Vo-pervyh, pri zapuske postmaster, ubedites', chto standartnyj vyvod i
-   vyvod oshibok osuschestvlyayutsya v fajl zhurnala:
-    cd /usr/local/pgsql
-    ./bin/postmaster >server.log 2>&1 &
-
-   `Eto privedet k poyavleniyu fajla server.log v glavnom kataloge
-   PostgreSQL. `Etot fajl soderzhit poleznuyu informaciyu o problemah ili
-   oshibkah, voznikshih na servere. Postmaster imeet opciyu -d, kotoraya
-   pozvolyaet poluchat' pri protokolirovanii bolee detal'nuyu infrmaciyu.
-   Dlya opcii -d ukazyvaetsya chislo, kotoroe zadaet uroven' otladki.
-   Bud'te ostorozhny, tak kak vysokij uroven' otladki privodit k
-   generacii fajlov zhurnala bol'shogo razmera.
+   Est' mnozhestvo ustanovok v nastrojkah servera, nachinayuschihsya na
+   log_*, pozvolyayuschih protokolirovat' zaprosy i statistiku raboty
+   processa, kotoraya ochen' polezna dlya otladki i izmereniya
+   proizvoditel'nosti.
+   
+   Dlya predostavleniya bolee detal'noj informacii razrabotchikam servera
+   pri otladke kakoj-libo problemy dolzhny pol'zovat'sya sleduyuschie
+   instrukcii.
+   
+   Takim zhe obrazom mozhno proizvodit' i otladku severa, esli on
+   rabotaet nepravil'no. Vo-pervyh, pri zapuske configure s opciej
+   --enable-cassert, mnogie vyzovy assert() pozvolyayut otslezhivat'
+   rabotu backend processa i ostanovku programmy pri vozniknovenii
+   kakih-libo neozhidannostej.
    
    Esli postmaster ne zapuschen, vy mozhete zapustit' postgres backend iz
    komandnoj stroki i vvesti vash operator SQL napryamuyu. `Eto
    rekomenduetsya tol'ko dlya celej otladki. Zametim, chto v `etom
    rezhime, zapros zavershaetsya simvolom novoj stroki, a ne tochkoj s
-   zapyatoj. Esli vy proizvodili kompilyaciyu s otladochnymi simvoloami,
+   zapyatoj. Esli vy proizvodili kompilyaciyu s otladochnymi simvolami,
    vy mozhete ispol'zovat' lyuboj otladchik, chtoby posmotret', chto
    sluchilos'. Poskol'ku backend zapuskaetsya ne iz postmaster, on ne
    zapuskaetsya v identichnom okruzhenii i znachit problemy iteracij
    blokirovok/backend ne mogut byt' vosproizvedeny.
    
    Esli postmaster zapuschen, zapustite psql v odnom okne, zatem najdite
-   PID processa postgres, ispol'zuemyj psql, ispol'zuya
-        SELECT pg_backend_pid()
-
-
-   Ispol'zujte otdadchik dlya podklyucheniya k postgres PID. Vy mozhete
-   ustanovit' tochki preryvaniya v otladchike i zapustit' zapros iz psql.
-   Esli vy proizvodite otladku zapuska postgres, vy mozhete ustanovit'
-   PGOPTIONS="-W n", i zatem zapustit' psql. `Eta opciya privodit k
-   zaderzhke processa zapuska na n sekund, v techenie kotoryh vy mozhete
-   podklyuchit' k processu otladchik, ustanovit' lyubye tochki
-   preryvaniya i prodolzhit' zapusk.
-   
-   Programma postgres imeet opcii -s, -A, i -t kotorye mogut byt' ochen'
-   poleznymi dlya otladki i izmereniya proizvoditel'nosti.
+   PID processa postgres, ispol'zuemyj psql, ispol'zuya SELECT
+   pg_backend_pid(). Ispol'zujte otladchik dlya podklyucheniya k postgres
+   PID. Vy mozhete ustanovit' tochki preryvaniya v otladchike i zapustit'
+   zapros iz psql. Esli vy proizvodite otladku zapuska postgres, vy
+   mozhete ustanovit' PGOPTIONS="-W n", i zatem zapustit' psql. `Eta
+   opciya privodit k zaderzhke processa zapuska na n sekund, v techenie
+   kotoryh vy mozhete podklyuchit' k processu otladchik, ustanovit'
+   lyubye tochki preryvaniya i prodolzhit' zapusk.
    
    Vy takzhe mozhete skompilirovat' PostgreSQL s profilirovaniem dlya
    togo, chtoby uvidet' kakie funkcii skol'ko vremeni vypolnyayutsya.
    tekuschij katalog klienta. V Linux dlya vypolneniya profilirovaniya
    trebuetsya kompilyacii s -DLINUX_PROFILE.
    
-    3.8) Pochemu ya poluchayu soobschenie "Sorry, too many clients" kogda
+    3.5) Pochemu ya poluchayu soobschenie "Sorry, too many clients" kogda
     pytayus' podklyuchit'sya k baze?
     
-   Vam nuzhno uvelichit' ogranichenie na kolichestvo konkuretnyh backend
-   processov pri zapuske postmaster.
-   
-   Po umolchaniyu ustanovlen limit na 32 processa. Vy mozhete uvelichit'
-   `etot limit perezapustiv postmaster s nuzhnym znacheniem processov,
-   kotoroe ukazyvaetsya v opcii -N ili izmeniv fajl postgresql.conf.
-   
-   Zametim, chto esli vy zadadite v opcii -N znachenie bol'she 32, to vy
-   takzhe dolzhny uvelichit' znachenie v opcii -B kotoroe po umolchaniyu
-   ustanovleno v 64; Znachenie opcii -B dolzhno byt' po krajnej mere
-   vdvoe bol'she znacheniya opcii -N, i vozmozhno eschio bol'she dlya
-   luchshej proizvoditel'nosti. Dlya bol'shego kolichestva backend
-   processov, vam takzhe neploho bylo by uvelichit' nekotorye parametry
-   yadra Unix. `Eto takie parametry, kak maksimal'noe kolichestvo blokov
-   razdelyaemoj pamyati, SHMMAX; maksimal'noe kolichestvo semaforov,
-   SEMMNS i SEMMNI; maksimal'noe kolichestvo processov, NPROC;
-   maksimal'noe kolichestvo processov na pol'zovatelya, MAXUPRC; i
-   maksimal'noe kolichestvo otkrytyh fajlov, NFILE i NINODE. Prichina
-   sozdaniya ogranicheniya na kolichestvo backend processov kak raz i
-   sostoit v tom, chtoby vashej sisteme hvatilo resursov.
-   
-    3.9) CHto nahoditsya v kataloge pgsql_tmp?
-    
-   Dannyj katalog soderzhit vremennye fajly, generiruemye obrabotchikom
-   zaprosa. Naprimer, esli dlya vypolneniya ORDER BY nuzhna sortirovka i
-   `eta sortirovka trebuet pamyati bol'she, chem dopuskaet parametr -S u
-   backend'a, to dlya hraneniya dopolnitel'nyh dannyh sozdayutsya
-   vremennye fajly.
-   
-   `Eti vremennye fajly dolzhny udalyat'sya avtomaticheski, no `etogo
-   mozhet ne proizojti, esli backend ruhnul vo vremya sortirovki. Ostanov
-   i zapusk servernogo processa obespechit ih udalenie iz kataloga.
+   Vy dostigli ustanovlennogo po umolchaniyu ogranicheniya na 100 sessij
+   podklyucheniya k baze dannyh. Vam neobhodimo uvelichit' dlya
+   postmaster limit na kolichestvo konkurentnyh backend processov,
+   izmeniv znachenie max_connections v fajle postgresql.conf i
+   perestartovat' postmaster.
    
-    3.10) Pochemu neobhodimo delat' dump i restore pri obnovlenii vypuskov
+    3.6) Pochemu neobhodimo delat' dump i restore pri obnovlenii vypuskov
     PostgreSQL?
     
    Razrabotchiki PostgreSQL delayut tol'ko nebol'shie izmeneniya mezhdu
-   podvypuskami. Takim obrazom obnovlenie s versii 7.2 do 7.2.1 ne
+   podvypuskami. Takim obrazom obnovlenie s versii 7.4 do 7.4.1 ne
    trebuet vypolneniya dump i restore. Odnako pri vyhode ocherednogo
-   vypuska (t.e. pri obnovlenii naprimer, s 7.2 na 7.3) chasto menyaetsya
+   vypuska (t.e. pri obnovlenii naprimer, s 7.3 na 7.4) chasto menyaetsya
    vnutrennij format sistemnyh tablic i fajlov dannyh. `Eti izmeneniya
    chasto nosyat kompleksnyj harakter, tak chto net vozmozhnosti
    obespechit' obratnuyu sovmestimost' fajlov dannyh. Vypolenie dump
    bez ispol'zovaniya dump/restore. Kommentarii k vypusku govorit kogda
    mozhno ispol'zovat' pg_upgrade dlya `etogo vypuska.
    
-    3.11) Kakoe komp'yuternoe "zhelezo" ya dolzhen ispol'zovat'?
+    3.7) Kakoe komp'yuternoe "zhelezo" ya dolzhen ispol'zovat'?
     
    Poskol'ku "zhelezo" personal'nyh komp'yuterov yavlyaetsya naibolee
    sovmestimym, lyudi sklonny verit', chto takoe "zhelezo" imeet
    
                            Voprosy `ekspluatacii
                                       
-    4.1) V chem otlichie mezhdu binarnym i normal'nym kursorom?
-    
-   Smotrite opisanie na stranicah rukovodstva posvyaschennym DECLARE.
-   
-    4.2) Kak vypolnit' SELECT tol'ko dlya neskol'kih pervyh strochek zaprosa?
+    4.1) Kak vypolnit' SELECT tol'ko dlya neskol'kih pervyh strochek zaprosa?
     Proizvol'noj stroki?
     
-   Smotrite stanicu rukovodstva posvyaschennuyu FETCH ili ispol'zujte
-   SELECT ... LIMIT....
-   
-   Dazhe esli vy hotite poluchit' tol'ko pervye neskol'ko zapisej, budet
-   vypolnen ves' zapros. Rassmotrim zapros, kotoryj imeet ORDER BY. Esli
-   est' kakoj-libo indeks, kotoryj sovpadaet s ORDER BY, PostgreSQL
-   mozhet vydat' tol'ko neskol'ko pervyh zaproshennyh zapisej ili mozhet
-   vypolnyat' zapros poka ne budut vydany zhelaemye zapisi.
+   Dlya polucheniya tol'ko neskol'kih strok, esli vy znaete ih
+   kolichestvo na moment vypolneniya SELECT ispol'zujte LIMIT.
+   Esli est' kakoj-libo indeks, kotoryj sovpadaet s ORDER BY, to
+   vozmozhno, chto ves' zapros vypolnen i ne budet. Esli vy ne znaete
+   kolichestva neobhodimyh strok na moment vypolneniya SELECT,
+   ispol'zujte kursor i FETCH.
    
    To SELECT a random row, use:
     SELECT col
     ORDER BY random()
     LIMIT 1;
 
-    4.3) Kak poluchit' spisok tablic ili drugih komponentov v psql?
+    4.2) Kak mne najti kakie tablicy, indeksy, bazy dannyh i pol'zovateli
+    suschestvuyut? Kak mne uvidet' zaprosy, kotorye ispol'zuet psql dlya
+    polucheniya `etoj informacii?
     
    CHtoby prosmatrivat' tablicy v psql, ispol'zujte komandu \dt. Polnyj
    spisok komand v psql vy mozhete poluchit', ispol'zuya \?. Krome togo,
    generiruyutsya pri vvode v psql komand, nachinayuschihsya s obratnoj
    kosoj cherty. Vy takzhe mozhete zapustit' psql s opciej -E tak, chtoby
    `eta programma vydavala zaprosy, kotorye ona ispol'zuet dlya
-   vypolneniya zadannyh vami komand. PostgreSQL takzhe predostavlyaet
-   SQLi sovmestimyj s INFORMATION SCHEMA interfejs, s pomosch'yu
-   kotorogo, vy mozhete sformirovat' zapros na poluchenie informacii o
-   baze dannyh.
+   vypolneniya zadannyh vami komand. PostgreSQL takzhe predostavlyaet SQL
+   sovmestimyj s INFORMATION SCHEMA interfejs, s pomosch'yu kotorogo, vy
+   mozhete sformirovat' zapros na poluchenie informacii o baze dannyh.
+   
+   Takzhe suschestvuyut sistemnye tablicy, nachinayuschiesya s pg_.
+   
+   Ispol'zujte psql -l dlya polucheniya spiska vseh baz dannyh.
    
-    4.4) Kak udalit' kolonku iz tablicy ili izmenit' eio tip dannyh?
+   Takzhe posmotrite fajl pgsql/src/tutorial/syscat.source. On pokazyvaet
+   mnogie iz operatorov SELECT neobhodimyh dlya polucheniya informacii iz
+   sistemnyh tablic bazy dannyh.
+   
+    4.3) Kak izmenit' tip dannyh kolonki?
     
-   DROP COLUMN funkcional'nost' byla dobavlena v vypusk 7.3 s operatorom
-   ALTER TABLE DROP COLUMN. V rannih versiyah, mozhno sdelat' tak:
-    BEGIN;
-    LOCK TABLE old_table;
-    SELECT ...  -- vyborka vseh kolonok za isklyucheniem toj, kotoruyu hotite u
-dalit'
-    INTO TABLE new_table
-    FROM old_table;
-    DROP TABLE old_table;
-    ALTER TABLE new_table RENAME TO old_table;
-    COMMIT;
-
-   Dlya izmeneniya tipa dannyh kolonki, sdelajte tak:
+   V 8.0 i bolee pozdnih versiyah, izmenenie tipa kolonki vypolnyaetsya
+   ochen' legko cherez ALTER TABLE ALTER COLUMN TYPE.
+   
+   V bolee rannih versiyah sdelajte tak:
     BEGIN;
     ALTER TABLE tab ADD COLUMN new_col new_data_type;
     UPDATE tab SET new_col = CAST(old_col AS new_data_type);
     ALTER TABLE tab DROP COLUMN old_col;
     COMMIT;
 
-    4.5) Kakovy maksimal'nye razmery dlya zapisej, tablic i bazy dannyh?
+    4.4) Kakovy maksimal'nye razmery dlya strok v tablice, tablic i bazy
+    dannyh?
     
    Suschestvuyut sleduyuschie ogranicheniya:
-    Maksimal'nyj razmer bazy?                    neogranichen (suschestvuyut ba
-zy na 32 TB)
-    Maksimal'nyj razmer tablicy?                 32 TB
-    Maksimal'nyj razmer zapisi?                  1.6 TB
-    Maksimal'nyj razmer polya?                    1 GB
-    Maksimal'noe kolichestvo zapisej v tablice?   neogranicheno
-    Maksimal'noe kolichestvo kolonok v tablice?   250-1600 v zavisimosti ot tip
-a
-    Maksimal'noe kolichestvo indeksov v tablice?  neogranicheno
-
+   
+   Maksimal'nyj razmer bazy? neogranichen (suschestvuyut bazy na 32 TB)
+   Maksimal'nyj razmer tablicy? 32 TB
+   Maksimal'nyj razmer stroki? 1.6 TB
+   Maksimal'nyj razmer polya? 1 GB
+   Maksimal'noe kolichestvo strok v tablice? neogranicheno
+   Maksimal'noe kolichestvo kolonok v tablice? 250-1600 v zavisimosti ot
+   tipa
+   Maksimal'noe kolichestvo indeksov v tablice? neogranicheno
+   
    Razumeetsya, ponyatie "neogranicheno" na samom dele ogranichivaetsya
    dostupnym diskovym prostranistvom i razmerami pamyati/svoppinga. Kogda
    znacheniya perechislennye vyshe neopravdano bol'shie, mozhet
@@ -803,7 +594,7 @@ a
    byt' uvelicheny v chetyre raza, esli razmer bloka po umolchaniyu budet
    uvelichen do 32k.
    
-    4.6) 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?
     
    SUBD PostgreSQL mozhet potrebovat'sya diskovogo prostranstva do 5 raz
@@ -814,21 +605,21 @@ a
    srednem, sostavlyaet 20 bajt. Razmer prostogo fajla sostavit 2.8 MB.
    Razmer bazy PostgreSQL, soderzhaschej `eti zhe dannye sostavit
    priblizitel'no 6.4 MB iz kotoryh:
-    32 bajt: na kazhdyj zagolovok zapisi (priblizitel'no)
+    32 bajt: na kazhdyj zagolovok stroki v tablice (priblizitel'no)
   + 24 bajta: odno pole s celochislennym tipom i odno tekstovoe pole
-  +  4 bajta: ukazatel' na stranice dlya vsej zapisi
+  +  4 bajta: ukazatel' na stranice dlya vsej tablichnoj stroki
    ----------------------------------------
-    60 bajt na zapis'
+    60 bajt na stroku v tablice
 
    Razmer stranicy dannyh v PostgreSQL sostavlyaet 8192 bajt (8 KB), tak chto:
 
    8192 bajt na stranicu
-   ---------------------   =  136 zapisej na stranicu BD (okruglionno)
-     60 bajt na zapis'
+   ---------------------   =  136 strok v tablice na stranicu BD (okruglionno)
+     60 bajt na stroku v tablice
 
      100000 strok dannyh
    ----------------------- =  735 stranic v BD (okruglionno)
-   128 zapisej na stranicu
+   128 strok v tablice na stranicu
 
    735 stranic BD * 8192 bajt na stranicu = 6,021,120 bajt (6 MB)
 
@@ -838,26 +629,12 @@ a
    Znacheniya NULL hranyatsya kak bitovye karty i po`etomu oni zanimayut
    ochen' malo mesta.
    
-    4.7) Kak mne ubedit'sya, chto suschestvuyut nuzhnye mne tablicy, indeksy,
-    bazy dannyh i pol'zovateli?
-    
-   psql imeet neskol'ko komand, nachinayuschihsya s obratnoj kosoj
-   cherty, dlya togo chtoby prosmatrivat' takuyu informaciyu. Ispol'zujte
-   \? dlya togo, chtoby uvidet' `eti komandy. Takzhe suschestvuyut
-   sistemnye tablicy, imya kotoryh nachinaetsya na pg_ i v kotoryh takzhe
-   soderzhitsya `eta informaciya. Eschio, psql -l pokazhet spisok vseh
-   baz dannyh.
-   
-   Takzhe smotrite fajl pgsql/src/tutorial/syscat.source. V nem
-   predstavleny mnogie operatory SELECT kotorye nuzhny dlya polucheniya
-   informacii iz sistemnyh tablic bazy dannyh.
-   
-    4.8) U menya medlenno rabotayut zaprosy ili ne proishodit ispol'zovaniya
-    indeksov. Pochemu?
+    4.6) Pochemu moi zaprosy rabotayut medleno? Pochemu oni ne ispol'zuyut moi
+    indeksy?
     
    Indeksy ne ispol'zuyutsya dlya kazhdogo zaprosa avtomaticheski. Oni
    ispol'zuyutsya tol'ko esli tablica bol'she minimal'nogo razmera i
-   zapros vybiraet tol'ko malen'kij procent zapisej v tablice. Tak
+   zapros vybiraet tol'ko malen'kij procent strok v tablice. Tak
    ustroeno, potomu chto dostup k disku s primeneniem randomizacii pri
    skanirovanii indeksov mozhet byt' medlennee, chem prostoe chtenie
    tablicy ili ee posledovatel'noe skanirovanie.
@@ -866,11 +643,11 @@ a
    tablicy, PostgreSQL dolzhen imet' statistiku po `etoj tablice. `Eta
    statistika sobiraetsya pri ispol'zovanii VACUUM ANALYZE ili prosto
    ANALYZE. Ispol'zuya statistiku, optimizator uznaet o tom kak mnogo
-   zapisej v tablice i esli on dolzhen ispol'zovat' indeksy, to on mozhet
+   strok v tablice i esli on dolzhen ispol'zovat' indeksy, to on mozhet
    prinimat' luchshie resheniya. Statistika takzhe vliyaet na opredelenie
-   optimal'nogo poryadka svyazyvaniya i metoda svyazyvaniya. Sbor
-   statistiki dolzhen periodicheski vypolnyatsya pri izmenenii
-   soderzhimogo tablicy.
+   optimal'nogo poryadka svyazyvaniya i metoda svyazyvaniya. Pri
+   izmenenii soderzhimogo tablicy dolzhen periodicheski vypolnyatsya sbor
+   statistiki.
    
    Obychno indeksy ne ispol'zuyutsya dlya ORDER BY ili dlya vypolneniya
    svyazyvanij. Posledovatel'nyj perebor sleduyuschij za yavnoj
@@ -899,61 +676,23 @@ a
      * Stroka poiska ne dolzhna nachinat'sya s simvola klassa, t.e.
        [a-e].
      * Poisk nezavisimyj ot registra, takoj kak ILIKE i ~* ne ispol'zuet
-       indeksy. Vmesto nego, ispol'zujte funkcional'nye indeksy, kotorye
-       opisyvayutsya v sekcii 4.12.
+       indeksy. Vmesto nego, ispol'zujte indeksy vyrazhenij, kotorye
+       opisyvayutsya v sekcii 4.8.
      * Vo vremya initdb dolzhna ispol'zovat'sya lokal' po umolchaniyu C,
-       potomu chto ne suschestvuet vozmozhnosti uznat' next-greater
-       simvol dlya ne-C lokali. Vy mozhete dlya takih sluchaev sozdat'
-       special'nyj indeks
-        text_pattern_ops
-
-       kotoryj rabotaet tol'ko dlya
-        LIKE
-
-       indeksirovaniya.
+       potomu chto ne suschestvuet vozmozhnosti uznat' sleduyuschij
+       naibol'shij simvol dlya ne-C lokali. Vy mozhete dlya takih
+       sluchaev sozdat' special'nyj indeks text_pattern_ops kotoryj
+       rabotaet tol'ko dlya LIKE indeksirovaniya.
        
    V vypuskah do versii 8.0, indeksy chasto nel'zya bylo ispol'zovat',
    esli tipy dannyh tochno ne sovpadali s indeksnymi tipami kolonok. `Eto
    osobenno kasalos' int2, int8 i numeric indeksov kolonok.
    
-    4.9) Kak posmotret' na to, kak optimizator vypolnyaet moj zapros?
+    4.7) Kak posmotret' na to, kak optimizator vypolnyaet moj zapros?
     
    Smotrite stranicu rukovodstva posvyaschennuyu EXPLAIN.
    
-    4.10) CHto takoe R-tree indeks?
-    
-   R-tree indeks ispol'zuetsya dlya indeksirovaniya prostranstvennyh
-   dannyh. Indeks h`esha ne mozhet upravlyat' poiskami diapazona. B-tree
-   indeks upravlyaet tol'ko poiskami diapazona v odnom izmerenii. R-tree
-   indeks mozhet upravlyat' mnogorazmernymi dannymi. Naprimer, esli
-   R-tree indeks mozhet byt' vstroen v atribut tipa point, to sistema
-   mozhet bolee `effektivno otvetit' na zapros tipa "vybrat' vse tochki
-   vnutri zadannogo chetyrehugol'nika."
-   
-   Kanonicheskij istochnik, opisyvayuschij pervonachal'noe sozdanie
-   R-tree `eto:
-   
-   Guttman, A. "R-trees: A Dynamic Index Structure for Spatial
-   Searching." Proceedings of the 1984 ACM SIGMOD Int'l Conf on Mgmt of
-   Data, 45-57.
-   
-   Vy mozhete najti `etot dokument v knige Stounbrejkera "Readings in
-   Database Systems".
-   
-   Vstroennnye R-tree mogut upravlyat' poligonami i boksami. V teorii,
-   R-tree mogut byt' rasshireny dlya upravleniya bol'shim kolichestvom
-   izmerenij. Na praktike, rasshirenie R-tree trebuet nekotoryh usilij i
-   u nas, v dannyj moment, net kakoj-libo dokumentacii o tom, kak `eto
-   sdelat'.
-   
-    4.11) CHto takoe Genetic Query Optimizer?
-    
-   Modul' GEQO proizvodit bystruyu optimizaciyu zaprosa, kogda proishodit
-   svyazyvanie mnogih tablic cherez Genetic Algorithm (GA). `Eto
-   pozvolyaet upravlyat' bol'shimi zaprosami na svyazyvanie cherez
-   neistoschayuschij poisk.
-   
-    4.12) Kak mne vypolnit' poisk regulyarnogo vyrazheniya i poisk nezavisimyj
+    4.8) Kak mne vypolnit' poisk regulyarnogo vyrazheniya i poisk nezavisimyj
     ot registra bukv poisk regulyarnogo vyrazheniya? Kak mne ispol'zovat'
     indeks dlya poiska nezavisimogo ot registra bukv?
     
@@ -967,27 +706,24 @@ a
     WHERE lower(col) = 'abc';
 
    `Eta konstrukciya ne budet ispol'zovat' standartnyj indeks. Odnako,
-   esli vy sozdadite funkcional'nyj indeks, on budet ispol'zovan:
+   esli vy sozdadite indeks vyrazheniya, on budet ispol'zovan:
     CREATE INDEX tabindex ON tab (lower(col));
 
-    4.13) Kak ya mogu opredelit', chto znachenie polya ravno NULL v kakom-libo
+    4.9) Kak ya mogu opredelit', chto znachenie polya ravno NULL v kakom-libo
     zaprose?
     
    Vy prosto sravnivaete znachenie s IS NULL i IS NOT NULL.
    
-    4.14) Kakovy otlichiya mezhdu raznymi simvol'nymi tipami?
+    4.10) Kakovy otlichiya mezhdu raznymi simvol'nymi tipami?
     
-Tip            Vnutrennee imya   Zamechaniya
---------------------------------------------------
-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
-BYTEA           bytea           massiv bajt peremennoj dliny (mozhno ispol'zova
-t' null-bajt bez opaski)
-"char"          char            odin simvol
-
+   Tip Vnutrennee imya Zamechaniya
+   VARCHAR(n) varchar razmer zadaet maksimal'nuyu dlinu, net zapolneniya
+   CHAR(n) bpchar zapolnyaetsya pustotoj do fiksirovannoj dliny
+   TEXT text net zadavaemogo verhnego ogranicheniya ili dliny
+   BYTEA bytea massiv bajt peremennoj dliny (mozhno ispol'zovat'
+   null-bajt bez opaski)
+   "char" char odin simvol
+   
    Vnutrennee imya vy mozhete uvidet', kogda smotrite sistemnye katalogi
    i v nekotoryh soobscheniyah ob oshibkah.
    
@@ -1010,7 +746,7 @@ t' null-bajt bez opaski)
    znacheniya kotoryh mogut vklyuchat' NULL bajty. Vse tipy opisannye
    zdes', imeyut shodnye harakteristiki proizvoditel'nosti.
    
-    4.15.1) Kak mne sozdat' pole serial/s-avto-uvelicheniem?
+    4.11.1) Kak mne sozdat' pole serial/s-avto-uvelicheniem?
     
    PostgreSQL podderzhivaet tip dannyh SERIAL. On avtomaticheski sozdaet
    posledovatel'nost'. Naprimer:
@@ -1027,18 +763,14 @@ t' null-bajt bez opaski)
     );
 
    Smotrite podrobnosti o posledovatel'nostyah na stranice rukovodstva
-   posvyaschennoj create_sequence. Vy takzhe mozhete ispol'zovat' kazhdoe
-   pole OID v zapisi kak unikal'noe znachenie. Odnako, esli vam nuzhen
-   damp i perezagruzka bazy dannyh, vam neobhodimo ispol'zovat' komandu
-   pg_dump s opciej -o ili opciyu COPY WITH OIDS dlya sohraneniya
-   znachenij polya OID.
+   posvyaschennoj create_sequence.
    
-    4.15.2) Kak mne poluchit' znachenie pri vstavke SERIAL?
+    4.11.2) Kak mne poluchit' znachenie pri vstavke SERIAL?
     
    Odin iz sposobov sostoit v poluchenii sleduyuschego znacheniya SERIAL
    iz ob"ekta sequence s pomosch'yu funkcii nextval() pered vstavkoj i
    zatem vstavlyat' `eto znachenie yavno. Ispol'zujte tablicu-primer v
-   4.15.1, primer v psevdoyazyke pokazhet kak `eto delaetsya:
+   4.11.1, primer v psevdoyazyke pokazhet kak `eto delaetsya:
     new_id = execute("SELECT nextval('person_id_seq')");
     execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
 
@@ -1055,21 +787,13 @@ t' null-bajt bez opaski)
     execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
     new_id = execute("SELECT currval('person_id_seq')");
 
-   I nakonec, vy mozhete ispol'zovat' znachenie OID, vozraschaemoe iz
-   opertora INSERT chtoby uvidet' znachenie po umolchaniyu, chto
-   predpolozhitel'no yavlyaetsya naimenee perenosimym na drugie platformy
-   resheniem, k tomu zhe znachenie oid budet urezat'sya, kogda ono
-   dostignet 4 milliardov. V Perl, ispol'zuya DBI s modulem Edmund
-   Mergl'ya DBD::Pg, znachenie oid stanovitsya dostupnym cherez
-   $sth->{pg_oid_status} posle $sth->execute().
-   
-    4.15.3) Ne mozhet li poluchit'sya tak, chto ispol'zovanie currval() i
+    4.11.3) Ne mozhet li poluchit'sya tak, chto ispol'zovanie currval() i
     nextval() privedet k zaciklirovaniyu s drugimi pol'zovatelyami?
     
-   Net. currval() vozvraschaet tekuschee znachenie, naznachennoe vashem
-   backend'om, a ne drugimi pol'zovatelyami.
+   Net. currval() vozvraschaet tekuschee znachenie, naznachennoe vashej
+   sessiej, a ne drugimi sessiyami.
    
-    4.15.4) Pochemu chisla iz moej posledovatel'nosti ne ispol'zuyutsya snova
+    4.11.4) Pochemu chisla iz moej posledovatel'nosti ne ispol'zuyutsya snova
     pri otmene tranzakcii? Pochemu sozdayutsya razryvy pri numeracii v kolonke,
     gde ya ispol'zuyu posledovatel'nost'/SERIAL?
     
@@ -1078,64 +802,30 @@ t' null-bajt bez opaski)
    blokiruyutsya do polnogo vypolneniya tranzakcij. `Eto mozhet vyzyvat'
    razryvy v numeracii pri otmene tranzakcij.
    
-    4.16) CHto takoe OID? CHto takoe TID?
+    4.12) CHto takoe OID? CHto takoe TID?
     
-   Polya OID sluzhat unikal'nymi idetifikatorami zapisej v PostgreSQL.
-   Kazhdaya zapis', kotoraya sozdaiotsya v PostgreSQL poluchaet
-   unikal'nyj OID. Vse znacheniya OID generiruemye vo vremya initdb
-   imeyut znacheniya men'she 16384 (iz include/access/transam.h). Vse
-   sozdannye pol'zovatelem OID imeyut bOl'shie znachenie. Po umolchaniyu,
-   vse `eti OID yavlyayutsya unikal'nymi ne tol'ko vnutri kakoj-libo
-   tablicy ili bazy dannyh, no i vnutri vsej SUBD PostgreSQL.
-   
-   PostgreSQL ispol'zuet OID v svoih vnutrennih sistemnyh tablicah dlya
-   svyazi zapisej i tablic. Znacheniya OID mogut byt' ispol'zovany dlya
-   identifikacii zadannyh pol'zovatelem zapisej, a takzhe ispol'zovat'sya
-   pri svyazyvaniyah. Rekomenduetsya ispol'zovat' tip kolonki OID dlya
-   hraneniya znachenij OID Vy mozhete sozdat' indeks na pole OID dlya
-   bolee bystrogo dostupa.
-   
-   Znacheniya OID naznachayutsya dlya vseh novyh zapisej iz central'noj
-   oblasti, kotorye ispol'zuyutsya vsemi vsemi bazami dannyh. Esli vy
-   hotite izmenit' OID na kakoe-libo drugoe znachenie ili esli vy hotite
-   sozdat' kopiyu tablicy s takimizhe OID, to `eto mozhno sdelat' tak:
-        CREATE TABLE new_table(mycol int);
-        SELECT oid AS old_oid, mycol INTO tmp_table FROM old_table;
-        COPY tmp_table TO '/tmp/pgtable';
-        COPY new_table WITH OIDS FROM '/tmp/pgtable';
-        DROP TABLE tmp_table;
-
-   OID hranitsya kak 4-h bajtnoe celoe i ne mozhet prevyshat' znachenie v
-   4 milliarda. Odnako, esche nikto ne soobschil o tom, chto takoe
-   proizoshlo, no my planiruem do togo kak `eto sluchit'sya izbavitsya ot
-   `etogo ogranicheniya.
+   Kazhdaya, sozdavaemaya v PostgreSQL tablichnaya stroka, poluchaet
+   unikal'nyj indentifikator OID za isklyucheniem sluchaya kogda
+   ispol'zovalos' WITHOUT OIDS. OID - `eto avtomaticheski naznachaemoe
+   unikal'noe 4-h bajtovoe celoe chislo. Odnako, posle togo kak ego
+   znachenie prevysit 4 milliarda, znacheniya OID nachinayut
+   dublirovat'sya. PostgreSQL ispol'zuet OID dlya svyazyvaniya svoih
+   vnutrennih tablic.
+   
+   Dlya unikal'nyh znachenij v kolonkah tablicy pol'zovatelya, luchshim
+   sposobom yavlyaetsya ispol'zovanie SERIAL vmesto OID, potomu chto
+   posledovatel'nosti SERIAL unikal'ny tol'ko vnutri tablicy i takim
+   obrazom men'she podverzheny perepolneniyu. Dlya hraneniya znachenij
+   8-mi bajtnoj posledovatel'nosti dostupen tip SERIAL8.
    
    TID ispol'zuetsya dlya identifikacii special'nyh fizicheskih zapisej s
    blochnymi i offset znacheniyami. TID izmenyaetsya posle togo kak
-   zapisi byli izmeneny ili peregruzheny.
+   stroki v tablice byli izmeneny ili peregruzheny.
    
    TID ispol'zuetsya indeksnymi zapisyami v kachestve ukazatelya na
    fizicheskie zapisi.
    
-    4.17) CHto oznachayut nekotorye terminy ispol'zuemye v PostgreSQL?
-    
-   Nekotoryj ishodnyj kod i staraya dokumentaciya ispol'zuyut
-   obscheupotrebitel'nye terminy. Vot nekotorye iz nih:
-     * table, relation, class
-     * row, record, tuple
-     * column, field, attribute
-     * retrieve, select
-     * replace, update
-     * append, insert
-     * OID, serial value
-     * portal, cursor
-     * range variable, table name, table alias
-       
-   Spisok obschih terminov po bazam dannyh mozhno najti na
-   http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary
-   /glossary.html
-   
-    4.18) Pochemu ya poluchayu oshibku "ERROR: Memory exhausted in
+    4.13) Pochemu ya poluchayu oshibku "ERROR: Memory exhausted in
     AllocSetAlloc()"?
     
    Predpolozhitel'no u vas zakonchilas' virtual'naya pamyat' ili chto
@@ -1152,11 +842,11 @@ t' null-bajt bez opaski)
    klientom, potomu chto backend vozvraschaet slishkom bol'shoj ob"em
    dannyh, popytajtes' vypolnit' `etu komandu pered zapuskom klienta.
    
-    4.19) Kak mne uznat', kakaya versiya PostgreSQL zapuschena?
+    4.14) Kak mne uznat', kakaya versiya PostgreSQL zapuschena?
     
    Iz psql, naberite SELECT version();
    
-    4.20) Pochemu pri rabote s moim bol'shim ob"ektom ya poluchayu oshibku
+    4.15) Pochemu pri rabote s moim bol'shim ob"ektom ya poluchayu oshibku
     "invalid large obj descriptor"?
     
    Vam nuzhno pri ispol'zovanii bol'shogo ob"ekta pomestit' v nachale
@@ -1174,38 +864,13 @@ t' null-bajt bez opaski)
    Esli vy ispol'zuete takoj interfejs klienta kak ODBC, vam vozmozhno
    ponadobitsya ustanovit' auto-commit off.
    
-    4.21) Kak mne sozdat' kolonku kotoraya po umolchaniyu budet soderzhat'
+    4.16) Kak mne sozdat' kolonku kotoraya po umolchaniyu budet soderzhat'
     tekuschee vremya?
     
    Ispol'zujte CURRENT_TIMESTAMP:
-CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
+CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
 
-    4.22) Pochemu moi podzaprosy, ispol'zuyuschie IN tak medlenno rabotaeyut?
-    
-   V versiyah do 7.4, podzaprosy svyazyvalis' s roditel'skimi zaprosami
-   cherez posledovatel'nyj perebor rezul'tatov pozaprosa dlya kazhdoj
-   zapisi roditel'skogo zaprosa. Esli podzapros vozvraschaet tol'ko
-   neskol'ko zapisej, a roditel'skij zapros vozvraschaet mnogo zapisej,
-   IN rabotaet naibolee bystro. CHtoby uvelichit' skorost' v drugih
-   zaprosah, zamenite IN na EXISTS:
-    SELECT *
-    FROM tab
-    WHERE col IN (SELECT subcol FROM subtab);
-
-   na:
-    SELECT *
-    FROM tab
-    WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
-
-   CHtoby takaya konstrukciya rabotala bystro, kolonka subcol dolzhna
-   byt' proindeksirovana.
-   
-   V versii 7.4 i vyshe, IN fakticheski ispol'zuet takoj zhe mehanizm
-   svyazyvaniya kak i obychnye zaprosy, po`etomu predpochtitel'nym
-   yavlyaetsya ispol'zovanie EXISTS
-   .
-   
-    4.23) Kak mne vypolnit' vneshnee svyazyvanie?
+    4.17) Kak mne vypolnit' vneshnee svyazyvanie?
     
    PostgreSQL podderzhivaet vneshnee svyazyvanie, ispol'zuya standartnyj
    sintaksis SQL. Vot dva primera:
@@ -1217,27 +882,14 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
     FROM t1 LEFT OUTER JOIN t2 USING (col);
 
    `Eto identichnye zaprosy svyazyvaniya t1.col i t2.col, takzhe
-   vozvraschayut lyubye nesvyazannye zapisi v t1 (kotorye ne sovpadayut s
-   t2). RIGHT svyazyvanie dolzhno dobavit' nesvyazannye zapisi t2. FULL
-   svyazyvanie dolzhno vozvratit' sovpavshie zapisi plyus vse
-   nesvyazannye zapisi iz t1 i t2. Slovo OUTER yavlyaetsya
+   vozvraschayut lyubye nesvyazannye stroki v t1 (kotorye ne sovpadayut s
+   t2). RIGHT svyazyvanie dolzhno dobavit' nesvyazannye stroki t2. FULL
+   svyazyvanie dolzhno vozvratit' sovpavshie stroki plyus vse
+   nesvyazannye stroki iz t1 i t2. Slovo OUTER yavlyaetsya
    neobyazatel'nym i naznachaetsya v LEFT, RIGHT i FULL svyazyvaniyah.
    Obychnye svyazyvaniya nazyvayutsya INNER svyazyvaniya.
    
-   V predyduschih versiyah, vneshnie svyazyvaniya mogli byt' `emulirovany
-   ispol'zuya UNION i NOT IN. Naprimer, kogda proishodit svyazyvanie tab1
-   i tab2, sleduyuschij zapros vypolnyaet vneshnee svyazyvanie dvuh
-   tablic:
-    SELECT tab1.col1, tab2.col2
-    FROM tab1, tab2
-    WHERE tab1.col1 = tab2.col1
-    UNION ALL
-    SELECT tab1.col1, NULL
-    FROM tab1
-    WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)
-    ORDER BY col1
-
-    4.24) Kak vypolnyat' zaprosy, ispol'zuyuschie neskol'ko baz dannyh?
+    4.18) Kak vypolnyat' zaprosy, ispol'zuyuschie neskol'ko baz dannyh?
     
    Ne suschestvuet sposoba sozdat' zapros k bazam dannyh otlichnym ot
    tekuschej. Poskol'ku PostgreSQL zagruzhaet sistemnye katalogi
@@ -1245,21 +897,19 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
    vesti takoj mezhbazovyj zapros.
    
    contrib/dblink pozvolyaet zaprosy mezhdu bazami, ispol'zuya vyzovy
-   funkcij. Razumeetsya, klient mozhet odnovremenno ustanavlivat'
+   funkcij. Razumeetsya, klient mozhet odnovremenno takzhe ustanavlivat'
    soedieneniya s razlichnymi bazami dannyh i takih obrazom ob"edinyat'
    informaciyu iz nih.
    
-    4.25) Kak mne vernut' iz funkcii neskol'ko zapisej?
+    4.19) Kak mne vernut' iz funkcii neskol'ko strok tablicy?
     
-   V versii 7.3, vy mozhete legko vernut' neskol'ko zapisej ili kolonok
-   iz kakoj-libo funkcii,
-   http://techdocs.postgresql.org/guides/SetReturningFunctions
-   .
+   Vy mozhete legko ispol'zovat' funkcii, vozvraschayuschie spisok,
+   http://techdocs.postgresql.org/guides/SetReturningFunctions.
    
-    4.26) Pochemu ya ne mogu nadezhno sozdavat'/udalyat' vremennye tablicy v
+    4.20) Pochemu ya ne mogu nadezhno sozdavat'/udalyat' vremennye tablicy v
     funkciyah PL/PgSQL?
     
-   PL/PgSQL k`eshiruet soderzhimoe funkcii i odin iz negativnyh `effektov
+   PL/PgSQL k`eshiruet scenarii funkcii i odin iz negativnyh `effektov
    `etogo sostoit v tom, chto esli funkciya PL/PgSQL obraschaetsya k
    vremennoj tablice i `eta tablica pozdnee udalyaetsya i peresozdaetsya,
    a funkciya zatem vyzyvaetsya snova, to ee vyzov privedet k oshibke,
@@ -1268,7 +918,7 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
    EXECUTE dlya dostupa k vremennym tablicam v PL/PgSQL. Ispol'zovanie
    `etogo operatora zastavit zapros peregenerirovat'sya kazhdyj raz.
    
-    4.27) Kakie opcii shifrovaniya suschestvuyut?
+    4.21) Kakie opcii shifrovaniya suschestvuyut?
     
      * contrib/pgcrypto soderzhit mnogo funkcij shifrovaniya dlya
        ispol'zovaniya v SQL zaprosah.
@@ -1281,8 +931,7 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
        transportov, takih kak stunnel ili ssh, vmesto sobstvennyh SSL
        soedinenij PostgreSQL).
      * Paroli pol'zovatelej k baze dannyh avtomaticheski shifruyutsya,
-       pri sohranenii v versii 7.3. V predyduschih versiyah, vy dolzhny
-       razreshit' opciyu PASSWORD_ENCRYPTION v postgresql.conf.
+       pri sohranenii v sistemnyh tablicah.
      * Server mozhno zapustit', ispol'zuya shifrovannuyu fajlovuyu
        sistemu.
      _________________________________________________________________
@@ -1302,7 +951,7 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
    Otprav'te vashi rasshireniya v spisok rassylki pgsql-hackers i oni po
    vozmozhnosti budut pomescheny v podkatalog contrib/.
    
-    5.3) Kak mne napisat' C funkciyu, vozvraschayuschuyu zapis'?
+    5.3) Kak mne napisat' C funkciyu, vozvraschayuschuyu stroku tablicy?
     
    V versiyah PostgreSQL, nachinaya s 7.3, funkcii, vozvraschayuschie
    tablicy polnost'yu podderzhivayutsya v C, PL/PgSQL i SQL. Podrobnosti
index c065123f1ce960126a2ab51b7861a1bc79cb4f65..16f50832dd09a6e3ce191a9d7665546b32b79c56 100644 (file)
@@ -12,7 +12,7 @@
   <BODY bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000" alink="#0000ff">
     <H1>ïÔ×ÅÔÙ ÎÁ ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ ×ÏÐÒÏÓÙ ÐÏ PostgreSQL</H1>
 
-    <P>äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: óÒÅÄÁ 15 ÄÅËÁÂÒÑ 20:06:34 EST 2004</P>
+    <P>äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: óÒÅÄÁ 2 ÆÅ×ÒÁÌÑ 12:44:03 EST 2005</P>
 
     <P>áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑΠ(Bruce Momjian) (<A href=
     "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
     </P>
 
     <P>óÁÍÕÀ Ó×ÅÖÕÀ ÁÎÇÌÉÊÓËÕÀ ×ÅÒÓÉÀ ÄÏËÕÍÅÎÔÁ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ
-    <A href="http://www.postgresql.org/docs/faqs/FAQ.html">http://www.PostgreSQL.org/docs/faqs/FAQ.html</A>.</P>
+    <A href="http://www.postgresql.org/files/documentation/faqs/FAQ.html">http://www.PostgreSQL.org/files/documentation/faqs/FAQ.html</A>.</P>
 
     <P>ïÔ×ÅÔÙ ÎÁ ×ÏÐÒÏÓÙ ÓÐÅÃÉÆÉÞÎÙÅ ÄÌÑ ËÏÎËÒÅÔÎÙÈ ÐÌÁÔÆÏÒÍ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ
-    <A href="http://www.postgresql.org/docs/index.html">http://www.PostgreSQL.org/docs/index.html</A>.</P>
+    <A href="http://www.postgresql.org/docs/faq/">http://www.PostgreSQL.org/docs/faq/</A>.</P>
     <HR>
 
     <H2 align="center">ïÂÝÉÅ ×ÏÐÒÏÓÙ</H2>
-    <A href="#1.1">1.1</A>) þÔÏ ÔÁËÏÅ PostgreSQL? ëÁË ÐÒÏÉÚÎÏÓÉÔÓÑ ÜÔÏ ÎÁÚ×ÁÎÉÅ?<BR>
+     <A href="#1.1">1.1</A>) þÔÏ ÔÁËÏÅ PostgreSQL? ëÁË ÐÒÏÉÚÎÏÓÉÔÓÑ ÜÔÏ ÎÁÚ×ÁÎÉÅ?<BR>
      <A href="#1.2">1.2</A>) ëÁËÏ×Ù Á×ÔÏÒÓËÉÅ ÐÒÁ×Á ÎÁ PostgreSQL?<BR>
-     <A href="#1.3">1.3</A>) îÁ ËÁËÉÈ Unix ÐÌÁÔÆÏÒÍÁÈ ÒÁÂÏÔÁÅÔ PostgreSQL?<BR>
-     <A href="#1.4">1.4</A>) óÕÝÅÓÔ×ÕÀÔ ÌÉ ×ÅÒÓÉÉ ÐÏÒÔÉÒÏ×ÁÎÎÙÅ ÎÅ ÎÁ Unix ÓÉÓÔÅÍÙ?<BR>
-     <A href="#1.5">1.5</A>) çÄÅ ÍÏÖÎÏ ×ÚÑÔØ PostgreSQL?<BR>
-     <A href="#1.6">1.6</A>) çÄÅ ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ?<BR>
+     <A href="#1.3">1.3</A>) îÁ ËÁËÉÈ ÐÌÁÔÆÏÒÍÁÈ ÒÁÂÏÔÁÅÔ PostgreSQL?<BR>
+     <A href="#1.4">1.4</A>) çÄÅ ÍÏÖÎÏ ×ÚÑÔØ PostgreSQL?<BR>
+     <A href="#1.5">1.5</A>) çÄÅ ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ?<BR>
+     <A href="#1.6">1.6</A>) ëÁË ÍÎÅ ÓÏÏÂÝÉÔØ Ï ÏÛÉÂËÅ?<BR>
      <A href="#1.7">1.7</A>) ëÁËÁÑ ×ÅÒÓÉÑ ÐÏÓÌÅÄÎÑÑ?<BR>
      <A href="#1.8">1.8</A>) ëÁËÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÉÍÅÅÔÓÑ × ÎÁÌÉÞÉÉ?<BR>
      <A href="#1.9">1.9</A>) ëÁË ÎÁÊÔÉ ÉÎÆÏÒÍÁÃÉÀ Ï ÉÚ×ÅÓÔÎÙÈ ÏÛÉÂËÁÈ ÉÌÉ ÏÔÓÕÔÓÔ×ÕÀÝÉÈ
     ×ÏÚÍÏÖÎÏÓÔÑÈ?<BR>
      <A href="#1.10">1.10</A>) ëÁË ÎÁÕÞÉÔØÓÑ <SMALL>SQL</SMALL>?<BR>
-     <A href="#1.11">1.11</A>) òÅÛÅÎÁ ÌÉ × PostgreSQL ÐÒÏÂÌÅÍÁ 2000-ÇÏ ÇÏÄÁ (Y2K)?<BR>
-     <A href="#1.12">1.12</A>) ëÁË ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?<BR>
-     <A href="#1.13">1.13</A>) ëÁË ÏÔÐÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ?<BR>
-     <A href="#1.14">1.14</A>) ëÁË ÓÒÁ×ÎÉ×ÁÔØ PostgreSQL Ó ÄÒÕÇÉÍÉ
+     <A href="#1.11">1.11</A>) ëÁË ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?<BR>
+     <A href="#1.12">1.12</A>) ëÁË ÓÒÁ×ÎÉ×ÁÔØ PostgreSQL Ó ÄÒÕÇÉÍÉ
     <SMALL>óõâä</SMALL>?<BR>
-     <A href="#1.15">1.15</A>) ëÁË ÏËÁÚÁÔØ ÆÉÎÁÎÓÏ×ÕÀ ÐÏÍÏÝØ PostgreSQL?<BR>
-     
+    
 
     <H2 align="center">÷ÏÐÒÏÓÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÐÏ ËÌÉÅÎÔÓËÏÊ ÞÁÓÔÉ</H2>
-    <A href="#2.1">2.1</A>) óÕÝÅÓÔ×ÕÀÔ ÌÉ <SMALL>ODBC</SMALL> ÄÒÁÊ×ÅÒÁ ÄÌÑ
-    PostgreSQL?<BR>
+    <A href="#2.1">2.1</A>) ëÁËÉÅ ÉÎÔÅÒÆÅÊÓÙ ÅÓÔØ ÄÌÑ PostgreSQL?<BR>
      <A href="#2.2">2.2</A>) ëÁËÉÅ ÉÎÓÔÒÕÍÅÎÔÙ ÓÕÝÅÓÔ×ÕÀÔ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ
     PostgreSQL ÞÅÒÅÚ Web?<BR>
      <A href="#2.3">2.3</A>) åÓÔØ ÌÉ Õ PostgreSQL ÇÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ
     ÐÏÌØÚÏ×ÁÔÅÌÑ?<BR>
-     <A href="#2.4">2.4</A>) ëÁËÉÅ ÑÚÙËÉ ÍÏÇÕÔ ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó
-    PostgreSQL?<BR>
      
 
     <H2 align="center">÷ÏÐÒÏÓÙ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ</H2>
     <A href="#3.1">3.1</A>) ëÁË ÍÎÅ ÕÓÔÁÎÏ×ÉÔØ PostgreSQL × ÍÅÓÔÏ ÏÔÌÉÞÎÏÅ
     ÏÔ <I>/usr/local/pgsql</I>?<BR>
-     <A href="#3.2">3.2</A>) ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ <I>postmaster</I>, Ñ ÐÏÌÕÞÁÀ
-     ÓÏÏÂÝÅÎÉÅ <I>Bad System Call</I> ÉÌÉ ÓÏÏÂÝÅÎÉÅ core dumped. ðÏÞÅÍÕ?<BR>
-     <A href="#3.3">3.3</A>) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ <I>postmaster</I>, Ñ
-    ÐÏÌÕÞÁÀ ÏÛÉÂËÉ <I>IpcMemoryCreate</I>. ðÏÞÅÍÕ?<BR>
-     <A href="#3.4">3.4</A>) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ <I>postmaster</I>, Ñ
-    ÐÏÌÕÞÁÀ ÏÛÉÂËÉ <I>IpcSemaphoreCreate</I>. ðÏÞÅÍÕ?<BR>
-     <A href="#3.5">3.5</A>) ëÁË ÍÎÅ ÕÐÒÁ×ÌÑÔØ ÓÏÅÄÉÎÅÎÉÑÍÉ Ó ÄÒÕÇÉÈ
+     <A href="#3.2">3.2</A>) ëÁË ÍÎÅ ÕÐÒÁ×ÌÑÔØ ÓÏÅÄÉÎÅÎÉÑÍÉ Ó ÄÒÕÇÉÈ
     ËÏÍÐØÀÔÅÒÏ×?<BR>
-     <A href="#3.6">3.6</A>) ëÁËÉÅ ÎÁÓÔÒÏÊËÉ ÍÎÅ ÎÕÖÎÏ ÓÄÅÌÁÔØ ÄÌÑ ÕÌÕÞÛÅÎÉÑ
+     <A href="#3.3">3.3</A>) ëÁËÉÅ ÎÁÓÔÒÏÊËÉ ÍÎÅ ÎÕÖÎÏ ÓÄÅÌÁÔØ ÄÌÑ ÕÌÕÞÛÅÎÉÑ
      ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ?<BR>
-     <A href="#3.7">3.7</A>) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ × ÎÁÌÉÞÉÉ?<BR>
-     <A href="#3.8">3.8</A>) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ <I>"Sorry, too many
+     <A href="#3.4">3.4</A>) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ × ÎÁÌÉÞÉÉ?<BR>
+     <A href="#3.5">3.5</A>) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ <I>"Sorry, too many
     clients"</I> ËÏÇÄÁ ÐÙÔÁÀÓØ ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ?<BR>
-     <A href="#3.9">3.9</A>) þÔÏ ÎÁÈÏÄÉÔÓÑ × ËÁÔÁÌÏÇÅ <I>pgsql_tmp</I>?<BR>
-     <A href="#3.10">3.10</A>) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ
+     <A href="#3.6">3.6</A>) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ
     ÏÂÎÏ×ÌÅÎÉÉ ×ÙÐÕÓËÏ× PostgreSQL?<BR>
-     <A href="#3.11">3.11</A>) ëÁËÏÅ ËÏÍÐØÀÔÅÒÎÏÅ "ÖÅÌÅÚÏ" Ñ ÄÏÌÖÅÎ
+     <A href="#3.7">3.7</A>) ëÁËÏÅ ËÏÍÐØÀÔÅÒÎÏÅ "ÖÅÌÅÚÏ" Ñ ÄÏÌÖÅÎ
     ÉÓÐÏÌØÚÏ×ÁÔØ?<BR>
      
 
     <H2 align="center">÷ÏÐÒÏÓÙ ÜËÓÐÌÕÁÔÁÃÉÉ</H2>
-    <A href="#4.1">4.1</A>) ÷ ÞÅÍ ÏÔÌÉÞÉÅ ÍÅÖÄÕ ÂÉÎÁÒÎÙÍ É ÎÏÒÍÁÌØÎÙÍ
-    ËÕÒÓÏÒÏÍ?<BR>
-     <A href="#4.2">4.2</A>) ëÁË ×ÙÐÏÌÎÉÔØ <SMALL>SELECT</SMALL> ÔÏÌØËÏ
+     <A href="#4.1">4.1</A>) ëÁË ×ÙÐÏÌÎÉÔØ <SMALL>SELECT</SMALL> ÔÏÌØËÏ
      ÄÌÑ ÎÅÓËÏÌØËÉÈ ÐÅÒ×ÙÈ ÓÔÒÏÞÅË ÚÁÐÒÏÓÁ? äÌÑ ÐÒÏÉÚ×ÏÌØÎÏÊ ÓÔÒÏËÉ?<BR>
-     <A href="#4.3">4.3</A>) ëÁË ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÔÁÂÌÉàÉÌÉ ÄÒÕÇÉÈ
-     ËÏÍÐÏÎÅÎÔÏ× × <I>psql</I>?<BR>
-     <A href="#4.4">4.4</A>) ëÁË ÕÄÁÌÉÔØ ËÏÌÏÎËÕ ÉÚ ÔÁÂÌÉÃÙ ÉÌÉ ÉÚÍÅÎÉÔØ
-     Å£ ÔÉРÄÁÎÎÙÈ?<BR>
-     <A href="#4.5">4.5</A>) ëÁËÏ×Ù ÍÁËÓÉÍÁÌØÎÙÅ ÒÁÚÍÅÒÙ ÄÌÑ ÚÁÐÉÓÅÊ,
-    ÔÁÂÌÉàɠÂÁÚÙ ÄÁÎÎÙÈ?<BR>
-     <A href="#4.6">4.6</A>) ëÁË ÍÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÂÁÚÅ ÄÁÎÎÙÈ
+     <A href="#4.2">4.2</A>) ëÁË ÍÎÅ ÎÁÊÔÉ ËÁËÉÅ ÔÁÂÌÉÃÙ, ÉÎÄÅËÓÙ,
+     ÂÁÚÙ ÄÁÎÎÙÈ É ÐÏÌØÚÏ×ÁÔÅÌÉ ÓÕÝÅÓÔ×ÕÀÔ? ëÁË ÍÎÅ Õ×ÉÄÅÔØ ÚÁÐÒÏÓÙ,
+     ËÏÔÏÒÙÅ ÉÓÐÏÌØÚÕÅÔ <I>psql</I> ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ?<BR>
+     <A href="#4.3">4.3</A>) ëÁË ÉÚÍÅÎÉÔØ ÔÉРÄÁÎÎÙÈ ËÏÌÏÎËÉ?<BR>
+     <A href="#4.4">4.4</A>) ëÁËÏ×Ù ÍÁËÓÉÍÁÌØÎÙÅ ÒÁÚÍÅÒÙ ÄÌÑ ÓÔÒÏË × ÔÁÂÌÉÃÅ,
+     ÔÁÂÌÉàɠÂÁÚÙ ÄÁÎÎÙÈ?<BR>
+     <A href="#4.5">4.5</A>) ëÁË ÍÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÂÁÚÅ ÄÁÎÎÙÈ
      ÎÕÖÎÏ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ ÉÚ ÏÂÙÞÎÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ?<BR>
-     <A href="#4.7">4.7</A>) ëÁË ÍÎÅ ÕÂÅÄÉÔØÓÑ, ÞÔÏ ÓÕÝÅÓÔ×ÕÀÔ ÎÕÖÎÙÅ ÍÎÅ
-     ÔÁÂÌÉÃÙ, ÉÎÄÅËÓÙ, ÂÁÚÙ ÄÁÎÎÙÈ É ÐÏÌØÚÏ×ÁÔÅÌÉ?<BR>
-     <A href="#4.8">4.8</A>) õ ÍÅÎÑ ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÀÔ ÚÁÐÒÏÓÙ ÉÌÉ ÎÅ
-     ÐÒÏÉÓÈÏÄÉÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÉÎÄÅËÓÏ×. ðÏÞÅÍÕ?<BR>
-     <A href="#4.9">4.9</A>) ëÁË ÐÏÓÍÏÔÒÅÔØ ÎÁ ÔÏ, ËÁË ÏÐÔÉÍÉÚÁÔÏÒ ×ÙÐÏÌÎÑÅÔ
+     <A href="#4.6">4.6</A>) ðÏÞÅÍÕ ÍÏÉ ÚÁÐÒÏÓÙ ÒÁÂÏÔÁÀÔ ÍÅÄÌÅÎÏ? ðÏÞÅÍÕ
+     ÏÎÉ ÎÅ ÉÓÐÏÌØÚÕÀÔ ÍÏÉ ÉÎÄÅËÓÙ?<BR>
+     <A href="#4.7">4.7</A>) ëÁË ÐÏÓÍÏÔÒÅÔØ ÎÁ ÔÏ, ËÁË ÏÐÔÉÍÉÚÁÔÏÒ ×ÙÐÏÌÎÑÅÔ
      ÍÏÊ ÚÁÐÒÏÓ?<BR>
-     <A href="#4.10">4.10</A>) þÔÏ ÔÁËÏÅ R-tree ÉÎÄÅËÓ?<BR>
-     <A href="#4.11">4.11</A>) þÔÏ ÔÁËÏÅ Genetic Query Optimizer?<BR>
-     <A href="#4.12">4.12</A>) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ
+     <A href="#4.8">4.8</A>) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ
      É ÐÏÉÓË ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË× ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ?
      ëÁË ÍÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÄÅËÓ ÄÌÑ ÐÏÉÓËÁ ÎÅÚÁ×ÉÓÉÍÏÇÏ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË×?<BR>
-     <A href="#4.13">4.13</A>) ëÁË Ñ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ, ÞÔÏ ÚÎÁÞÅÎÉÅ ÐÏÌÑ ÒÁ×ÎÏ
+     <A href="#4.9">4.9</A>) ëÁË Ñ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ, ÞÔÏ ÚÎÁÞÅÎÉÅ ÐÏÌÑ ÒÁ×ÎÏ
      <SMALL>NULL</SMALL> × ËÁËÏÍ-ÌÉÂÏ ÚÁÐÒÏÓÅ?<BR>
-     <A href="#4.14">4.14</A>) ëÁËÏ×Ù ÏÔÌÉÞÉÑ ÍÅÖÄÕ ÒÁÚÎÙÍÉ ÓÉÍ×ÏÌØÎÙÍÉ
+     <A href="#4.10">4.10</A>) ëÁËÏ×Ù ÏÔÌÉÞÉÑ ÍÅÖÄÕ ÒÁÚÎÙÍÉ ÓÉÍ×ÏÌØÎÙÍÉ
      ÔÉÐÁÍÉ?<BR>
-     <A href="#4.15.1">4.15.1</A>) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ÐÏÌÅ serial/Ó-Á×ÔÏ-Õ×ÅÌÉÞÅÎÉÅÍ?<BR>
-     <A href="#4.15.2">4.15.2</A>) ëÁË ÍÎÅ ÐÏÌÕÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÒÉ ×ÓÔÁ×ËÅ
+     <A href="#4.11.1">4.11.1</A>) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ÐÏÌÅ serial/Ó-Á×ÔÏ-Õ×ÅÌÉÞÅÎÉÅÍ?<BR>
+     <A href="#4.11.2">4.11.2</A>) ëÁË ÍÎÅ ÐÏÌÕÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÒÉ ×ÓÔÁ×ËÅ
     <SMALL>SERIAL</SMALL>?<BR>
-     <A href="#4.15.3">4.15.3</A>) îÅ ÍÏÖÅÔ ÌÉ ÐÏÌÕÞÉÔØÓÑ ÔÁË, ÞÔÏ
+     <A href="#4.11.3">4.11.3</A>) îÅ ÍÏÖÅÔ ÌÉ ÐÏÌÕÞÉÔØÓÑ ÔÁË, ÞÔÏ
     ÉÓÐÏÌØÚÏ×ÁÎÉÅ <I>currval()</I> É <I>nextval()</I> ÐÒÉ×ÅÄÅÔ Ë
     ÚÁÃÉËÌÉÒÏ×ÁÎÉÀ Ó ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ?<BR>
-     <A href="#4.15.4">4.15.4</A>) ðÏÞÅÍÕ ÞÉÓÌÁ ÉÚ ÍÏÅÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ
+     <A href="#4.11.4">4.11.4</A>) ðÏÞÅÍÕ ÞÉÓÌÁ ÉÚ ÍÏÅÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ
     ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÎÏ×Á ÐÒÉ ÏÔÍÅÎÅ ÔÒÁÎÚÁËÃÉÉ? ðÏÞÅÍÕ ÓÏÚÄÁÀÔÓÑ ÒÁÚÒÙ×Ù
     ÐÒÉ ÎÕÍÅÒÁÃÉÉ × ËÏÌÏÎËÅ, ÇÄÅ Ñ ÉÓÐÏÌØÚÕÀ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ/SERIAL?<BR>
-     <A href="#4.16">4.16</A>) þÔÏ ÔÁËÏÅ <SMALL>OID</SMALL>? þÔÏ ÔÁËÏÅ
+     <A href="#4.12">4.12</A>) þÔÏ ÔÁËÏÅ <SMALL>OID</SMALL>? þÔÏ ÔÁËÏÅ
     <SMALL>TID</SMALL>?<BR>
-     <A href="#4.17">4.17</A>) þÔÏ ÏÚÎÁÞÁÀÔ ÎÅËÏÔÏÒÙÅ ÔÅÒÍÉÎÙ ÉÓÐÏÌØÚÕÅÍÙÅ ×
-    PostgreSQL?<BR>
-     <A href="#4.18">4.18</A>) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ <I>"ERROR: Memory
+     <A href="#4.13">4.13</A>) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ <I>"ERROR: Memory
     exhausted in AllocSetAlloc()"</I>?<BR>
-     <A href="#4.19">4.19</A>) ëÁË ÍÎÅ ÕÚÎÁÔØ, ËÁËÁÑ ×ÅÒÓÉÑ PostgreSQL
+     <A href="#4.14">4.14</A>) ëÁË ÍÎÅ ÕÚÎÁÔØ, ËÁËÁÑ ×ÅÒÓÉÑ PostgreSQL
     ÚÁÐÕÝÅÎÁ?<BR>
-     <A href="#4.20">4.20</A>) ðÏÞÅÍÕ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÏÉÍ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ
+     <A href="#4.15">4.15</A>) ðÏÞÅÍÕ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÏÉÍ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ
      Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ <I>"invalid large obj descriptor"</I>?<BR>
-     <A href="#4.21">4.21</A>) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ËÏÌÏÎËÕ ËÏÔÏÒÁÑ ÐÏ ÕÍÏÌÞÁÎÉÀ
+     <A href="#4.16">4.16</A>) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ËÏÌÏÎËÕ ËÏÔÏÒÁÑ ÐÏ ÕÍÏÌÞÁÎÉÀ
      ÂÕÄÅÔ ÓÏÄÅÒÖÁÔØ ÔÅËÕÝÅÅ ×ÒÅÍÑ?<BR>
-     <A href="#4.22">4.22</A>) ðÏÞÅÍÕ ÍÏÉ ÐÏÄÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ
-    <CODE><SMALL>IN</SMALL></CODE> ÔÁË ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÅÀÔ?<BR>
-     <A href="#4.23">4.23</A>) ëÁË ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ?<BR>
-     <A href="#4.24">4.24</A>) ëÁË ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ÎÅÓËÏÌØËÏ
+     <A href="#4.17">4.17</A>) ëÁË ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ?<BR>
+     <A href="#4.18">4.18</A>) ëÁË ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ÎÅÓËÏÌØËÏ
      ÂÁÚ ÄÁÎÎÙÈ?<BR>
-     <A href="#4.25">4.25</A>) ëÁË ÍÎÅ ×ÅÒÎÕÔØ ÉÚ ÆÕÎËÃÉÉ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ?<BR>
-     <A href="#4.26">4.26</A>) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ
+     <A href="#4.19">4.19</A>) ëÁË ÍÎÅ ×ÅÒÎÕÔØ ÉÚ ÆÕÎËÃÉÉ ÎÅÓËÏÌØËÏ ÓÔÒÏË ÔÁÂÌÉÃÙ?<BR>
+     <A href="#4.20">4.20</A>) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ
      ×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ × ÆÕÎËÃÉÑÈ PL/PgSQL?<BR>
-     <A href="#4.27">4.27</A>) ëÁËÉÅ ÏÐÃÉÉ ÛÉÆÒÏ×ÁÎÉÑ ÓÕÝÅÓÔ×ÕÀÔ?<BR>
+     <A href="#4.21">4.21</A>) ëÁËÉÅ ÏÐÃÉÉ ÛÉÆÒÏ×ÁÎÉÑ ÓÕÝÅÓÔ×ÕÀÔ?<BR>
 
     <H2 align="center">òÁÓÛÉÒÅÎÉÑ PostgreSQL</H2>
     <A href="#5.1">5.1</A>) ñ ÎÁÐÉÓÁÌ ÆÕÎËÃÉÀ ÏÐÒÅÄÅÌÑÅÍÕÀ ÐÏÌØÚÏ×ÁÔÅÌÅÍ.
      <A href="#5.2">5.2</A>) ëÁË Ñ ÍÏÇÕ ×ÎÅÓÔÉ ÎÅËÏÔÏÒÙÅ ËÌÁÓÓÎÙÅ ÎÏ×ÙÅ
      ÔÉÐÙ É ÆÕÎËÃÉÉ × PostgreSQL?<BR>
      <A href="#5.3">5.3</A>) ëÁË ÍÎÅ ÎÁÐÉÓÁÔØ C ÆÕÎËÃÉÀ, ×ÏÚ×ÒÁÝÁÀÝÕÀ
-    ÚÁÐÉÓØ?<BR>
+    ÓÔÒÏËÕ ÔÁÂÌÉÃÙ?<BR>
      <A href="#5.4">5.4</A>) ñ ÉÚÍÅÎÉÌ ÉÓÈÏÄÎÙÊ ÆÁÊÌ. ðÏÞÅÍÕ ÐÏÓÌÅ
      ÐÅÒÅËÏÍÐÉÌÑÃÉÉ Ñ ÎÅ ×ÉÖÕ ÉÚÍÅÎÅÎÉÊ?<BR>
      
 
     <H4><A name="1.1">1.1</A>) þÔÏ ÔÁËÏÅ PostgreSQL? ëÁË ÐÒÏÉÚÎÏÓÉÔÓÑ ÜÔÏ ÎÁÚ×ÁÎÉÅ?</H4>
 
-    <P>PostgreSQL ÐÒÏÉÚÎÏÓÉÔÓÑ <I>Post-Gres-Q-L (ðÏÓÔ-çÒÅÓ-ëØÀ-üÌ)</I>.
-    ðÏ ÁÄÒÅÓÕ http://www.postgresql.org/postgresql.mp3 ÄÏÓÔÕÐÅΠÚ×ÕËÏ×ÏÊ
-    ÆÁÊÌ Ó ÐÒÉÍÅÒÏÍ ËÁË ÜÔÏ ÎÕÖÎÏ ÐÒÏÉÚÎÏÓÉÔØ.</P>
-
-    <P>PostgreSQL - ÜÔÏ ÒÁÓÛÉÒÅÎÉÅ óõâä POSTGRES (É ÐÏÜÔÏÍÕ ÉÎÏÇÄÁ
-    ÇÏ×ÏÒÑÔ ÐÒÏÓÔÏ "Postgres"), ÉÓÓÌÅÄÏ×ÁÔÅÌØÓËÉÊ
-    ÐÒÏÔÏÔÉРÎÏ×ÏÇÏ ÐÏËÏÌÅÎÉÑ <SMALL>óõâä</SMALL>.
-    PostgreSQL ÏÄÎÏ×ÒÅÍÅÎÎÏ ÓÏÈÒÁÎÑÅÔ ÍÏÝÎÕÀ ÍÏÄÅÌØ ÄÁÎÎÙÈ É ÏÂÝÉÒÎÏÅ
-    ËÏÌÉÞÅÓÔ×Ï ÔÉÐÏ× POSTGRES, É ÚÁÍÅÝÁÅÔ ÑÚÙË ÚÁÐÒÏÓÏ× PostQuel ÎÁ
-    ÒÁÓÛÉÒÅÎÎÏÅ ÐÏÄÍÎÏÖÅÓÔ×Ï <SMALL>SQL</SMALL>. PostgreSQL - ÜÔÏ
-    Ó×ÏÂÏÄÎÏÅ É ÐÏÌÎÏÓÔØÀ ÏÔËÒÙÔÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ.</P>
-
-    <P>òÁÚÒÁÂÏÔËÕ PostgreSQL ×ÙÐÏÌÎÑÅÔ ËÏÍÁÎÄÁ ÒÁÚÒÁÂÏÔÞÉËÏ×, ×ÓÅ ÕÞÁÓÔÎÉËÉ
-    ËÏÔÏÒÏÊ ÐÏÄÐÉÓÁÎÙ ÎÁ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÒÁÚÒÁÂÏÔÞÉËÏ×. ÷ ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ,
-    ÉÈ ËÏÏÒÄÉÎÁÔÏÒÏÍ Ñ×ÌÑÅÔÓÑ íÁÒË æÕÒÎØÅ (Marc G. Fournier) (<A href=
-    "mailto:scrappy@PostgreSQL.org">scrappy@PostgreSQL.org</A>). (óÍ.
-    ÓÅËÃÉÀ <A href="#1.6">1.6</A> Ï ÔÏÍ, ËÁË ÐÏÄËÌÀÞÉÔØÓÑ Ë ÒÁÚÒÁÂÏÔËÅ).
-    üÔÁ ËÏÍÁÎÄÁ ÔÅÐÅÒØ ÏÔ×ÅÞÁÅÔ ÚÁ ×ÓÀ ÒÁÚÒÁÂÏÔËÕ PostgreSQL. äÁÎÎÙÊ
-    ÐÒÏÅËÔ Ñ×ÌÑÅÔÓÑ ÏÂÝÅÓÔ×ÅÎÎÙÍ É ÎÅ ÕÐÒÁ×ÌÑÅÔÓÑ ËÁËÏÊ-ÌÉÂÏ ËÏÍÐÁÎÉÅÊ.
-    ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ × FAQ ÄÌÑ ÒÁÚÒÁÂÏÔÞÉËÏ×,
-    <A href="http://www.postgresql.org/docs/faqs/FAQ_DEV.html">http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html</A>
-    </P>
+    <P>PostgreSQL ÐÒÏÉÚÎÏÓÉÔÓÑ <I>Post-Gres-Q-L (ðÏÓÔ-çÒÅÓ-ëØÀ-üÌ)</I>,
+    ÔÁËÖÅ ÞÁÓÔÏ ÇÏ×ÏÒÑÔ ÐÒÏÓÔÏ <I>Postgres</I>.</P>
 
-    <P>á×ÔÏÒÁÍÉ PostgreSQL 1.01 Ñ×ÌÑÀÔÓÑ üÎÄÒÀ à (Andrew Yu) É äÖÏÌÉ þÅΠ
-    (Jolly Chen). íÎÏÇÉÅ ÄÒÕÇÉÅ ×ÎÅÓÌÉ Ó×ÏÊ ×ËÌÁÄ × ÐÅÒÅÎÏÓ ÎÁ ÄÒÕÇÉÅ
-    ÐÌÁÔÆÏÒÍÙ, ÔÅÓÔÉÒÏ×ÁÎÉÅ, ÏÔÌÁÄËÕ É ÒÁÓÛÉÒÅÎÉÅ ÜÔÏÇÏ ËÏÄÁ. ðÅÒ×ÏÎÁÞÁÌØÎÙÊ
-    ËÏÄ Postgres,  ÉÚ ËÏÔÏÒÏÇÏ ÐÏÑ×ÉÌÓÑ PostgreSQL, ÂÙÌ ÉÔÏÇÏÍ ÕÓÉÌÉÊ ÍÎÏÇÉÈ
-    ÁËÁÄÅÍÉÞÅÓËÉÈ ÓÔÕÄÅÎÔÏ×, ÎÅÁËÁÄÅÍÉÞÅÓËÉÈ ÓÔÕÄÅÎÔÏ× É ÍÎÏÖÅÓÔ×Á
-    ÒÁÚÎÙÈ ÐÒÏÇÒÁÍÍÉÓÔÏ×, ÒÁÂÏÔÁ×ÛÉÈ ÐÏÄ ÒÕËÏ×ÏÄÓÔ×ÏÍ ÐÒÏÆÅÓÓÏÒÁ
-    íÁÊËÌÁ óÔÏÕÎÂÒÅÊËÅÒÁ (Michael Stonebraker) × ëÁÌÉÆÏÒÎÉÊÓËÏÍ ÕÎÉ×ÅÒÓÉÔÅÔÅ,
-    âÅÒËÌÉ.</P>
+    <P>PostgreSQL - ÜÔÏ ÏÂßÅËÔÎÏ-ÒÅÌÑÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÕÐÒÁ×ÌÅÎÉÑ ÂÁÚÁÍÉ
+    ÄÁÎÎÙÈ (óõâä), ËÏÔÏÒÁÑ ÉÍÅÅÔ ÔÒÁÄÉÃÉÏÎÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ ËÏÍÍÅÒÞÅÓËÉÈ 
+    <small>óõâä</small> Ó ÒÁÓÛÉÒÅÎÉÑÍÉ, ËÏÔÏÒÙÅ ÅÓÔØ × <small>óõâä</small> 
+    ÎÏ×ÏÇÏ ÐÏËÏÌÅÎÉÑ. PostgreSQL - ÜÔÏ Ó×ÏÂÏÄÎÏÅ É ÐÏÌÎÏÓÔØÀ ÏÔËÒÙÔÏÅ
+    ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ.</P>
 
-    <P>ðÅÒ×ÏÎÁÞÁÌØÎÏÅ ÉÍÑ, ÄÁÎÎÏÅ × âÅÒËÌÉ, ÂÙÌÏ Postgres. ëÏÇÄÁ
-    × 1995 ÇÏÄÕ ÂÙÌÁ ÄÏÂÁ×ÌÅÎÁ ÆÕÎËÃÉÏÎÁÌØÎÏÓÔØ <SMALL>SQL</SMALL>,
-    ÜÔÏ ÉÍÑ ÂÙÌÏ ÉÚÍÅÎÅÎÏ ÎÁ Postgres95. îÏ É ÜÔÏ ÉÍÑ ÂÙÌÏ ÉÚÍÅÎÅÎÏ
-    × ËÏÎÃÅ 1996 ÎÁ PostgreSQL.</P>
+    <P>òÁÚÒÁÂÏÔËÕ PostgreSQL ×ÙÐÏÌÎÑÅÔ ËÏÍÁÎÄÁ ÒÁÚÒÁÂÏÔÞÉËÏ×, ÒÁÚÂÒÏÓÁÎÎÁÑ
+    ÐÏ ×ÓÅÍÕ ÍÉÒÕ É Ó×ÑÚÁÎÎÁÑ ÞÅÒÅÚ éÎÔÅÒÎÅÔ. òÁÚÒÁÂÏÔËÁ Ñ×ÌÑÅÔÓÑ
+    ÏÂÝÅÓÔ×ÅÎÎÙÍ ÐÒÏÅËÔÏÍ É ÎÅ ÕÐÒÁ×ÌÑÅÔÓÑ ËÁËÏÊ-ÌÉÂÏ ËÏÍÐÁÎÉÅÊ.
+    ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ × FAQ ÄÌÑ ÒÁÚÒÁÂÏÔÞÉËÏ×,
+    <A href="http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html">
+    http://www.PostgreSQL.org/files/documentation/faqs/FAQ_DEV.html</A>
+    </P>
 
     <H4><A name="1.2">1.2</A>) ëÁËÏ×Ù Á×ÔÏÒÓËÉÅ ÐÒÁ×Á ÎÁ PostgreSQL?</H4>
 
-    <P>PostgreSQL ÐÏÐÁÄÁÅÔ ÐÏÄ ÄÅÊÓÔ×ÉÅ ÓÌÅÄÕÀÝÅÇÏ COPYRIGHT:</P>
+    <P>PostgreSQL ÒÁÓÐÒÏÓÔÒÁÎÑÅÔÓÑ ÐÏ ËÌÁÓÓÉÞÅÓËÏÊ ÌÉÃÅÎÚÉÉ BSD. üÔÁ
+    ÌÉÃÅÎÚÉÑ ÎÅ ÓÏÄÅÒÖÉÔ ÏÇÒÁÎÉÞÅÎÉÊ ÎÁ ÔÏ, ËÁË ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ
+    ÉÓÈÏÄÎÙÊ ËÏÄ. îÁÍ ÎÒÁ×ÉÔÓÑ ÜÔÁ ÌÉÃÅÎÚÉÑ É Õ ÎÁÓ ÎÅÔ ÎÁÍÅÒÅÎÉʠţ
+    ÍÅÎÑÔØ.</P>
+
+    <P>÷ÏÔ ÜÔÁ ÌÉÃÅÎÚÉÑ BSD, ËÏÔÏÒÕÀ ÍÙ ÉÓÐÏÌØÚÕÅÍ:</P>
 
     <P>óÉÓÔÅÍÁ õÐÒÁ×ÌÅÎÉÑ âÁÚÁÍÉ äÁÎÎÙÈ PostgreSQL</P>
 
-    <P>Portions copyright (c) 1996-2004, PostgreSQL Global Development
+    <P>Portions copyright (c) 1996-2005, PostgreSQL Global Development
     Group Portions Copyright (c) 1994-6 Regents of the University of
     California</P>
 
     "ëáë åóôø" é ëáìéæïòîéêóëéê õîé÷åòóéôåô îå ïâñúáî ðòåäïóôá÷ìñôø
     óïðòï÷ïöäåîéå, ðïääåòöëõ, ïâîï÷ìåîéñ, òáóûéòåîéñ éìé éúíåîåîéñ.</P>
 
-    <P>÷ÙÛÅÉÚÌÏÖÅÎÎÏÅ Ñ×ÌÑÅÔÓÑ BSD ÌÉÃÅÎÚÉÅÊ, ËÌÁÓÓÉÞÅÓËÏÊ ÌÉÃÅÎÚÉÅÊ
-    ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ Ó ÏÔËÒÙÔÙÍ ËÏÄÏÍ. üÔÁ ÌÉÃÅÎÚÉÑ ÎÅ ÎÁËÌÁÄÙ×ÁÅÔ
-    ÏÇÒÁÎÉÞÅÎÉÊ ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÉÓÈÏÄÎÏÇÏ ËÏÄÁ. îÁÍ ÎÒÁ×ÉÔÓÑ ÜÔÁ ÌÉÃÅÎÚÉÑ
-    É ÍÙ ÎÅ ÓÏÂÉÒÁÅÍÓѠţ ÍÅÎÑÔØ.</P>
-
-    <H4><A name="1.3">1.3</A>) îÁ ËÁËÉÈ Unix ÐÌÁÔÆÏÒÍÁÈ ÒÁÂÏÔÁÅÔ PostgreSQL?</H4>
+    <H4><A name="1.3">1.3</A>) îÁ ËÁËÉÈ ÐÌÁÔÆÏÒÍÁÈ ÒÁÂÏÔÁÅÔ PostgreSQL?</H4>
 
     <P>ïÂÙÞÎÏ, PostgreSQL ÍÏÖÅÔ ÒÁÂÏÔÁÔØ ÎÁ ÌÀÂÏÊ ÓÏ×ÒÅÍÅÎÎÏÊ ÐÌÁÔÆÏÒÍÅ
     ÓÏ×ÍÅÓÔÉÍÏÊ Ó Unix. ÷ ÉÎÓÔÒÕËÃÉÉ ÐÏ ÕÓÔÁÎÏ×ËÅ, ×Ù ÎÁÊÄÅÔÅ ÓÐÉÓÏË
     ÔÅÈ ÐÌÁÔÆÏÒÍ, ÎÁ ËÏÔÏÒÙÈ ÂÙÌÉ ÐÒÏ×ÅÄÅÎÙ ÔÅÓÔÏ×ÙÅ ÚÁÐÕÓËÉ PostgreSQL
     Ë ÍÏÍÅÎÔÕ ×ÙÈÏÄÁ ÄÁÎÎÏÊ ×ÅÒÓÉÉ.</P>
 
-    <H4><A name="1.4">1.4</A>) óÕÝÅÓÔ×ÕÀÔ ÌÉ ×ÅÒÓÉÉ ÐÅÒÅÎÅÓÅÎÎÙÅ ÎÅ ÎÁ Unix
-    ÓÉÓÔÅÍÙ?</H4>
-
     <P>îÁÞÉÎÁÑ Ó ×ÅÒÓÉÉ 8.0, PostgreSQL ÂÅÚ ×ÓÑËÉÈ ÕÈÉÝÒÅÎÉÊ ÒÁÂÏÔÁÅÔ ÎÁ
     ÏÐÅÒÁÃÉÏÎÎÙÈ ÓÉÓÔÅÍÁÈ Microsoft Windows, ÏÓÎÏ×ÁÎÎÙÈ ÎÁ NT, ÔÁËÉÈ ËÁË
     Win2000, WinXP É Win2003. ðÁËÅÔ ÉÎÓÔÁÌÌÑÔÏÒÁ ÄÏÓÔÕÐÅΠÐÏ ÁÄÒÅÓÕ
     PostgreSQL Ó ÐÏÍÏÝØÀ Cygwin.</P>
     
     <P>ôÁËÖÅ ÓÕÝÅÓÔ×ÕÅÔ ×ÅÒÓÉÑ ÓÐÏÒÔÉÒÏ×ÁÎÎÁÑ ÐÏÄ Novell Netware 6 ÎÁ
-    <a href="http://forge.novell.com/">http://forge.novell.com</a>.</P>
+    <A href="http://forge.novell.com/">http://forge.novell.com</A>,
+    É ×ÅÒÓÉÑ ÄÌÑ OS/2 (eComStation) ÎÁ
+    <A href="http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&amp;button=Search&amp;key=postgreSQL&amp;stype=all&amp;sort=type&amp;dir=%2F">
+    http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&amp;button=Search&amp;key=postgreSQL&amp;stype=all&amp;sort=type&amp;dir=%2F</A>.</P>
 
-    <H4><A name="1.5">1.5</A>) çÄÅ ÍÏÖÎÏ ×ÚÑÔØ PostgreSQL?</H4>
+    <H4><A name="1.4">1.4</A>) çÄÅ ÍÏÖÎÏ ×ÚÑÔØ PostgreSQL?</H4>
 
     <P>îÁÐÒÉÍÅÒ, ×ÏÓÐÏÌØÚÏ×Á×ÛÉÓØ ÁÎÏÎÉÍÎÙÍ ÄÏÓÔÕÐÏÍ ÎÁ ftp ÓÁÊÔ
     PostgreSQL <A href=
     "ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</A>.
     óÐÉÓÏË ÚÅÒËÁÌ ×Ù ÎÁÊÄÅÔÅ ÎÁ ÎÁÛÅÍ ÏÓÎÏ×ÎÏÍ ÓÁÊÔÅ.</P>
 
-    <H4><A name="1.6">1.6</A>) çÄÅ ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ?</H4>
+    <H4><A name="1.5">1.5</A>) çÄÅ ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ?</H4>
 
-    <P>ïÓÎÏ×ÎÏÊ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ: <A href=
-    "mailto:pgsql-general@PostgreSQL.org">pgsql-general@PostgreSQL.org</A>.
-    ÷ ÎÅÍ ÍÏÖÎÏ ÏÂÓÕÖÄÁÔØ ÌÀÂÙÅ ÔÅÍÙ, ËÁÓÁÀÝÉÅÓÑ PostgreSQL. þÔÏÂÙ
-    ÐÏÄÐÉÓÁÔØÓÑ, ÏÔÐÒÁ×ØÔÅ ÐÉÓØÍÏ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ, × ËÏÔÏÒÏÍ ×
-    ÔÅÌÅ ÐÉÓØÍÁ (ÎÅ × ÔÅÍÅ) ÎÁÐÉÛÉÔÅ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ:</P>
-<PRE>
-    subscribe
-    end
-</PRE>
-
-    <P>ÎÁ ÁÄÒÅÓ <A href=
-    "mailto:pgsql-general-request@PostgreSQL.org">pgsql-general-request@PostgreSQL.org</A>.</P>
-
-    <P>óÕÝÅÓÔ×ÕÅÔ ÄÁÊÖÅÓÔ ÓÐÉÓÏË. þÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÎÅÇÏ, ÏÔÐÒÁ×ØÔÅ
-    ÐÉÓØÍÏ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÎÁ ÁÄÒÅÓ: <A href=
-    "mailto:pgsql-general-digest-request@PostgreSQL.org">pgsql-general-digest-request@PostgreSQL.org</A>
-    É × ÔÅÌÅ ÐÉÓØÍÁ ÎÁÐÉÛÉÔÅ ÓÔÒÏÞËÉ ÓÔÒÏÞËÉ:</P>
-<PRE>
-    subscribe
-    end
-</PRE>
-    äÁÊÖÅÓÔÙ ÏÔÐÒÁ×ÌÑÀÔÓÑ ÐÏÄÐÉÓÞÉËÁÍ, ËÏÇÄÁ × ÏÓÎÏ×ÎÏÍ ÓÐÉÓËÅ ÒÁÓÓÙÌËÉ
-    ÎÁËÏÐÉÔÓÑ ÏËÏÌÏ 30 ËÉÌÏÂÁÊÔ ÓÏÏÂÝÅÎÉÊ.
-
-    <P>äÏÓÔÕÐÅΠɠÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÓÏÏÂÝÅÎÉÊ Ï ÏÛÉÂËÁÈ. þÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÜÔÏÔ
-    ÓÐÉÓÏË, ÏÔÐÒÁ×ØÔÅ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÐÉÓØÍÏ ÎÁ ÁÄÒÅÓ <A href=
-    "mailto:pgsql-bugs-request@PostgreSQL.org">pgsql-bugs-request@PostgreSQL.org</A>
-    É × ÔÅÌÅ ÐÉÓØÍÁ ÎÁÐÉÛÉÔÅ ÓÔÒÏÞËÉ ÓÔÒÏÞËÉ:</P>
-<PRE>
-    subscribe
-    end
-</PRE>
-    ôÁËÖÅ ÉÍÅÅÔÓÑ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ Ó ÄÉÓËÕÓÓÉÑÍÉ ÒÁÚÒÁÂÏÔÞÉËÏ×. þÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ
-    ÎÁ ÜÔÏÔ ÓÐÉÓÏË, ÏÔÐÒÁ×ØÔÅ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÐÉÓØÍÏ ÎÁ ÁÄÒÅÓ
-     <A href=
-    "mailto:pgsql-hackers-request@PostgreSQL.org">pgsql-hackers-request@PostgreSQL.org</A>
-    É × ÔÅÌÅ ÐÉÓØÍÁ ÎÁÐÉÛÉÔÅ ÓÔÒÏÞËÉ ÓÔÒÏÞËÉ:
-<PRE>
-    subscribe
-    end
-</PRE>
-
-    <P>äÏÐÏÌÎÉÔÅÌØÎÙÅ ÓÐÉÓËÉ ÒÁÓÓÙÌËÉ É ÉÎÆÏÍÁÃÉÀ Ï PostgreSQL ÍÏÖÎÏ ÎÁÊÔÉ
-    ÎÁ ÄÏÍÁÛÎÅÊ ÓÔÒÁÎÉÞËÅ PostgreSQL ÐÏ ÁÄÒÅÓÕ:</P>
-
-    <BLOCKQUOTE>
-      <A href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>
-    </BLOCKQUOTE>
+    <P>óÏÏÂÝÅÓÔ×Ï PostgreSQL ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÐÏÍÏÝØ ÍÎÏÖÅÓÔ×Õ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
+    ÞÅÒÅÚ E-mail. ïÓÎÏ×ÎÏÊ web-ÓÁÊÔ ÄÌÑ ÐÏÄÐÉÓËÉ ÎÁ ÓÐÉÓËÉ ÒÁÓÓÙÌËÉ ÐÏ
+    E-mail ÜÔÏ: <A href="http://www.postgresql.org/community/lists/">
+    http://www.postgresql.org/community/lists/</A>. èÏÒÏÛÉÍ ÍÅÓÔÏÍ ÄÌÑ
+    ÔÏÇÏ, ÞÔÏÂÙ ÎÁÞÁÔØ ÚÁÄÁ×ÁÔØ ×ÏÐÒÏÓÙ Ñ×ÌÑÀÔÓÑ ÓÐÉÓËÉ <i>general</i>
+    (ÏÂÝÉÅ ×ÏÐÒÏÓÙ) ÉÌÉ <i>bugs</i> (ÏÛÉÂËÉ).</P>
 
     <P>çÌÁ×ÎÙÍ IRC ËÁÎÁÌÏÍ Ñ×ÌÑÅÔÓÑ <I>#postgreql</I>,
     ÒÁÓÐÏÌÏÖÅÎÎÙÊ ÎÁ ÓÅÒ×ÅÒÅ Freenode (<I>irc.freenode.net</I>). þÔÏÂÙ
-    ÐÏÄËÌÀÞÉÔØÓÑ, ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ Unix
+    ÐÏÄËÌÀÞÉÔØÓÑ, ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ × Unix ×ÙÚÏ× ÐÒÏÇÒÁÍÍÙ
     <code>irc -c '#postgresql' "$USER" irc.freenode.net</code> ÉÌÉ
     ÌÀÂÏÊ ÄÒÕÇÏÊ IRC ËÌÉÅÎÔ. îÁ ÜÔÏÍ ÖÅ ÓÅÒ×ÅÒÅ ÓÕÝÅÓÔ×ÕÀÔ ËÁÎÁÌÙ ÎÁ
     ÉÓÐÁÎÓËÏÍ (<I>#postgresql-es</I>) É ÆÒÁÎÃÕÚÓËÏÍ (<I>#postgresqlfr</I>)
     <P>óÐÉÓÏË ËÏÍÍÅÒÞÅÓËÏÊ ÐÏÄÄÅÒÖËÉ ËÏÍÐÁÎÉÊ ÄÏÓÔÕÐÅΠÎÁ
     <A href="http://techdocs.postgresql.org/companies.php">http://techdocs.postgresql.org/companies.php</A>.</P>
 
+
+    <H4><A name="1.6">1.6</A>) ëÁË ÍÎÅ ÓÏÏÂÝÉÔØ Ï ÏÛÉÂËÅ?</H3>
+    
+    <P>ðÏÓÅÔÉÔÅ ÓÔÒÁÎÉÞËÕ ÓÏ ÓÐÅÃÉÁÌØÎÏÊ ÆÏÒÍÏÊ ÏÔÞ£ÔÁ Ï ÏÛÉÂËÅ ×
+    PostgreSQL ÐÏ ÁÄÒÅÓÕ:
+    <A HREF="http://www.postgresql.org/support/submitbug">
+    http://www.postgresql.org/support/submitbug</A>.</P>
+    
+    <P>ôÁËÖÅ ÐÒÏ×ÅÒØÔÅ ÎÁÌÉÞÉÅ ÂÏÌÅÅ Ó×ÅÖÅÊ ×ÅÒÓÉÉ PostgreSQL ÎÁ ÎÁÛÅÍ
+    FTP ÓÁÊÔÅ <A href="ftp://ftp.postgresql.org/pub">
+    ftp://ftp.PostgreSQL.org/pub</A>.
+    
+
     <H4><A name="1.7">1.7</A>) ëÁËÁÑ ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ?</H4>
 
-    <P>ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 7.4.6</P>
+    <P>ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 8.0.1</P>
 
-    <P>íÙ ÐÌÁÎÉÒÕÅÍ ×ÙÐÕÓËÁÔØ ÎÏ×ÙÅ ×ÅÒÓÉÉ ËÁÖÄÙÅ 6-8 ÍÅÓÑÃÅ×.</P>
+    <P>íÙ ÐÌÁÎÉÒÕÅÍ ×ÙÐÕÓËÁÔØ ÎÏ×ÙÅ ×ÅÒÓÉÉ ËÁÖÄÙÅ 10-12 ÍÅÓÑÃÅ×.</P>
 
     <H4><A name="1.8">1.8</A>) ëÁËÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÉÍÅÅÔÓÑ × ÎÁÌÉÞÉÉ?</H4>
 
-    <P>÷ ÄÉÓÔÒÉÂÕÔÉ× ×ËÌÀÞÁÀÔÓÑ ÒÁÚÌÉÞÎÙÅ ÒÕËÏ×ÏÄÓÔ×Á, ÓÔÒÁÎÉÃÙ
-    ÜÌÅËÔÒÏÎÎÏÇÏ ÒÕËÏ×ÏÄÓÔ×Á man É ÎÅËÏÔÏÒÙÅ ÍÁÌÅÎØËÉÅ ÔÅÓÔÏ×ÙÅ ÐÒÉÍÅÒÙ.
-    óÍÏÔÒÉÔÅ × ËÁÔÁÌÏÇ <I>/doc</I>. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÐÒÏÓÍÁÔÒÉ×ÁÔØ
-    ÄÏËÕÍÅÎÔÁÃÉÀ × éÎÔÅÒÎÅÔ ÐÏ ÁÄÒÅÓÕ
-    <A href="http://www.postgresql.org/docs">http://www.PostgreSQL.org/docs</A>.</P>
+    <P>PostgreSQL ÓÏÄÅÒÖÉÔ ÍÎÏÇÏ ÄÏËÕÍÅÎÔÁÃÉÉ, ×ËÌÀÞÁÑ ÂÏÌØÛÏÅ ÒÕËÏ×ÏÄÓÔ×Ï,
+    ÓÔÒÁÎÉÃÙ ÜÌÅËÔÒÏÎÎÏÇÏ ÒÕËÏ×ÏÄÓÔ×Á man É ÎÅËÏÔÏÒÙÅ ÍÁÌÅÎØËÉÅ ÔÅÓÔÏ×ÙÅ
+    ÐÒÉÍÅÒÙ. óÍÏÔÒÉÔÅ × ËÁÔÁÌÏÇ <I>/doc</I>. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÐÒÏÓÍÁÔÒÉ×ÁÔØ
+    ÄÏËÕÍÅÎÔÁÃÉÀ × éÎÔÅÒÎÅÔ ÐÏ ÁÄÒÅÓÕ <A href="http://www.postgresql.org/docs">
+    http://www.PostgreSQL.org/docs</A>.</P>
 
     <P>óÕÝÅÓÔ×ÕÅÔ Ä×Å ËÎÉÇÉ ÐÏ PostgreSQL ÄÏÓÔÕÐÎÙÅ ÐÏ ÁÄÒÅÓÁÍ <A href=
     "http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</A>
      ëÒÏÍÅ ÔÏÇÏ, ÐÏ ÁÄÒÅÓÕ <a href="http://techdocs.postgresql.org">http://techdocs.PostgreSQL.org/</a>
      ×Ù ÍÏÖÅÔÅ ÎÁÊÔÉ ËÏÌÌÅËÃÉÀ ÔÅÈÎÉÞÅÓËÉÈ ÓÔÁÔÅÊ ÐÏÓ×ÑÝÅÎÎÙÈ PostgreSQL.</p>
 
-
-    <P><I>psql</I> ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ÐÒÅËÒÁÓÎÙÈ ËÏÍÁÎÄ \d ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ
-    ÉÎÆÏÒÍÁÃÉÉ ÐÏ ÔÉÐÁÍ, ÏÐÅÒÁÔÏÒÁÍ, ÆÕÎËÃÉÑÍ, ÁÇÒÅÇÁÔÁÍ É Ô.Ä.</P>
+    <P>ëÌÉÅÎÔ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ <I>psql</I> ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ËÏÍÁÎÄ \d ÄÌÑ
+    ÏÔÏÂÒÁÖÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ ÐÏ ÔÉÐÁÍ, ÏÐÅÒÁÔÏÒÁÍ, ÆÕÎËÃÉÑÍ, ÁÇÒÅÇÁÔÁÍ É Ô.Ä. -
+    ÉÓÐÏÌØÚÕÊÔÅ \? ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÓÐÉÓËÁ ÄÏÓÔÕÐÎÙÈ ËÏÍÁÎÄ.</P>
 
     <P>îÁÛ ÓÁÊÔ ÓÏÄÅÒÖÉÔ ÅÝÅ ÂÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ.</P>
 
     Bowman, Judith S., et al., Addison-Wesley. äÒÕÇÉÍ ÎÒÁ×ÉÔÓÑ <I>The
     Complete Reference SQL</I>, Groff et al., McGraw-Hill.</P>
 
-    <H4><A name="1.11">1.11</A>) òÅÛÅÎÁ ÌÉ × PostgreSQL ÐÒÏÂÌÅÍÁ 2000-ÇÏ ÇÏÄÁ (Y2K)?</H4>
-
-    <P>äÁ, ÍÙ ÌÅÇËÏ ÒÁÂÏÔÁÅÍ Ó ÄÁÔÁÍÉ ÐÏÓÌÅ 2000 ÇÏÄÁ É ÐÅÒÅÄ 2000 ÇÏÄÏÍ.</P>
-
-    <H4><A name="1.12">1.12</A>) ëÁË ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?</H4>
+    <H4><A name="1.11">1.11</A>) ëÁË ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?</H4>
 
     <P>äÌÑ ÎÁÞÁÌÁ, ÓËÁÞÁÊÔÅ ÐÏÓÌÅÄÎÀÀ ×ÅÒÓÉÀ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× É ÐÒÏÞÔÉÔÅ
-    ÄÏËÕÍÅÎÔÁÃÉÀ ÒÁÚÒÁÂÏÔÞÉËÏ× PostgreSQL ÎÁ ÎÁÛÅÍ ÓÁÊÔÅ ÉÌÉ × ÄÉÓÔÒÉÂÕÔÉ×Å.
-    úÁÔÅÍ, ÐÏÄÐÉÛÉÔÅÓØ ÎÁ ÓÐÉÓËÉ ÒÁÓÓÙÌËÉ <I>pgsql-hackers</I> É
+    FAQ É ÄÏËÕÍÅÎÔÁÃÉÀ ÄÌÑ ÒÁÚÒÁÂÏÔÞÉËÏ× PostgreSQL ÎÁ ÎÁÛÅÍ ÓÁÊÔÅ ÉÌÉ ×
+    ÄÉÓÔÒÉÂÕÔÉ×Å. úÁÔÅÍ, ÐÏÄÐÉÛÉÔÅÓØ ÎÁ ÓÐÉÓËÉ ÒÁÓÓÙÌËÉ <I>pgsql-hackers</I> É
     <I>pgsql-patches</I>. äÁÌÅÅ, ÏÔÐÒÁ×ÌÑÊÔÅ ÉÓÐÒÁ×ÌÅÎÉÑ (patches) ×ÙÓÏËÏÇÏ
     ËÁÞÅÓÔ×Á × ÓÐÉÓÏË pgsql-patches.</P>
 
     ÐÒÅ×ÉÌÅÇÉÉ ×ÎÏÓÉÔØ ÉÚÍÅÎÅÎÉÑ, É ÍÙ Õ×ÅÒÅÎÙ, ÞÔÏ ÔÅ ÉÓÐÒÁ×ÌÅÎÉÑ, ËÏÔÏÒÙÅ
     ÏÎÉ ×ÎÅÓÕÔ ÂÕÄÕÔ ×ÙÓÏËÏÇÏ ËÁÞÅÓÔ×Á.</P>
 
-    <H4><A name="1.13">1.13</A>) ëÁË ÏÔÐÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ??</H4>
-
-    <P>úÁÐÏÌÎÉÔÅ ÆÏÒÍÕ Ï ÏÛÉÂËÅ × PostgreSQL, ËÏÔÏÒÁÑ ÒÁÓÐÏÌÏÖÅÎÁ ÎÁ 
-    <A href="http://www.postgresql.org/bugform.html">http://www.postgresql.org/bugform.html</A>.</P>
-
-    <P>ôÁËÖÅ ÎÅ ÚÁÂÕÄØÔÅ ÐÏÓÍÏÔÒÅÔØ ÎÁ <A href=
-    "ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</A>
-    ÎÁ ÐÒÅÄÍÅÔ ÂÏÌÅÅ Ó×ÅÖÉÈ ×ÅÒÓÉÊ PostgreSQL ÉÌÉ ÚÁÐÌÁÔ.</P>
-
-    <H4><A name="1.14">1.14</A>) ëÁË ÓÒÁ×ÎÉ×ÁÔØ PostgreSQL Ó ÄÒÕÇÉÍÉ
+    <H4><A name="1.12">1.12</A>) ëÁË ÓÒÁ×ÎÉ×ÁÔØ PostgreSQL Ó ÄÒÕÇÉÍÉ
     <SMALL>óõâä</SMALL>?</H4>
 
     <P>
 
       <DT><B>ðÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ</B></DT>
 
-      <DD>PostgreSQL ÉÍÅÅÔ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÓÈÏÄÎÕÀ Ó ÄÒÕÇÉÍÉ ËÏÍÍÅÒÞÅÓËÉÍÉ
-      óõâä É Ó óõâä Ó ÏÔËÒÙÔÙÍ ÉÓÈÏÄÎÙÍ ËÏÄÏÍ, × ËÁËÉÈ-ÔÏ ÁÓÐÅËÔÁÈ ÒÁÂÏÔÁÑ
-      ÂÙÓÔÒÅÅ ÞÅÍ ÏÎÉ, × ËÁËÉÈ-ÔÏ ÍÅÄÌÅÎÅÅ. ÷ ÓÒÁ×ÎÅÎÉÉ Ó MySQL ÉÌÉ ÏÂÙÄÅÎÎÅÅ
-      óõâä, ÍÙ ÂÙÓÔÒÅÅ, ËÏÇÄÁ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÍÎÏÇÏ, Á ÔÁËÖÅ ÎÁ ËÏÍÐÌÅËÓÎÙÈ
-      ÚÁÐÒÏÓÁÈ É ÞÔÅÎÉÉ/ÚÁÐÉÓÉ ÚÁÇÒÕÚËÉ ÚÁÐÒÏÓÁ. MySQL ÂÙÓÔÒÅÅ ÄÌÑ ÐÒÏÓÔÙÈ
+      <DD>ðÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ PostgreSQL ÓÈÏÄÎÁ Ó ÄÒÕÇÉÍÉ ËÏÍÍÅÒÞÅÓËÉÍÉ
+      óõâä É Ó óõâä Ó ÏÔËÒÙÔÙÍ ÉÓÈÏÄÎÙÍ ËÏÄÏÍ. ÷ ËÁËÉÈ-ÔÏ ×ÅÝÁÈ ÍÙ ÂÙÓÔÒÅÅ,
+      × ËÁËÉÈ-ÔÏ ÍÅÄÌÅÎÎÅÅ. ÷ ÓÒÁ×ÎÅÎÉÉ Ó MySQL ÉÌÉ ÌÉÎÅÊÎÏÊ
+      óõâä, ÍÙ ÂÙÓÔÒÅÅ, ËÏÇÄÁ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÍÎÏÇÏ, Á ÔÁËÖÅ ÎÁ ÓÌÏÖÎÙÈ
+      ÚÁÐÒÏÓÁÈ É ÐÒÉ ÞÔÅÎÉÉ/ÚÁÐÉÓÉ ÚÁÇÒÕÚËÉ ÚÁÐÒÏÓÁ. MySQL ÂÙÓÔÒÅÅ ÄÌÑ ÐÒÏÓÔÙÈ
       SELECT ÚÁÐÒÏÓÏ×, ×ÙÐÏÌÎÑÅÍÙÈ ÎÅÂÏÌØÛÉÍ ËÏÌÉÞÅÓÔ×ÏÍ ÐÏÌØÚÏ×ÁÔÅÌÅÊ.
       é ÒÁÚÕÍÅÅÔÓÑ, MySQL ÎÅ ÉÍÅÅÔ ËÁËÉÈ-ÌÉÂÏ ×ÏÚÍÏÖÎÏÓÔÅÊ ÉÚ
       ÐÅÒÅÞÉÓÌÅÎÙÈ ×ÙÛÅ, × ÓÅËÃÉÉ <I>÷ÏÚÍÏÖÎÏÓÔÉ</I>. 
       íÙ ÄÅÌÁÅÍ ÕÐÏÒ ÎÁ ÎÁÄÅÖÎÏÓÔØ É ÒÁÓÛÉÒÅÎÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ, ÎÏ ÍÙ ÔÁËÖÅ
-      ÐÒÏÄÏÌÖÁÅÍ Õ×ÅÌÉÞÉ×ÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ Ó ËÁÖÄÙÍ ×ÙÐÕÓËÏÍ. óÕÝÅÓÔ×ÕÅÔ
-      ÉÎÔÅÒÅÓÎÁÑ ÓÔÒÁÎÉÞËÁ × éÎÔÅÒÎÅÔ, ÓÒÁ×ÎÉ×ÁÀÝÁÑ PostgreSQL É MySQL ÎÁ
-      <A href="http://openacs.org/philosophy/why-not-mysql.html">
-      http://openacs.org/philosophy/why-not-mysql.html</A>. ôÁËÖÅ, MySQL -
-      ÜÔÏ ËÏÍÐÁÎÉÑ, ËÏÔÏÒÁÑ ÒÁÓÐÒÏÓÔÒÁÎÑÅÔ Ó×ÏÊ ÐÒÏÄÕËÔ ÞÅÒÅÚ ÏÔËÒÙÔÙÅ
-      ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ É ÔÒÅÂÕÅÔ ËÏÍÍÅÒÞÅÓËÕÀ ÌÉÃÅÎÚÉÀ ÎÁ ÚÁËÒÙÔÏÅ
-      ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ, Á ÎÅ ÓÏÏÂÝÅÓÔ×Ï ÒÁÚÒÁÂÏÔÞÉËÏ× Ó ÏÔËÒÙÔÙÍÉ
-      ÉÓÈÏÄÎÙÍÉ ÔÅËÓÔÁÍÉ, ËÁË PostgreSQL.<BR>
-
+      ÐÒÏÄÏÌÖÁÅÍ Õ×ÅÌÉÞÉ×ÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ Ó ËÁÖÄÙÍ ×ÙÐÕÓËÏÍ. <BR>
       <BR>
       </DD>
 
       ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÒÕËÏ×ÏÄÓÔ×ÁÍ É ÉÓÈÏÄÎÙÍ ÔÅËÓÔÁÍ ÞÁÓÔÏ ÄÅÌÁÀÔ ÐÏÄÄÅÒÖËÕ
       PostgreSQL ÐÒÅ×ÏÓÈÏÄÑÝÅÊ ÄÒÕÇÉÅ <SMALL>óõâä</SMALL>. óÕÝÅÓÔ×ÕÅÔ
       ËÏÍÍÅÒÞÅÓËÁÑ ÐÏÄÄÅÒÖËÁ ÐÏ ÒÅÚÕÌØÔÁÍ ×ÏÚÎÉËÛÉÈ ÉÎÃÉÄÅÎÔÏ×, ËÏÔÏÒÁÑ
-      ÄÏÓÔÕÐÎÁ ÄÌÑ ÔÅÈ ËÏÍÕ ÏÎÁ ÎÕÖÎÁ. (óÍÏÔÒÉÔÅ <A href="#1.6">óÅËÃÉÀ 1.6</A>.)<BR>
+      ÄÏÓÔÕÐÎÁ ÄÌÑ ÔÅÈ ËÏÍÕ ÏÎÁ ÎÕÖÎÁ. (óÍÏÔÒÉÔÅ <A href="#1.5">óÅËÃÉÀ 1.5</A>.)<BR>
       <BR>
       </DD>
 
       </DD>
     </DL>
 
-    <H4><A name="1.15">1.15</A>) ëÁË ÏËÁÚÁÔØ ÆÉÎÁÎÓÏ×ÕÀ ÐÏÍÏÝØ
-    PostgreSQL?</H4>
-
-    <P>PostgreSQL ÉÍÅÅÔ ÏÄÎÏÒÁÎÇÏ×ÕÀ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ Ó ÔÏÇÏ ÓÁÍÏÇÏ ×ÒÅÍÅÎÉ
-    ËÁË ÍÙ ÎÁÞÁÌÉ ÒÁÚÒÁÂÏÔËÕ × 1996 ÇÏÄÕ. íÙ ÄÏÌÖÎÙ ÂÌÁÇÏÄÁÒÉÔØ ÚÁ
-    ÜÔÏ íÁÒËÁ æÕÒÎØÅ (Marc Fournier), ËÏÔÏÒÙÊ ÓÏÚÄÁÌ ÜÔÕ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ É
-    ÕÐÒÁ×ÌÑÅÔ ÅÊ ÎÁ ÐÒÏÔÑÖÅÎÉÉ ÜÔÉÈ ÌÅÔ.</P>
-
-    <P>ëÁÞÅÓÔ×ÅÎÎÁÑ ÉÎÆÒÁÓÔÒÕËÔÕÒÁ ÏÞÅÎØ ×ÁÖÎÁ ÄÌÑ ÐÒÏÅËÔÏ× Ó ÏÔËÒÙÔÙÍ
-    ÉÓÈÏÄÎÙÍ ËÏÄÏÍ. ïÎÁ ÐÒÅÄÏÔ×ÒÁÝÁÅÔ ÒÁÓËÏÌÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÓÉÌØÎÏ
-    ÚÁÄÅÒÖÁÔØ ÐÏÓÔÕÐÁÔÅÌØÎÏÅ Ä×ÉÖÅÎÉÅ ÐÒÏÅËÔÁ.</P>
-
-    <P>òÁÚÕÍÅÅÔÓÑ, ÜÔÁ ÉÎÆÒÁÓÔÒÕËÔÕÒÁ ÎÅ Ñ×ÌÑÅÔÓÑ ÄÅÛÅ×ÏÊ. óÕÝÅÓÔ×ÕÅÔ
-    ÎÅËÏÔÏÒÏÅ ËÏÌÉÞÅÓÔ×Ï ÅÖÅÍÅÓÑÞÎÙÈ É ÏÄÎÏÒÁÚÏ×ÙÈ ÒÁÓÈÏÄÏ×, ËÏÔÏÒÙÅ
-    ÔÒÅÂÕÀÔ ÄÅÎÅÇ. åÓÌÉ ×Ù ÉÌÉ ×ÁÛÁ ËÏÍÐÁÎÉÑ ÉÍÅÅÔ ÄÅÎØÇÉ, ËÏÔÏÒÙÅ
-    ÍÏÖÎÏ ÐÅÒÅÄÁÔØ × ÐÏÍÏÝØ ÎÁÛÉÍ ÕÓÉÌÉÑÍ, ÐÏÖÁÌÕÊÓÔÁ ÐÏÓÅÔÉÔÅ ÓÔÒÁÎÉÞËÕ
-    <A href="https://store.pgsql.com/shopping/"> 
-    https://store.pgsql.com/shopping/</A>
-    É ÓÄÅÌÁÊÔÅ Ó×ÏÊ ×ËÌÁÄ.</P>
-
-    <P>èÏÔÑ ÎÁ ÓÔÒÁÎÉÞËÅ ÇÏ×ÏÒÉÔÓÑ Ï PostgreSQL, Inc, ÐÕÎËÔ
-    "contributions" ÐÒÅÄÎÁÚÎÁÞÅΠÉÓËÌÀÞÉÔÅÌØÎÏ ÄÌÑ ÐÏÄÄÅÒÖËÉ ÐÒÏÅËÔÁ
-    PostgreSQL É ÎÅ ÐÅÒÅÄÁÅÔÓÑ ËÁËÏÊ-ÌÉÂÏ ËÏÎËÒÅÔÎÏÊ ËÏÍÐÁÎÉÉ.
-    åÓÌÉ ÈÏÔÉÔÅ, ÔÏ ÍÏÖÅÔÅ ÜÔÏ ÐÒÏ×ÅÒÉÔØ, ÎÁÐÉÓÁ× ÐÉÓØÍÏ ÎÁ ËÏÎÔÁËÔÎÙÊ ÁÄÒÅÓ.</P>
-    <HR>
-    <p>åÓÌÉ Õ ×ÁÓ ÅÓÔØ ÉÓÔÏÒÉÉ ÐÏ ÕÓÐÅÛÎÏÍÕ ÐÒÉÍÅÎÅÎÉÀ PostgreSQL, ÐÏÖÁÌÕÊÓÔÁ,
-    ÐÒÉÓÙÌÁÊÔÅ ÉÈ ÎÁ ÎÁÛ ÓÁÊÔ ÐÒÏÐÁÇÁÎÄÙ <a href="http://advocacy.postgresql.org/">
-    http://advocacy.postgresql.org</a>.</p>
 
     <H2 align="center">÷ÏÐÒÏÓÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÐÏ ËÌÉÅÎÔÓËÏÊ ÞÁÓÔÉ</H2>
 
-    <H4><A name="2.1">2.1</A>) óÕÝÅÓÔ×ÕÀÔ ÌÉ <SMALL>ODBC</SMALL> ÄÒÁÊ×ÅÒÁ
-    ÄÌÑ PostgreSQL?</H4>
-
-    <P>óÕÝÅÓÔ×ÕÅÔ Ä×Á <SMALL>ODBC</SMALL> ÄÒÁÊ×ÅÒÁ, PsqlODBC
-    É OpenLink <SMALL>ODBC</SMALL>.</P>
+    <H4><A name="2.1">2.1</A>) ëÁËÉÅ ÉÎÔÅÒÆÅÊÓÙ ÅÓÔØ ÄÌÑ PostgreSQL?</H4>
 
-    <P>÷Ù ÍÏÖÅÔÅ ÓËÁÞÁÔØ PsqlODBC Ó <A href="http://gborg.postgresql.org/project/psqlodbc/projdisplay.php">
-    http://gborg.postgresql.org/project/psqlodbc/projdisplay.php</A>.</P>
-
-    <P>OpenLink <SMALL>ODBC</SMALL> ÍÏÖÎÏ ×ÚÑÔØ ÎÁ <A href=
-    "http://www.openlinksw.com/">http://www.openlinksw.com</A>. üÔÏÔ
-    ÄÒÁÊ×ÅÒ ÒÁÂÏÔÁÅÔ Ó ÉÈ ÓÔÁÎÄÁÒÔÎÙÍ ËÌÉÅÎÔÓËÉÍ ÐÒÏÇÒÁÍÍÎÙÍ ÏÂÅÓÐÅÞÅÎÉÅÍ,
-    ÉÓÐÏÌØÚÕÀÝÉÍ <SMALL>ODBC</SMALL>, É ÔÁËÉÍ ÏÂÒÁÚÏÍ, <SMALL>ODBC</SMALL>
-    ÄÒÁÊ×ÅÒÙ ÄÌÑ PostgreSQL ÄÏÓÔÕÐÎÙ ÄÌÑ ËÁÖÄÏÊ ÉÚ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÉÍÉ
-    ÐÌÁÔÆÏÒÍ (Win, Mac, Unix, VMS).</P>
+    <P>õÓÔÁÎÏ×ËÁ PostgreSQL ×ËÌÀÞÁÅÔ ÔÏÌØËÏ <small>C</small> É ×ÓÔÒÏÅÎÎÙÊ
+    (embedded) <small>C</small> ÉÎÔÅÒÆÅÊÓÙ. ÷ÓÅ ÄÒÕÇÉÅ ÉÎÔÅÒÆÅÊÓÙ
+    Ñ×ÌÑÀÔÓÑ ÎÅÚÁ×ÉÓÉÍÙÍÉ ÐÒÏÅËÔÁÍÉ É ÚÁÇÒÕÖÁÀÔÓÑ ÏÔÄÅÌØÎÏ; ÓÁÍÏÓÔÏÑÔÅÌØÎÏÓÔØ
+    ÐÒÏÅËÔÏ× ÐÏÚ×ÏÌÑÅÔ ÉÍ ÏÒÇÁÎÉÚÏ×ÁÔØ ÓÏÂÓÔ×ÅÎÎÏÅ ÒÁÓÐÉÓÁÎÉÅ ×ÙÐÕÓËÏ×
+    ÎÏ×ÙÈ ×ÅÒÓÉÊ É ÉÍÅÔØ ÓÏÂÓÔ×ÅÎÎÕÀ ËÏÍÁÎÄÕ ÒÁÚÒÁÂÏÔÞÉËÏ×.</P>
+    
+    <P>îÅËÏÔÏÒÙÅ ÑÚÙËÉ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ, ÔÁËÉÅ ËÁË <small>PHP</small>
+    ×ËÌÀÞÁÀÔ × ÓÅÂÑ ÉÎÔÅÒÆÅÊÓ Ë PostgreSQL. éÎÔÅÒÆÅÊÓÙ ÄÌÑ ÔÁËÉÈ ÑÚÙËÏ×
+    ËÁË Perl, <small>TCL</small>, Python É ÍÎÏÇÉÈ ÄÒÕÇÉÈ, ÄÏÓÔÕÐÎÙ ÎÁ
+    <A href="http://gborg.postgresql.org">http://gborg.postgresql.org</A>
+    × ÓÅËÃÉÉ <i>Drivers/Interfaces</I>, Á ÔÁËÖÅ ÞÅÒÅÚ ÐÏÉÓË × éÎÔÅÒÎÅÔ.</P>
 
-    <P>÷ÏÚÍÏÖÎÏ ÏÎÉ ÂÕÄÕÔ ÐÒÏÄÁ×ÁÔØ Ó×ÏÊ ÐÒÏÄÕËÔ ÔÅÍ ËÏÍÕ ÎÕÖÎÁ ËÏÍÍÅÒÞÅÓËÁÑ
-    ÐÏÄÄÅÒÖËÁ, ÎÏ ÂÅÓÐÌÁÔÎÁÑ ×ÅÒÓÉÑ ×ÓÅÇÄÁ ÂÕÄÅÔ ÄÏÓÔÕÐÎÁ. ðÏÖÁÌÕÊÓÔÁ,
-    ÎÁÐÒÁ×ÌÑÊÔÅ ×ÏÐÒÏÓÙ ÎÁ ÁÄÒÅÓ <A href=
-    "mailto:postgres95@openlink.co.uk">postgres95@openlink.co.uk</A>.</P>
 
     <H4><A name="2.2">2.2</A>) ëÁËÉÅ ÉÎÓÔÒÕÍÅÎÔÙ ÓÕÝÅÓÔ×ÕÀÔ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ
     PostgreSQL ÞÅÒÅÚ Web?</H4>
     <P>ðÒÅËÒÁÓÎÏÅ ××ÅÄÅÎÉÅ ×Ï ×ÚÁÉÍÏÄÅÊÓÔ×ÉÅ ÂÁÚ ÄÁÎÎÙÈ É Web ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ:
     <A href="http://www.webreview.com">http://www.webreview.com</A></P>
 
-    <P>äÌÑ ÉÎÔÅÇÒÁÃÉÉ Ó Web, ÏÄÎÉÍ ÉÚ ÐÒÅ×ÏÓÈÏÄÎÙÈ ÉÎÓÔÒÕÍÅÎÔÏ× Ñ×ÌÑÅÔÓÑ PHP.
-    äÏÍÁÛÎÑÑ ÓÔÁÎÉÞËÁ <A href="http://www.php.net">http://www.php.net</A>.</P>
+    <P>äÌÑ ÉÎÔÅÇÒÁÃÉÉ Ó Web, PHP <A href="http://www.php.net">
+    http://www.php.net</A> Ñ×ÌÑÅÔÓÑ ÎÅÐÌÏÈÉÍ ÉÎÔÅÒÆÅÊÓÏÍ.</P>
 
-    <P>äÌÑ ËÏÍÐÌÅËÓÎÙÈ ÒÅÛÅÎÉÊ, ÍÎÏÇÉÅ ÐÏÌØÚÕÀÔÓÑ Perl ÉÎÔÅÒÆÅÊÓÏÍ É CGI.pm ÉÌÉ mod_perl.</P>
+    <P>÷ ÓÌÏÖÎÙÈ ÓÌÕÞÁÑÈ, ÍÎÏÇÉÅ ÐÏÌØÚÕÀÔÓÑ Perl É CGI.pm ÉÌÉ mod_perl.</P>
 
     <H4><A name="2.3">2.3</A>) åÓÔØ ÌÉ Õ PostgreSQL ÇÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ
     ÐÏÌØÚÏ×ÁÔÅÌÑ?</H4>
 
     <P>äÁ, ÓÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÇÒÁÆÉÞÅÓËÉÈ ÉÎÔÅÒÆÅÊÓÏ× ÄÌÑ PostgreSQL.
-    üÔÏ PgAccess (<A href="http://www.pgaccess.org/">http://www.pgaccess.org</A>),
-    PgAdmin III (<A href="http://www.pgadmin.org/">http://www.pgadmin.org</A>),
+    ïÎÉ ×ËÌÀÞÁÀÔ PgAdmin III (<A href="http://www.pgadmin.org/">http://www.pgadmin.org</A>),
+    PgAccess (<A href="http://www.pgaccess.org/">http://www.pgaccess.org</A>),
     RHDB Admin (<A href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</A>),
-    TORA (<A href="http://www.globecom.net/tora/">http://www.globecom.net/tora/
-    (ÞÁÓÔÉÞÎÏ ËÏÍÍÅÒÞÅÓËÏÅ ðï)</A>
-    É Rekall (<A href="http://www.thekompany.com/products/rekall/">
-    http://www.thekompany.com/products/rekall/</A>, ËÏÍÍÅÒÞÅÓËÉÊ). ôÁËÖÅ ÅÓÔØ
+    TORA (<A href="http://www.globecom.net/tora/">http://www.globecom.net/tora/</A>
+    ÞÁÓÔÉÞÎÏ ËÏÍÍÅÒÞÅÓËÏÅ ðï)
+    É Rekall (<A href="http://www.rekallrevealed.org/">
+    http://www.rekallrevealed.org/</A>). ôÁËÖÅ ÅÓÔØ
     PhpPgAdmin (<A href="http://phppgadmin.sourceforge.net/">
-    http://phppgadmin.sourceforge.net/</A>) - ÉÎÔÅÒÆÅÊÓ Ë PostgreSQL, ÏÓÎÏ×ÁÎÎÙÊ
-    ÎÁ Web.</P>
-
-    <H4><A name="2.4">2.4</A>) ëÁËÉÅ ÑÚÙËÉ ÍÏÇÕÔ ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó PostgreSQL?</H4>
-
-    <P>ëÁËÉÅ-ÌÉÂÏ ÉÎÔÅÒÆÅÊÓÙ ÄÌÑ PostgreSQL ÓÕÝÅÓÔ×ÕÀÔ ÄÌÑ ÂÏÌØÛÉÎÓÔ×Á
-    ÐÏÐÕÌÑÒÎÙÈ ÑÚÙËÏ× ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ. ðÏÓÍÏÔÒÉÔÅ ÓÐÉÓÏË ÍÏÄÕÌÅÊ ÒÁÓÛÉÒÅÎÉÑ
-    ÄÌÑ ÔÅÈ ÑÚÙËÏ× ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ, ËÏÔÏÒÙÍÉ ×Ù ÐÏÌØÚÕÅÔÅÓØ.</P>
-    <P>óÌÅÄÕÀÝÉÅ ÉÎÔÅÒÆÅÊÓÙ ×ËÌÀÞÁÀÔÓÑ × ÄÉÓÔÒÉÂÕÔÉ× PostgreSQL:</P>
-    <UL>
-      <LI>C (libpq)</LI>
-
-      <LI>Embedded C (ecpg)</LI>
-
-      <LI>Java (jdbc)</LI>
-
-      <LI>Python (PyGreSQL)</LI>
-
-      <LI>TCL (libpgtcl)</LI>
-
-    </UL>
-    <P>äÏÐÏÌÎÉÔÅÌØÎÙÅ ÉÎÔÅÒÆÅÊÓÙ ÄÏÓÔÕÐÎÙ ÐÏ ÁÄÒÅÓÕ
-    <A href="http://gborg.postgresql.org/">http://gborg.PostgreSQL.org</a>
-    × ÓÅËÃÉÉ <i>Drivers/Interfaces</i>.
-    </P>
+    http://phppgadmin.sourceforge.net/</A>) - ÉÎÔÅÒÆÅÊÓ Ë PostgreSQL,
+    ÏÓÎÏ×ÁÎÎÙÊ ÎÁ Web.</P>
     <HR>
 
     <H2 align="center">÷ÏÐÒÏÓÙ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ</H2>
 
     <P>úÁÄÁÊÔÅ ÏÐÃÉÀ <I>--prefix</I> ËÏÇÄÁ ÚÁÐÕÓËÁÅÔÅ <I>configure</I>.</P>
 
-    <H4><A name="3.2">3.2</A>) ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ <I>postmaster</I>, Ñ ÐÏÌÕÞÁÀ
-     ÓÏÏÂÝÅÎÉÅ <I>Bad System Call</I> ÉÌÉ ÓÏÏÂÝÅÎÉÅ core dumped. ðÏÞÅÍÕ?</H4>
-
-    <P>üÔÏ ÍÏÖÅÔ ÂÙÔØ ×ÙÚ×ÁÎÏ ÒÁÚÎÙÍÉ ÐÒÏÂÌÅÍÁÍÉ, ÎÏ ÐÅÒ×ÏÅ, ÞÔÏ
-    ÎÕÖÎÏ ÓÄÅÌÁÔØ - ÜÔÏ ÕÂÅÄÉÔØÓÑ × ÔÏÍ, ÞÔÏ × ×ÁÛÅÍ ÑÄÒÅ ÕÓÔÁÎÏ×ÌÅÎÏ
-    ÒÁÓÛÉÒÅÎÉÅ System V. PostgreSQL ÔÒÅÂÕÅÔ, ÞÔÏÂÙ ÑÄÒÏ ÐÏÄÄÅÒÖÉ×ÁÌÏ
-    ÒÁÚÄÅÌÑÅÍÕÀ ÐÁÍÑÔØ É ÓÅÍÁÆÏÒÙ.</P>
-
-    <H4><A name="3.3">3.3</A>) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ <I>postmaster</I>, Ñ
-    ÐÏÌÕÞÁÀ ÏÛÉÂËÉ <I>IpcMemoryCreate</I>. ðÏÞÅÍÕ?</H4>
-
-    <P>ìÉÂÏ Õ ×ÁÓ × ÑÄÒÅ ÎÅÐÒÁ×ÉÌØÎÙÅ ÎÁÓÔÒÏÊËÉ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ, ÌÉÂÏ
-    ×ÁÛÅÍÕ ÑÄÒÕ ÎÕÖÎÏ ÂÏÌØÛÅÅ ËÏÌÉÞÅÓÔ×Ï ÄÏÓÔÕÐÎÏÊ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ.
-    ôÅ ËÏÎËÒÅÔÎÙÅ ÄÅÊÓÔ×ÉÑ, ËÏÔÏÒÙÅ ×ÁÍ ÎÕÖÎÏ ÐÒÏÉÚ×ÅÓÔÉ ÚÁ×ÉÓÑÔ ÏÔ
-    ÁÒÈÉÔÅËÔÕÒÙ ×ÁÛÅÊ ÍÁÛÉÎÙ É ÏÔ ÔÏÇÏ ËÁË ÍÎÏÇÏ ÂÕÆÅÒÏ× É backend
-    ÐÒÏÃÅÓÓÏ× ×Ù ÎÁÓÔÒÏÉÌÉ ÄÌÑ <I>postmaster</I>. äÌÑ ÂÏÌØÛÉÎÓÔ×Á ÓÉÓÔÅÍ,
-    Ó ËÏÌÉÞÅÓÔ×ÏÍ ÂÕÆÅÒÏ× É ÐÒÏÃÅÓÓÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ, ÎÅÏÂÈÏÄÉÍÙÊ ÍÉÎÉÍÕÍ -
-    ÜÔÏ ÏËÏÌÏ 1 ÍÅÇÁÂÁÊÔÁ. ðÏÄÒÏÂÎÏÓÔÉ Ï ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ É ÓÅÍÁÆÏÒÁÈ
-    ÓÍÏÔÒÉÔÅ × <A href=
-    "http://www.postgresql.org/docs/current/static/kernel-resources.html">òÕËÏ×ÏÄÓÔ×Å
-    ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ PostgreSQL.</A>.</P>
-
-    <H4><A name="3.4">3.4</A>) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ <I>postmaster</I>, Ñ
-    ÐÏÌÕÞÁÀ ÏÛÉÂËÉ <I>IpcSemaphoreCreate</I>. ðÏÞÅÍÕ?</H4>
-
-    <P>åÓÌÉ ÜÔÏ ÓÏÏÂÝÅÎÉÅ <I>IpcSemaphoreCreate: semget failed (No
-    space left on device)</I> ÔÏ ÎÁÓÔÒÏÊËÉ ×ÁÛÅÇÏ ÑÄÒÁ ÔÁËÏ×Ù, ÞÔÏ ÅÍÕ ÎÅ
-    È×ÁÔÁÅÔ ÓÅÍÁÆÏÒÏ×. Postgres ÔÒÅÂÕÅÔ ÏÄÉΠÓÅÍÁÆÏÒ ÎÁ ÐÏÔÅÎÃÉÁÌØÎÙÊ
-    backend ÐÒÏÃÅÓÓ. ÷ÒÅÍÅÎÎÙÍ ÒÅÛÅÎÉÅÍ Ñ×ÌÑÅÔÓÑ ÚÁÐÕÓË <I>postmaster</I>
-    Ó ÎÁÓÔÒÏÊËÁÍÉ ÎÁ ÍÅÛØÛÅÅ ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ×. éÓÐÏÌØÚÕÊÔÅ
-    <I>-N</I> Ó ÚÎÁÞÅÎÉÅÍ ÍÅÎØÛÉÍ ÞÅÍ 32, ËÏÔÏÒÏÅ ÐÒÉÎÑÔÏ ÐÏ ÕÍÏÌÞÁÎÉÀ.
-    âÏÌÅÅ ÐÒÁ×ÉÌØÎÏÅ ÒÅÛÅÎÉÅ - ÜÔÏ Õ×ÅÌÉÞÉÔØ ÚÎÁÞÅÎÉÑ <SMALL>SEMMNS</SMALL>
-    É <SMALL>SEMMNI</SMALL> × ÎÁÓÔÒÊËÁÈ ÑÄÒÁ.</P>
-
-    <P>îÅÉÓÐÒÁ×ÎÙÅ ÓÅÍÁÆÏÒÙ ÔÁËÖÅ ÍÏÇÕÔ ÐÒÉ×ÅÓÔÉ Ë ÐÁÄÅÎÉÀ óõâä ×Ï ×ÒÅÍÑ
-    ÄÏÓÔÕÐÁ Ë ÂÁÚÅ ÄÁÎÎÙÈ.</P>
-
-    <P>åÓÌÉ ×Ù ÐÏÌÕÞÉÌÉ ËÁËÏÅ-ÌÉÂÏ ÄÒÕÇÏÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ, ÔÏ ×ÐÏÌÎÅ
-    ×ÏÚÍÏÖÎÏ, ÞÔÏ × ×ÁÛÅÍ ÑÄÒÅ ×ÏÏÂÝÅ ÎÅ ÎÁÓÔÒÏÅÎÁ ÐÏÄÄÅÒÖËÁ ÓÅÍÁÆÏÒÏ×.
-    óÍÏÔÒÉÔÅ ÐÏÄÒÏÂÎÏÓÔÉ Ï ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ É ÓÅÍÁÆÏÒÁÈ × òÕËÏ×ÏÄÓÔ×Å
-    áÄÍÉÎÉÓÔÒÁÔÏÒÁ PostgreSQL.</P>
-
-    <H4><A name="3.5">3.5</A>) ëÁË ÍÎÅ ÕÐÒÁ×ÌÑÔØ ÓÏÅÄÉÎÅÎÉÑÍÉ Ó ÄÒÕÇÉÈ
+    <H4><A name="3.2">3.2</A>) ëÁË ÍÎÅ ÕÐÒÁ×ÌÑÔØ ÓÏÅÄÉÎÅÎÉÑÍÉ Ó ÄÒÕÇÉÈ
     ËÏÍÐØÀÔÅÒÏ×?</H4>
 
     <P>ðÏ ÕÍÏÌÞÁÎÉÀ, PostgreSQL ÒÁÚÒÅÛÁÅÔ ÔÏÌØËÏ ÓÏÅÄÉÎÅÎÉÑ ÎÁ ÌÏËÁÌØÎÏÊ
-    ÍÁÛÉÎÅ ÞÅÒÅÚ ÓÏËÅÔÙ ÄÏÍÅÎÁ Unix ÉÌÉ TCP/IP ÓÏÅÄÉÎÅÎÉÑ. äÒÕÇÉÅ ÍÁÛÉÎÙ
-    ÎÅ ÓÍÏÇÕÔ ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ ÐÏËÁ ×Ù ÎÅ ÉÚÍÅÎÉÔÅ listen_addresses ×
-    postgresql.conf <B>É</B> ÐÏËÁ ÎÅ ÂÕÄÅÔ ÒÁÚÒÅÛÅÎÁ host-Á×ÔÏÒÉÚÁÃÉÑ × ÆÁÊÌÅ
-    <I>$PGDATA/pg_hba.conf</I>.</P>
+    ÍÁÛÉÎÅ ÞÅÒÅÚ ÓÏËÅÔÙ ÄÏÍÅÎÁ Unix ÉÌÉ TCP/IP ÓÏÅÄÉÎÅÎÉÑ. äÌÑ ÔÏÇÏ, ÞÔÏÂÙ
+    ÄÒÕÇÉÅ ÍÁÛÉÎÙ ÓÍÏÇÌÉ ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ ×Ù ÄÏÌÖÎÙ ÉÚÍÅÎÉÔØ
+    <I>listen_addresses</I> × <I>postgresql.conf</I>, ÒÁÚÒÅÛÉÔØ
+    host-Á×ÔÏÒÉÚÁÃÉÑ × ÆÁÊÌÅ <I>$PGDATA/pg_hba.conf</I> É ÐÅÒÅÓÔÁÒÔÏ×ÁÔØ
+    ÓÅÒ×ÅÒ.</P>
 
-    <H4><A name="3.6">3.6</A>) ëÁËÉÅ ÎÁÓÔÒÏÊËÉ ÍÎÅ ÎÕÖÎÏ ÓÄÅÌÁÔØ ÄÌÑ ÕÌÕÞÛÅÎÉÑ
+    <H4><A name="3.3">3.3</A>) ëÁËÉÅ ÎÁÓÔÒÏÊËÉ ÍÎÅ ÎÕÖÎÏ ÓÄÅÌÁÔØ ÄÌÑ ÕÌÕÞÛÅÎÉÑ
      ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ?</H4>
 
-    <P>îÅÓÏÍÎÅÎÎÏ, ÉÎÄÅËÓÙ ÍÏÇÕÔ Õ×ÅÌÉÞÉÔØ ÓËÏÒÏÓÔØ ×ÙÐÏÌÎÅÎÉÑ ÚÁÐÒÏÓÏ×. ëÏÍÁÎÄÁ
-    <SMALL>EXPLAIN ANALYZE</SMALL> ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÐÏÓÍÏÔÒÅÔØ ËÁË PostgreSQL
-    ÉÎÔÅÒÐÒÅÔÉÒÕÅÔ ×ÁÛ ÚÁÐÒÏÓ É ËÁËÉÅ ÉÎÄÅËÓÙ ÉÓÐÏÌØÚÕÀÔÓÑ.</P>
-
-    <P>åÓÌÉ ×Ù ×ÙÐÏÌÎÑÅÔÅ ÍÎÏÇÏ ÏÐÅÒÁÔÏÒÏ× <SMALL>INSERT</SMALL>,
-    ÒÁÓÓÍÏÔÒÉÔÅ ×ÏÚÍÏÖÎÏÓÔØ ×ÙÐÏÌÎÑÔØ ÉÈ × ÂÏÌØÛÏÊ ÐÁÞËÅ, ÉÓÐÏÌØÚÕÑ
-    ËÏÍÁÎÄÕ <SMALL>COPY</SMALL>. üÔÏ ÚÎÁÞÉÔÅÌØÎÏ ÂÙÓÔÒÅÅ, ÞÅÍ ÏÔÄÅÌØÎÙÅ
-    <SMALL>INSERT</SMALL>. ÷Ï-×ÔÏÒÙÈ, ÏÐÅÒÁÔÏÒÙ ×ÎÅ ÂÌÏËÁ ÔÒÁÎÚÁËÃÉÉ
-    <SMALL>BEGIN WORK/COMMIT</SMALL> ÓÁÍÉ ×ÙÐÏÌÎÑÀÔ ÔÒÁÎÚÁËÃÉÀ. ðÏÄÕÍÁÊÔÅ
-    ÎÁÄ ×ÙÐÏÌÎÅÎÉÅÍ ÎÅÓËÏÌØËÉÈ ÏÐÅÒÁÔÏÒÏ× × ÏÄÎÏÍ ÂÌÏËÅ ÔÒÁÎÚÁËÃÉÉ.
-    üÔÏ ÕÍÅÎØÛÉÔ ËÏÌÉÞÅÓÔ×Ï ÔÒÁÎÚÁËÃÉÊ. ôÁËÖÅ, ÚÁÄÕÍÁÊÔÅÓØ ÎÁÄ ÕÄÁÌÅÎÉÅÍ
-    É ÐÅÒÅÓÏÚÄÁÎÉÅÍ ÉÎÄÅËÓÏ×, ËÏÇÄÁ ×Ù ×ÙÐÏÌÎÑÅÔÅ ÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ
-    ÄÁÎÎÙÈ.</P>
-
-    <P>óÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÏÐÃÉÊ ÎÁÓÔÒÏÊËÉ × 
-    <A href="http://www.postgresql.org/docs/current/static/runtime.html">
-    òÕËÏ×ÏÄÓÔ×Å áÄÍÉÎÉÓÔÒÁÔÏÒÁ PostgreSQL</A>. ÷Ù ÍÏÖÅÔÅ ÚÁÐÒÅÔÉÔØ
-    <I>fsync()</I> ÐÒÉ ÓÔÁÒÔÅ <I>postmaster</I> Ó ÏÐÃÉÅÊ <I>-o -F</I>.
-    üÔÏ ÐÒÅÄÏÔ×ÒÁÔÉÔ ×ÙÚÏ×Ù <I>fsync()</I>, ËÏÔÏÒÙÅ ÐÒÉ×ÏÄÑÔ Ë ÓÂÒÏÓÕ
-    ÄÁÎÎÙÈ ÎÁ ÄÉÓË ÐÏÓÌÅ ËÁÖÄÏÊ ÔÒÁÎÚÁËÃÉÉ.</P>
-
-    <P>÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÐÃÉÀ <I>shared_buffers</I> <I>-B</I>
-    ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ ËÏÌÉÞÅÓÔ×Á ÂÕÆÅÒÏ× ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ, ËÏÔÏÒÁÑ
-    ÉÓÐÏÌØÚÕÅÔÓÑ backend ÐÒÏÃÅÓÓÁÍÉ. åÓÌÉ ×Ù ÓÄÅÌÁÅÔÅ ÚÎÁÞÅÎÉÅ ÜÔÏÇÏ ÐÁÒÁÍÅÔÒÁ
-    ÓÌÉÛËÏÍ ÂÏÌØÛÉÍ, ÔÏ <I>postmaster</I> ÍÏÖÅÔ ÎÅ ÚÁÐÕÓÔÉÔÓÑ ÐÏÔÏÍÕ ÞÔÏ
-    ×Ù ÉÓÞÅÒÐÁÅÔÅ ÏÇÒÁÎÉÞÅÎÉÅ ÑÄÒÁ ÎÁ ÏÂßÅÍ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ. ëÁÖÄÙÊ
-    ÂÕÆÅÒ ÉÍÅÅÔ ÒÁÚÍÅÒ × 8 ËÉÌÏÂÁÊÔ É ÐÏ ÕÍÏÌÞÁÎÉÀ ×ÙÄÅÌÑÅÔÓÑ 1000 ÂÕÆÅÒÏ×.</P>
-
-    <P>÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ backend ÏÐÃÉÉ <I>sort_mem</I> É
-    <I>work_mem</I> ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ ÍÁËÓÉÍÁÌØÎÏÇÏ ËÏÌÉÞÅÓÔ×Á ÐÁÍÑÔÉ, ËÏÔÏÒÏÅ
-    ÉÓÐÏÌØÚÕÅÔÓÑ backend ÐÒÏÃÅÓÓÏÍ ÄÌÑ ×ÒÅÍÅÎÎÙÈ ÓÏÒÔÉÒÏ×ÏË. úÎÁÞÅÎÉÅ ÐÏ
-    ÕÍÏÌÞÁÎÉÀ ÓÏÓÔÁ×ÌÑÅÔ 1024 (Ô.Å. 1MB).</P>
-
-    <P>÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ <SMALL>CLUSTER</SMALL> ÄÌÑ
-    ÇÒÕÐÐÉÒÏ×ËÉ ÄÁÎÎÙÈ × ÔÁÂÌÉÃÁÈ ÎÁ ÓÏ×ÐÁÄÁÀÝÉÊ ÉÎÄÅËÓ. ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ
-    ÎÁ ÓÔÒÁÎÉÃÅ ÒÕËÏ×ÏÄÓÔ×Á ÐÏ ËÏÍÁÎÄÅ <SMALL>CLUSTER</SMALL>.</P>
-
-    <H4><A name="3.7">3.7</A>) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ ×
-    ÎÁÌÉÞÉÉ?</H4>
-
-    <P>PostgreSQL ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ×ÏÚÍÏÖÎÏÓÔÅÊ, ÐÏÚ×ÏÌÑÀÝÉÅ ÐÏÌÕÞÉÔØ
-    ÉÎÆÏÒÍÁÃÉÀ Ï ÓÏÓÔÏÑÎÉÉ, ËÏÔÏÒÁÑ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ × ÏÔÌÁÄÏÞÎÙÈ
-    ÃÅÌÑÈ.</P>
+    <P>óÕÝÅÓÔ×ÕÅÔ ÔÒÉ ÇÌÁ×ÎÙÈ ÏÂÌÁÓÔÉ, ËÏÔÏÒÙÅ ÐÏÔÅÎÃÉÁÌØÎÏ ÍÏÇÕÔ
+    Õ×ÅÌÉÞÉÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ:</P>
+    
+    <DL>
+    <DT><B>éÚÍÅÎÅÎÉÅ ÚÁÐÒÏÓÁ</B></DT>
+    <DD>üÔÏ ÏÚÎÁÞÁÅÔ ÍÏÄÉÆÉËÁÃÉÀ ÚÁÐÒÏÓÏ× ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÌÕÞÛÅÊ
+    ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ:
+    <UL>
+    <LI>óÏÚÄÁÎÉÅ ÉÎÄÅËÓÏ×, ×ËÌÀÞÁÑ ÉÎÄÅËÓÙ ×ÙÒÁÖÅÎÉÊ É ÞÁÓÔÉÞÎÙÅ ÉÎÄÅËÓÙ</LI>
+    <LI>éÓÐÏÌØÚÏ×ÁÎÉÅ COPY ×ÍÅÓÔÏ ÍÎÏÖÅÓÔ×Á <small>INSERT</small></LI>
+    <LI>çÒÕÐÐÉÒÏ×ËÁ ÎÅÓËÏÌØËÉÈ ÏÐÅÒÁÔÏÒÏ× × ÅÄÉÎÕÀ ÔÒÁÎÚÁËÃÉÀ ÄÌÑ
+    ÕÍÅÎØÛÅÎÉÑ ÎÁÇÒÕÚËÉ ÐÒÉ ×ÙÐÏÌÎÅÎÉÉ ÚÁ×ÅÒÛÅÎÉÑ ÔÒÁÎÚÁËÃÉÉ</LI>
+    <LI>éÓÐÏÌØÚÏ×ÁÎÉÅ <small>CLUSTER</small>, ËÏÇÄÁ ÉÚ ÉÎÄÅËÓÁ ÂÅÒ£ÔÓÑ
+    ÍÎÏÖÅÓÔ×Ï ÓÔÒÏË</LI>
+    <LI>éÓÐÏÌØÚÏ×ÁÎÉÅ <small>LIMIT</small> ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ×ÏÚ×ÒÁÝÁÌÁÓØ
+    ÔÏÌØËÏ ÞÁÓÔØ ×Ù×ÏÄÁ ÏÔ ÚÁÐÒÏÓÁ</LI>
+    <LI>éÓÐÏÌØÚÏ×ÁÎÉÅ ðÏÄÇÏÔÏ×ÌÅÎÎÙÈ (Prepared) ÚÁÐÒÏÓÏ×</LI>
+    <LI>éÓÐÏÌØÚÏ×ÁÎÉÅ <small>ANALYZE</small> ÄÌÑ ÏÂÓÌÕÖÉ×ÁÎÉÑ ÓÔÁÔÉÓÔÉËÉ
+    ÏÐÔÉÍÉÚÁÔÏÒÁ</LI>
+    <LI>òÅÇÕÌÑÒÎÏÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ <small>VACUUM</small> ÉÌÉ <I>pg_autovacuum</I></LI>
+    <LI>õÄÁÌÅÎÉÅ ÉÎÄÅËÓÏ× ×Ï ×ÒÅÍÑ ÂÏÌØÛÉÈ ÉÚÍÅÎÅÎÉÊ ÄÁÎÎÙÈ</LI>
+    </UL>
+    <BR><BR>
+    </DD>
 
-    <P>÷Ï-ÐÅÒ×ÙÈ, ÐÒÉ ÚÁÐÕÓËÅ <I>configure</I> Ó ÏÐÃÉÅÊ --enable-cassert,
-    ÍÎÏÇÉÅ ×ÙÚÏ×Ù <I>assert()</I> ÐÏÚ×ÏÌÑÀÔ ÏÔÓÌÅÖÉ×ÁÔØ ÒÁÂÏÔÕ backend
-    ÐÒÏÃÅÓÓÁ É ÏÓÔÁÎÏ×ËÕ ÐÒÏÇÒÁÍÍÙ ÐÒÉ ×ÏÚÎÉËÎÏ×ÅÎÉÉ ËÁËÉÈ-ÌÉÂÏ
-    ÎÅÏÖÉÄÁÎÎÏÓÔÅÊ.</P>
+    <DT><B>îÁÓÔÒÏÊËÁ ÓÅÒ×ÅÒÁ</B></DT>
+    
+    <DD>îÅËÏÔÏÒÙÅ ÕÓÔÁÎÏ×ËÉ × <I>postgresql.conf</I> ×ÌÉÑÀÔ ÎÁ
+    ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ. ðÏÄÒÏÂÎÙÊ ÐÏÌÎÙÊ ÓÐÉÓÏË ÕÓÔÁÎÏ×ÏË ÓÍ. ×
+    <A href="http://www.postgresql.org/docs/current/static/runtime.html">
+    Administration Guide/Server Run-time Environment/Run-time Configuration</A>,
+    Á ËÏÍÍÅÎÔÁÒÉÉ ÓÍ. × <A href="http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html">
+    http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html</A>
+    É <A href="http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html">
+    http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html</A>.
+    <BR><BR>
+    </DD>
+    
+    <DT><B>÷ÙÂÏÒ "ÖÅÌÅÚÁ" - ÁÐÐÁÒÁÔÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ</B></DT>
+    
+    <DD>÷ÌÉÑÎÉÅ "ÖÅÌÅÚÁ" ÎÁ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÐÏÄÒÏÂÎÏ ÏÐÉÓÁÎÏ ×
+    <A href="http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html">
+    http://candle.pha.pa.us/main/writings/pgsql/hw_performance/index.html</A> É
+    <A href="http://www.powerpostgresql.com/PerfList/">
+    http://www.powerpostgresql.com/PerfList/</A>.
+    <BR><BR>
+    </DD>
+    </DL>
 
-    <P>é <I>postmaster</I>, É <I>postgres</I> ÉÍÅÀÔ ÎÅÓËÏÌØËÏ ÏÔÌÁÄÏÞÎÙÈ
-    ÏÐÃÉÊ. ÷Ï-ÐÅÒ×ÙÈ, ÐÒÉ ÚÁÐÕÓËÅ <I>postmaster</I>, ÕÂÅÄÉÔÅÓØ, ÞÔÏ
-    ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ É ×Ù×ÏÄ ÏÛÉÂÏË ÏÓÕÝÅÓÔ×ÌÑÀÔÓÑ × ÆÁÊÌ ÖÕÒÎÁÌÁ:</P>
-<PRE>
-    cd /usr/local/pgsql
-    ./bin/postmaster &gt;server.log 2&gt;&amp;1 &amp;
-</PRE>
+    <H4><A name="3.4">3.4</A>) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ ×
+    ÎÁÌÉÞÉÉ?</H4>
 
-    <P>üÔÏ ÐÒÉ×ÅÄÅÔ Ë ÐÏÑ×ÌÅÎÉÀ ÆÁÊÌÁ server.log × ÇÌÁ×ÎÏÍ ËÁÔÁÌÏÇÅ
-    PostgreSQL. üÔÏÔ ÆÁÊÌ ÓÏÄÅÒÖÉÔ ÐÏÌÅÚÎÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÐÒÏÂÌÅÍÁÈ ÉÌÉ
-    ÏÛÉÂËÁÈ, ×ÏÚÎÉËÛÉÈ ÎÁ ÓÅÒ×ÅÒÅ. <I>Postmaster</I> ÉÍÅÅÔ ÏÐÃÉÀ <I>-d</I>,
-    ËÏÔÏÒÁÑ ÐÏÚ×ÏÌÑÅÔ ÐÏÌÕÞÁÔØ ÐÒÉ ÐÒÏÔÏËÏÌÉÒÏ×ÁÎÉÉ ÂÏÌÅÅ ÄÅÔÁÌØÎÕÀ
-    ÉÎÆÒÍÁÃÉÀ. äÌÑ ÏÐÃÉÉ <I>-d</I> ÕËÁÚÙ×ÁÅÔÓÑ ÞÉÓÌÏ, ËÏÔÏÒÏÅ ÚÁÄÁÅÔ ÕÒÏ×ÅÎØ
-    ÏÔÌÁÄËÉ. âÕÄØÔÅ ÏÓÔÏÒÏÖÎÙ, ÔÁË ËÁË ×ÙÓÏËÉÊ ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ ÐÒÉ×ÏÄÉÔ
-    Ë ÇÅÎÅÒÁÃÉÉ ÆÁÊÌÏ× ÖÕÒÎÁÌÁ ÂÏÌØÛÏÇÏ ÒÁÚÍÅÒÁ.</P>
+    <P>åÓÔØ ÍÎÏÖÅÓÔ×Ï ÕÓÔÁÎÏ×ÏË × ÎÁÓÔÒÏÊËÁÈ ÓÅÒ×ÅÒÁ, ÎÁÞÉÎÁÀÝÉÈÓÑ
+    ÎÁ <code>log_*</code>, ÐÏÚ×ÏÌÑÀÝÉÈ ÐÒÏÔÏËÏÌÉÒÏ×ÁÔØ ÚÁÐÒÏÓÙ
+    É ÓÔÁÔÉÓÔÉËÕ ÒÁÂÏÔÙ ÐÒÏÃÅÓÓÁ, ËÏÔÏÒÁÑ ÏÞÅÎØ ÐÏÌÅÚÎÁ ÄÌÑ ÏÔÌÁÄËÉ
+    É ÉÚÍÅÒÅÎÉÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.</P>
+    
+    <P><B>äÌÑ ÐÒÅÄÏÓÔÁ×ÌÅÎÉÑ ÂÏÌÅÅ ÄÅÔÁÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ ÒÁÚÒÁÂÏÔÞÉËÁÍ
+    ÓÅÒ×ÅÒÁ ÐÒÉ ÏÔÌÁÄËÅ ËÁËÏÊ-ÌÉÂÏ ÐÒÏÂÌÅÍÙ ÄÏÌÖÎÙ ÐÏÌØÚÏ×ÁÔØÓÑ
+    ÓÌÅÄÕÀÝÉÅ ÉÎÓÔÒÕËÃÉÉ.</B></P>
+    
+    <P>ôÁËÉÍ ÖÅ ÏÂÒÁÚÏÍ ÍÏÖÎÏ ÐÒÏÉÚ×ÏÄÉÔØ É ÏÔÌÁÄËÕ ÓÅ×ÅÒÁ, ÅÓÌÉ ÏÎ
+    ÒÁÂÏÔÁÅÔ ÎÅÐÒÁ×ÉÌØÎÏ. ÷Ï-ÐÅÒ×ÙÈ, ÐÒÉ ÚÁÐÕÓËÅ <I>configure</I> Ó
+    ÏÐÃÉÅÊ --enable-cassert, ÍÎÏÇÉÅ ×ÙÚÏ×Ù <I>assert()</I> ÐÏÚ×ÏÌÑÀÔ
+    ÏÔÓÌÅÖÉ×ÁÔØ ÒÁÂÏÔÕ backend ÐÒÏÃÅÓÓÁ É ÏÓÔÁÎÏ×ËÕ ÐÒÏÇÒÁÍÍÙ ÐÒÉ
+    ×ÏÚÎÉËÎÏ×ÅÎÉÉ ËÁËÉÈ-ÌÉÂÏ ÎÅÏÖÉÄÁÎÎÏÓÔÅÊ.</P>
 
     <P>åÓÌÉ <I>postmaster</I> ÎÅ ÚÁÐÕÝÅÎ, ×Ù ÍÏÖÅÔÅ ÚÁÐÕÓÔÉÔØ
     <I>postgres</I> backend ÉÚ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ É ××ÅÓÔÉ ×ÁÛ ÏÐÅÒÁÔÏÒ
     <SMALL>SQL</SMALL> ÎÁÐÒÑÍÕÀ. üÔÏ ÒÅËÏÍÅÎÄÕÅÔÓÑ <B>ÔÏÌØËÏ</B> ÄÌÑ
     ÃÅÌÅÊ ÏÔÌÁÄËÉ. úÁÍÅÔÉÍ, ÞÔÏ × ÜÔÏÍ ÒÅÖÉÍÅ, ÚÁÐÒÏÓ ÚÁ×ÅÒÛÁÅÔÓÑ ÓÉÍ×ÏÌÏÍ
     ÎÏ×ÏÊ ÓÔÒÏËÉ, Á ÎÅ ÔÏÞËÏÊ Ó ÚÁÐÑÔÏÊ. åÓÌÉ ×Ù ÐÒÏÉÚ×ÏÄÉÌÉ ËÏÍÐÉÌÑÃÉÀ
-    Ó ÏÔÌÁÄÏÞÎÙÍÉ ÓÉÍ×ÏÌÏÁÍÉ, ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÌÀÂÏÊ ÏÔÌÁÄÞÉË, ÞÔÏÂÙ
+    Ó ÏÔÌÁÄÏÞÎÙÍÉ ÓÉÍ×ÏÌÁÍÉ, ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÌÀÂÏÊ ÏÔÌÁÄÞÉË, ÞÔÏÂÙ
     ÐÏÓÍÏÔÒÅÔØ, ÞÔÏ ÓÌÕÞÉÌÏÓØ. ðÏÓËÏÌØËÕ backend ÚÁÐÕÓËÁÅÔÓÑ ÎÅ ÉÚ
     <I>postmaster</I>, ÏΠÎÅ ÚÁÐÕÓËÁÅÔÓÑ × ÉÄÅÎÔÉÞÎÏÍ ÏËÒÕÖÅÎÉÉ É ÚÎÁÞÉÔ
     ÐÒÏÂÌÅÍÙ ÉÔÅÒÁÃÉÊ ÂÌÏËÉÒÏ×ÏË/backend ÎÅ ÍÏÇÕÔ ÂÙÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÙ.</P>
 
     <P>åÓÌÉ <I>postmaster</I> ÚÁÐÕÝÅÎ, ÚÁÐÕÓÔÉÔÅ <I>psql</I> × ÏÄÎÏÍ
     ÏËÎÅ, ÚÁÔÅÍ ÎÁÊÄÉÔÅ <SMALL>PID</SMALL> ÐÒÏÃÅÓÓÁ <I>postgres</I>,
-    ÉÓÐÏÌØÚÕÅÍÙÊ <I>psql</I>, ÉÓÐÏÌØÚÕÑ </P>
-    
-    <PRE>
-       SELECT pg_backend_pid()
-    </PRE>
-    
-    <P>éÓÐÏÌØÚÕÊÔÅ ÏÔÄÁÄÞÉË ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ Ë <I>postgres</I> <SMALL>PID</SMALL>.
+    ÉÓÐÏÌØÚÕÅÍÙÊ <I>psql</I>, ÉÓÐÏÌØÚÕÑ <CODE>SELECT pg_backend_pid()</CODE>.
+    éÓÐÏÌØÚÕÊÔÅ ÏÔÌÁÄÞÉË ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ Ë <I>postgres</I> <SMALL>PID</SMALL>.
     ÷Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ ÔÏÞËÉ ÐÒÅÒÙ×ÁÎÉÑ × ÏÔÌÁÄÞÉËÅ É ÚÁÐÕÓÔÉÔØ ÚÁÐÒÏÓ
     ÉÚ <I>psql</I>. åÓÌÉ
     ×Ù ÐÒÏÉÚ×ÏÄÉÔÅ ÏÔÌÁÄËÕ ÚÁÐÕÓËÁ <I>postgres</I>, ×Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ
     ×Ù ÍÏÖÅÔÅ ÐÏÄËÌÀÞÉÔØ Ë ÐÒÏÃÅÓÓÕ ÏÔÌÁÄÞÉË, ÕÓÔÁÎÏ×ÉÔØ ÌÀÂÙÅ ÔÏÞËÉ
     ÐÒÅÒÙ×ÁÎÉÑ É ÐÒÏÄÏÌÖÉÔØ ÚÁÐÕÓË.</P>
 
-    <P>ðÒÏÇÒÁÍÍÁ <I>postgres</I> ÉÍÅÅÔ ÏÐÃÉÉ <I>-s, -A</I>, É <I>-t</I>
-    ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÏÞÅÎØ ÐÏÌÅÚÎÙÍÉ ÄÌÑ ÏÔÌÁÄËÉ É ÉÚÍÅÒÅÎÉÑ
-    ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.</P>
-
     <P>÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÓËÏÍÐÉÌÉÒÏ×ÁÔØ PostgreSQL Ó ÐÒÏÆÉÌÉÒÏ×ÁÎÉÅÍ ÄÌÑ
     ÔÏÇÏ, ÞÔÏÂÙ Õ×ÉÄÅÔØ ËÁËÉÅ ÆÕÎËÃÉÉ ÓËÏÌØËÏ ×ÒÅÍÅÎÉ ×ÙÐÏÌÎÑÀÔÓÑ.
     æÁÊÌÙ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ backend'Á ÎÁÈÏÄÑÔÓÑ × ËÁÔÁÌÏÇÅ
     ÂÕÄÅÔ ÐÏÍÅÝÅΠנÔÅËÕÝÉÊ ËÁÔÁÌÏÇ ËÌÉÅÎÔÁ. ÷ Linux ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ
     ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ ÔÒÅÂÕÅÔÓÑ ËÏÍÐÉÌÑÃÉÉ Ó <I>-DLINUX_PROFILE</I>.</P>
 
-    <H4><A name="3.8">3.8</A>) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ <I>"Sorry, too
+    <H4><A name="3.5">3.5</A>) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ <I>"Sorry, too
     many clients"</I> ËÏÇÄÁ ÐÙÔÁÀÓØ ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ?</H4>
 
-    <P>÷ÁÍ ÎÕÖÎÏ Õ×ÅÌÉÞÉÔØ ÏÇÒÁÎÉÞÅÎÉÅ ÎÁ ËÏÌÉÞÅÓÔ×Ï ËÏÎËÕÒÅÔÎÙÈ
-    backend ÐÒÏÃÅÓÓÏ× ÐÒÉ ÚÁÐÕÓËÅ <I>postmaster</I>.</P>
-
-    <P>ðÏ ÕÍÏÌÞÁÎÉÀ ÕÓÔÁÎÏ×ÌÅΠÌÉÍÉÔ ÎÁ 32 ÐÒÏÃÅÓÓÁ. ÷Ù ÍÏÖÅÔÅ
-    Õ×ÅÌÉÞÉÔØ ÜÔÏÔ ÌÉÍÉÔ ÐÅÒÅÚÁÐÕÓÔÉ× <I>postmaster</I> Ó ÎÕÖÎÙÍ
-    ÚÎÁÞÅÎÉÅÍ ÐÒÏÃÅÓÓÏ×, ËÏÔÏÒÏÅ ÕËÁÚÙ×ÁÅÔÓÑ × ÏÐÃÉÉ  <I>-N</I> ÉÌÉ
-    ÉÚÍÅÎÉ× ÆÁÊÌ <I>postgresql.conf</I>.</P>
-
-    <P>úÁÍÅÔÉÍ, ÞÔÏ ÅÓÌÉ ×Ù ÚÁÄÁÄÉÔÅ × ÏÐÃÉÉ <I>-N</I> ÚÎÁÞÅÎÉÅ ÂÏÌØÛÅ
-    32, ÔÏ ×Ù ÔÁËÖÅ ÄÏÌÖÎÙ Õ×ÅÌÉÞÉÔØ ÚÎÁÞÅÎÉÅ × ÏÐÃÉÉ <I>-B</I> ËÏÔÏÒÏÅ
-    ÐÏ ÕÍÏÌÞÁÎÉÀ ÕÓÔÁÎÏ×ÌÅÎÏ × 64; úÎÁÞÅÎÉÅ ÏÐÃÉÉ <I>-B</I> ÄÏÌÖÎÏ ÂÙÔØ
-    ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ×Ä×ÏÅ ÂÏÌØÛÅ ÚÎÁÞÅÎÉÑ ÏÐÃÉÉ <I>-N</I>, É ×ÏÚÍÏÖÎÏ
-    ÅÝ£ ÂÏÌØÛÅ ÄÌÑ ÌÕÞÛÅÊ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ. äÌÑ ÂÏÌØÛÅÇÏ ËÏÌÉÞÅÓÔ×Á
-    backend ÐÒÏÃÅÓÓÏ×, ×ÁÍ ÔÁËÖÅ ÎÅÐÌÏÈÏ ÂÙÌÏ ÂÙ Õ×ÅÌÉÞÉÔØ ÎÅËÏÔÏÒÙÅ
-    ÐÁÒÁÍÅÔÒÙ ÑÄÒÁ Unix. üÔÏ ÔÁËÉÅ ÐÁÒÁÍÅÔÒÙ, ËÁË ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï
-    ÂÌÏËÏ× ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ, <SMALL>SHMMAX;</SMALL> ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï
-    ÓÅÍÁÆÏÒÏ×, <SMALL>SEMMNS</SMALL> É <SMALL>SEMMNI;</SMALL> ÍÁËÓÉÍÁÌØÎÏÅ
-    ËÏÌÉÞÅÓÔ×Ï ÐÒÏÃÅÓÓÏ×, <SMALL>NPROC;</SMALL> ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï
-    ÐÒÏÃÅÓÓÏ× ÎÁ ÐÏÌØÚÏ×ÁÔÅÌÑ, <SMALL>MAXUPRC;</SMALL> É ÍÁËÓÉÍÁÌØÎÏÅ
-    ËÏÌÉÞÅÓÔ×Ï ÏÔËÒÙÔÙÈ ÆÁÊÌÏ×, <SMALL>NFILE</SMALL> É <SMALL>NINODE</SMALL>.
-    ðÒÉÞÉÎÁ ÓÏÚÄÁÎÉÑ ÏÇÒÁÎÉÞÅÎÉÑ ÎÁ ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ× ËÁË
-    ÒÁÚ É ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏÂÙ ×ÁÛÅÊ ÓÉÓÔÅÍÅ È×ÁÔÉÌÏ ÒÅÓÕÒÓÏ×.</P>
-
-    <H4><A name="3.9">3.9</A>) þÔÏ ÎÁÈÏÄÉÔÓÑ × ËÁÔÁÌÏÇÅ <I>pgsql_tmp</I>?</H4>
-
-    <P>äÁÎÎÙÊ ËÁÔÁÌÏÇ ÓÏÄÅÒÖÉÔ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ, ÇÅÎÅÒÉÒÕÅÍÙÅ ÏÂÒÁÂÏÔÞÉËÏÍ
-    ÚÁÐÒÏÓÁ. îÁÐÒÉÍÅÒ, ÅÓÌÉ ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ <small>ORDER BY</small> ÎÕÖÎÁ
-    ÓÏÒÔÉÒÏ×ËÁ É ÜÔÁ ÓÏÒÔÉÒÏ×ËÁ ÔÒÅÂÕÅÔ ÐÁÍÑÔÉ ÂÏÌØÛÅ, ÞÅÍ ÄÏÐÕÓËÁÅÔ ÐÁÒÁÍÅÔÒ <i>-S</i>
-    Õ backend'Á, ÔÏ ÄÌÑ ÈÒÁÎÅÎÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÄÁÎÎÙÈ ÓÏÚÄÁÀÔÓÑ ×ÒÅÍÅÎÎÙÅ
-    ÆÁÊÌÙ.</P>
-    
-    <P>üÔÉ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ ÄÏÌÖÎÙ ÕÄÁÌÑÔØÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÎÏ ÜÔÏÇÏ ÍÏÖÅÔ ÎÅ
-    ÐÒÏÉÚÏÊÔÉ, ÅÓÌÉ backend ÒÕÈÎÕÌ ×Ï ×ÒÅÍÑ ÓÏÒÔÉÒÏ×ËÉ. ïÓÔÁÎÏ× É ÚÁÐÕÓË
-    ÓÅÒ×ÅÒÎÏÇÏ ÐÒÏÃÅÓÓÁ ÏÂÅÓÐÅÞÉÔ ÉÈ ÕÄÁÌÅÎÉÅ ÉÚ ËÁÔÁÌÏÇÁ.</P>
+    <P>÷Ù ÄÏÓÔÉÇÌÉ ÕÓÔÁÎÏ×ÌÅÎÎÏÇÏ ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÇÒÁÎÉÞÅÎÉÑ ÎÁ 100 ÓÅÓÓÉÊ
+    ÐÏÄËÌÀÞÅÎÉÑ Ë ÂÁÚÅ ÄÁÎÎÙÈ. ÷ÁÍ ÎÅÏÂÈÏÄÉÍÏ Õ×ÅÌÉÞÉÔØ ÄÌÑ
+    <I>postmaster</I> ÌÉÍÉÔ ÎÁ ËÏÌÉÞÅÓÔ×Ï ËÏÎËÕÒÅÎÔÎÙÈ backend ÐÒÏÃÅÓÓÏ×,
+    ÉÚÍÅÎÉ× ÚÎÁÞÅÎÉÅ <I>max_connections</I> × ÆÁÊÌÅ <I>postgresql.conf</I>
+    É ÐÅÒÅÓÔÁÒÔÏ×ÁÔØ <I>postmaster</I>.</P>
+     
 
-    <H4><A name="3.10">3.10</A>) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ
+    <H4><A name="3.6">3.6</A>) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ
     ÏÂÎÏ×ÌÅÎÉÉ ×ÙÐÕÓËÏ× PostgreSQL?</H4>
     
     <P>òÁÚÒÁÂÏÔÞÉËÉ PostgreSQL ÄÅÌÁÀÔ ÔÏÌØËÏ ÎÅÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ ÍÅÖÄÕ
-    ÐÏÄ×ÙÐÕÓËÁÍÉ. ôÁËÉÍ ÏÂÒÁÚÏÍ ÏÂÎÏ×ÌÅÎÉÅ Ó ×ÅÒÓÉÉ 7.2 ÄÏ 7.2.1 ÎÅ ÔÒÅÂÕÅÔ
+    ÐÏÄ×ÙÐÕÓËÁÍÉ. ôÁËÉÍ ÏÂÒÁÚÏÍ ÏÂÎÏ×ÌÅÎÉÅ Ó ×ÅÒÓÉÉ 7.4 ÄÏ 7.4.1 ÎÅ ÔÒÅÂÕÅÔ
     ×ÙÐÏÌÎÅÎÉÑ dump É restore. ïÄÎÁËÏ ÐÒÉ ×ÙÈÏÄÅ ÏÞÅÒÅÄÎÏÇÏ ×ÙÐÕÓËÁ
-    (Ô.Å. ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ÎÁÐÒÉÍÅÒ, Ó 7.2 ÎÁ 7.3) ÞÁÓÔÏ ÍÅÎÑÅÔÓÑ ×ÎÕÔÒÅÎÎÉÊ
+    (Ô.Å. ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ÎÁÐÒÉÍÅÒ, Ó 7.3 ÎÁ 7.4) ÞÁÓÔÏ ÍÅÎÑÅÔÓÑ ×ÎÕÔÒÅÎÎÉÊ
     ÆÏÒÍÁÔ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉàɠÆÁÊÌÏ× ÄÁÎÎÙÈ. üÔÉ ÉÚÍÅÎÅÎÉÑ ÞÁÓÔÏ ÎÏÓÑÔ
     ËÏÍÐÌÅËÓÎÙÊ ÈÁÒÁËÔÅÒ, ÔÁË ÞÔÏ ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ÏÂÅÓÐÅÞÉÔØ ÏÂÒÁÔÎÕÀ
     ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÆÁÊÌÏ× ÄÁÎÎÙÈ. ÷ÙÐÏÌÅÎÉÅ dump ÐÏÚ×ÏÌÑÅÔ ÐÏÌÕÞÉÔØ ÄÁÎÎÙÅ
     ÉÓÐÏÌØÚÏ×ÁÎÉÑ dump/restore. ëÏÍÍÅÎÔÁÒÉÉ Ë ×ÙÐÕÓËÕ ÇÏ×ÏÒÉÔ ËÏÇÄÁ ÍÏÖÎÏ
     ÉÓÐÏÌØÚÏ×ÁÔØ <i>pg_upgrade</i> ÄÌÑ ÜÔÏÇÏ ×ÙÐÕÓËÁ.</P>
 
-    <H4><A name="3.11">3.11</A>) ëÁËÏÅ ËÏÍÐØÀÔÅÒÎÏÅ "ÖÅÌÅÚÏ" Ñ ÄÏÌÖÅÎ
+    <H4><A name="3.7">3.7</A>) ëÁËÏÅ ËÏÍÐØÀÔÅÒÎÏÅ "ÖÅÌÅÚÏ" Ñ ÄÏÌÖÅÎ
     ÉÓÐÏÌØÚÏ×ÁÔØ?</H4>
     <P>ðÏÓËÏÌØËÕ "ÖÅÌÅÚÏ" ÐÅÒÓÏÎÁÌØÎÙÈ ËÏÍÐØÀÔÅÒÏ× Ñ×ÌÑÅÔÓÑ ÎÁÉÂÏÌÅÅ
     ÓÏ×ÍÅÓÔÉÍÙÍ, ÌÀÄÉ ÓËÌÏÎÎÙ ×ÅÒÉÔØ, ÞÔÏ ÔÁËÏÅ "ÖÅÌÅÚÏ" ÉÍÅÅÔ ÏÄÉÎÁËÏ×ÏÅ
 
     <H2 align="center">÷ÏÐÒÏÓÙ ÜËÓÐÌÕÁÔÁÃÉÉ</H2>
 
-    <H4><A name="4.1">4.1</A>) ÷ ÞÅÍ ÏÔÌÉÞÉÅ ÍÅÖÄÕ ÂÉÎÁÒÎÙÍ É ÎÏÒÍÁÌØÎÙÍ
-    ËÕÒÓÏÒÏÍ?</H4>
-
-    <P>óÍÏÔÒÉÔÅ ÏÐÉÓÁÎÉÅ ÎÁ ÓÔÒÁÎÉÃÁÈ ÒÕËÏ×ÏÄÓÔ×Á ÐÏÓ×ÑÝÅÎÎÙÍ
-    <SMALL>DECLARE</SMALL>.</P>
-
-    <H4><A name="4.2">4.2</A>) ëÁË ×ÙÐÏÌÎÉÔØ <SMALL>SELECT</SMALL> ÔÏÌØËÏ
+    <H4><A name="4.1">4.1</A>) ëÁË ×ÙÐÏÌÎÉÔØ <SMALL>SELECT</SMALL> ÔÏÌØËÏ
      ÄÌÑ ÎÅÓËÏÌØËÉÈ ÐÅÒ×ÙÈ ÓÔÒÏÞÅË ÚÁÐÒÏÓÁ? ðÒÏÉÚ×ÏÌØÎÏÊ ÓÔÒÏËÉ?</H4>
 
-    <P>óÍÏÔÒÉÔÅ ÓÔÁÎÉÃÕ ÒÕËÏ×ÏÄÓÔ×Á ÐÏÓ×ÑÝÅÎÎÕÀ <SMALL>FETCH</SMALL>
-    ÉÌÉ ÉÓÐÏÌØÚÕÊÔÅ <SMALL>SELECT</SMALL> ... <SMALL>LIMIT</SMALL>....</P>
-
-    <P>äÁÖÅ ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÏÌÕÞÉÔØ ÔÏÌØËÏ ÐÅÒ×ÙÅ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ,
-    ÂÕÄÅÔ ×ÙÐÏÌÎÅΠ×ÅÓØ ÚÁÐÒÏÓ. òÁÓÓÍÏÔÒÉÍ ÚÁÐÒÏÓ, ËÏÔÏÒÙÊ ÉÍÅÅÔ
-    <SMALL>ORDER BY.</SMALL> åÓÌÉ ÅÓÔØ ËÁËÏÊ-ÌÉÂÏ ÉÎÄÅËÓ, ËÏÔÏÒÙÊ
-    ÓÏ×ÐÁÄÁÅÔ Ó <SMALL>ORDER BY</SMALL>, PostgreSQL ÍÏÖÅÔ
-    ×ÙÄÁÔØ ÔÏÌØËÏ ÎÅÓËÏÌØËÏ ÐÅÒ×ÙÈ ÚÁÐÒÏÛÅÎÎÙÈ ÚÁÐÉÓÅÊ ÉÌÉ ÍÏÖÅÔ
-    ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓ ÐÏËÁ ÎÅ ÂÕÄÕÔ ×ÙÄÁÎÙ ÖÅÌÁÅÍÙÅ ÚÁÐÉÓÉ.</P>
+    <P>äÌÑ ÐÏÌÕÞÅÎÉÑ ÔÏÌØËÏ ÎÅÓËÏÌØËÉÈ ÓÔÒÏË, ÅÓÌÉ ×Ù ÚÎÁÅÔÅ ÉÈ ËÏÌÉÞÅÓÔ×Ï
+    ÎÁ ÍÏÍÅÎÔ ×ÙÐÏÌÎÅÎÉÑ <SMALL>SELECT</SMALL> ÉÓÐÏÌØÚÕÊÔÅ <SMALL>LIMIT</SMALL>.</P>
+    åÓÌÉ ÅÓÔØ ËÁËÏÊ-ÌÉÂÏ ÉÎÄÅËÓ, ËÏÔÏÒÙÊ ÓÏ×ÐÁÄÁÅÔ Ó <SMALL>ORDER BY</SMALL>,
+    ÔÏ ×ÏÚÍÏÖÎÏ, ÞÔÏ ×ÅÓØ ÚÁÐÒÏÓ ×ÙÐÏÌÎÅΠɠÎÅ ÂÕÄÅÔ. åÓÌÉ ×Ù ÎÅ ÚÎÁÅÔÅ
+    ËÏÌÉÞÅÓÔ×Á ÎÅÏÂÈÏÄÉÍÙÈ ÓÔÒÏË ÎÁ ÍÏÍÅÎÔ ×ÙÐÏÌÎÅÎÉÑ <SMALL>SELECT</SMALL>,
+    ÉÓÐÏÌØÚÕÊÔÅ ËÕÒÓÏÒ É <SMALL>FETCH</SMALL>.</P>
 
     <p>To <small>SELECT</small> a random row, use:
 </p><pre>    SELECT col
 </pre>
 </p>
 
-    <H4><A name="4.3">4.3</A>) ëÁË ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÔÁÂÌÉàÉÌÉ ÄÒÕÇÉÈ
-     ËÏÍÐÏÎÅÎÔÏ× × <I>psql</I>?</H4>
+    <H4><A name="4.2">4.2</A>) ëÁË ÍÎÅ ÎÁÊÔÉ ËÁËÉÅ ÔÁÂÌÉÃÙ, ÉÎÄÅËÓÙ,
+    ÂÁÚÙ ÄÁÎÎÙÈ É ÐÏÌØÚÏ×ÁÔÅÌÉ ÓÕÝÅÓÔ×ÕÀÔ? ëÁË ÍÎÅ Õ×ÉÄÅÔØ ÚÁÐÒÏÓÙ,
+    ËÏÔÏÒÙÅ ÉÓÐÏÌØÚÕÅÔ <I>psql</I> ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÜÔÏÊ ÉÎÆÏÒÍÁÃÉÉ?</H4>
 
     <P>þÔÏÂÙ ÐÒÏÓÍÁÔÒÉ×ÁÔØ ÔÁÂÌÉÃÙ × <I>psql</I>, ÉÓÐÏÌØÚÕÊÔÅ ËÏÍÁÎÄÕ \dt.
     ðÏÌÎÙÊ ÓÐÉÓÏË ËÏÍÁÎÄ × <I>psql</I> ×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ, ÉÓÐÏÌØÚÕÑ \?.
     ÎÁÞÉÎÁÀÝÉÈÓÑ Ó ÏÂÒÁÔÎÏÊ ËÏÓÏÊ ÞÅÒÔÙ. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÚÁÐÕÓÔÉÔØ
     <I>psql</I> Ó ÏÐÃÉÅÊ <I>-E</I> ÔÁË, ÞÔÏÂÙ ÜÔÁ ÐÒÏÇÒÁÍÍÁ ×ÙÄÁ×ÁÌÁ
     ÚÁÐÒÏÓÙ, ËÏÔÏÒÙÅ ÏÎÁ ÉÓÐÏÌØÚÕÅÔ ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ ÚÁÄÁÎÎÙÈ ×ÁÍÉ
-    ËÏÍÁÎÄ. PostgreSQL ÔÁËÖÅ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ <SMALL>SQLi</SMALL>
+    ËÏÍÁÎÄ. PostgreSQL ÔÁËÖÅ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ <SMALL>SQL</SMALL>
     ÓÏ×ÍÅÓÔÉÍÙÊ Ó INFORMATION SCHEMA ÉÎÔÅÒÆÅÊÓ, Ó ÐÏÍÏÝØÀ ËÏÔÏÒÏÇÏ, ×Ù
     ÍÏÖÅÔÅ ÓÆÏÒÍÉÒÏ×ÁÔØ ÚÁÐÒÏÓ ÎÁ ÐÏÌÕÞÅÎÉÅ ÉÎÆÏÒÍÁÃÉÉ Ï ÂÁÚÅ ÄÁÎÎÙÈ.</P>
+    
+    <P>ôÁËÖÅ ÓÕÝÅÓÔ×ÕÀÔ ÓÉÓÔÅÍÎÙÅ ÔÁÂÌÉÃÙ, ÎÁÞÉÎÁÀÝÉÅÓÑ Ó <I>pg_</I>.</P>
+    
+    <P>éÓÐÏÌØÚÕÊÔÅ <I>psql -l</I> ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÓÐÉÓËÁ ×ÓÅÈ ÂÁÚ ÄÁÎÎÙÈ.</P>
 
-    <H4><A name="4.4">4.4</A>) ëÁË ÕÄÁÌÉÔØ ËÏÌÏÎËÕ ÉÚ ÔÁÂÌÉÃÙ ÉÌÉ
-    ÉÚÍÅÎÉÔؠţ ÔÉРÄÁÎÎÙÈ?</H4>
+    <P>ôÁËÖÅ ÐÏÓÍÏÔÒÉÔÅ ÆÁÊÌ <I>pgsql/src/tutorial/syscat.source</I>.
+    ïΠÐÏËÁÚÙ×ÁÅÔ ÍÎÏÇÉÅ ÉÚ ÏÐÅÒÁÔÏÒÏ× <SMALL>SELECT</SMALL> ÎÅÏÂÈÏÄÉÍÙÈ
+    ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ ÉÚ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉàÂÁÚÙ ÄÁÎÎÙÈ.</P>
 
-    <P><small>DROP COLUMN</small> ÆÕÎËÃÉÏÎÁÌØÎÏÓÔØ ÂÙÌÁ ÄÏÂÁ×ÌÅÎÁ × ×ÙÐÕÓË
-    7.3 Ó ÏÐÅÒÁÔÏÒÏÍ <small>ALTER TABLE DROP COLUMN</small>. ÷ ÒÁÎÎÉÈ ×ÅÒÓÉÑÈ,
-    ÍÏÖÎÏ ÓÄÅÌÁÔØ ÔÁË:</P>
-<PRE>
-    BEGIN;
-    LOCK TABLE old_table;
-    SELECT ...  -- ×ÙÂÏÒËÁ ×ÓÅÈ ËÏÌÏÎÏË ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÔÏÊ, ËÏÔÏÒÕÀ ÈÏÔÉÔÅ ÕÄÁÌÉÔØ
-    INTO TABLE new_table
-    FROM old_table;
-    DROP TABLE old_table;
-    ALTER TABLE new_table RENAME TO old_table;
-    COMMIT;
-</PRE>
 
-    <P>äÌÑ ÉÚÍÅÎÅÎÉÑ ÔÉÐÁ ÄÁÎÎÙÈ ËÏÌÏÎËÉ, ÓÄÅÌÁÊÔÅ ÔÁË:</P>
+    <H4><A name="4.3">4.3</A>) ëÁË ÉÚÍÅÎÉÔØ ÔÉРÄÁÎÎÙÈ ËÏÌÏÎËÉ?</H4>
+
+    <P>÷ 8.0 É ÂÏÌÅÅ ÐÏÚÄÎÉÈ ×ÅÒÓÉÑÈ, ÉÚÍÅÎÅÎÉÅ ÔÉÐÁ ËÏÌÏÎËÉ ×ÙÐÏÌÎÑÅÔÓÑ
+    ÏÞÅÎØ ÌÅÇËÏ ÞÅÒÅÚ <SMALL>ALTER TABLE ALTER COLUMN TYPE</SMALL>.
+
+    <P>÷ ÂÏÌÅÅ ÒÁÎÎÉÈ ×ÅÒÓÉÑÈ ÓÄÅÌÁÊÔÅ ÔÁË:</P>
 <PRE>
     BEGIN;
     ALTER TABLE tab ADD COLUMN new_col <i>new_data_type</i>;
     COMMIT;
 </PRE>
 
-    <H4><A name="4.5">4.5</A>) ëÁËÏ×Ù ÍÁËÓÉÍÁÌØÎÙÅ ÒÁÚÍÅÒÙ ÄÌÑ ÚÁÐÉÓÅÊ,
+    <H4><A name="4.4">4.4</A>) ëÁËÏ×Ù ÍÁËÓÉÍÁÌØÎÙÅ ÒÁÚÍÅÒÙ ÄÌÑ ÓÔÒÏË × ÔÁÂÌÉÃÅ,
     ÔÁÂÌÉàɠÂÁÚÙ ÄÁÎÎÙÈ?</H4>
 
     <P>óÕÝÅÓÔ×ÕÀÔ ÓÌÅÄÕÀÝÉÅ ÏÇÒÁÎÉÞÅÎÉÑ:</P>
-<PRE>
-    íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÂÁÚÙ?                    ÎÅÏÇÒÁÎÉÞÅΠ(ÓÕÝÅÓÔ×ÕÀÔ ÂÁÚÙ ÎÁ 32 TB)
-    íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ?                 32 TB
-    íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÚÁÐÉÓÉ?                  1.6 TB
-    íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÐÏÌÑ?                    1 GB
-    íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÚÁÐÉÓÅÊ × ÔÁÂÌÉÃÅ?   ÎÅÏÇÒÁÎÉÞÅÎÏ
-    íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ËÏÌÏÎÏË × ÔÁÂÌÉÃÅ?   250-1600 × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÔÉÐÁ
-    íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÎÄÅËÓÏ× × ÔÁÂÌÉÃÅ?  ÎÅÏÇÒÁÎÉÞÅÎÏ
-</PRE>
-
-    òÁÚÕÍÅÅÔÓÑ, ÐÏÎÑÔÉÅ "ÎÅÏÇÒÁÎÉÞÅÎÏ" ÎÁ ÓÁÍÏÍ ÄÅÌÅ ÏÇÒÁÎÉÞÉ×ÁÅÔÓÑ
+<BLOCKQUOTE>
+<TABLE BORDER="1">
+<TBODY>
+<TR>
+  <TD>íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÂÁÚÙ?</TD>
+  <TD>ÎÅÏÇÒÁÎÉÞÅΠ(ÓÕÝÅÓÔ×ÕÀÔ ÂÁÚÙ ÎÁ 32 TB)</TD>
+</TR>
+<TR>
+  <TD>íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ?</TD>
+  <TD>32 TB</TD>
+</TR>
+<TR>
+  <TD>íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÓÔÒÏËÉ?</TD>
+  <TD>1.6 TB</TD>
+</TR>
+<TR>
+  <TD>íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÐÏÌÑ?</TD>
+  <TD>1 GB</TD>
+</TR>
+<TR>
+  <TD>íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÓÔÒÏË × ÔÁÂÌÉÃÅ?</TD>
+  <TD>ÎÅÏÇÒÁÎÉÞÅÎÏ</TD>
+</TR>
+<TR>
+  <TD>íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ËÏÌÏÎÏË × ÔÁÂÌÉÃÅ?</TD>
+  <TD>250-1600 × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÔÉÐÁ</TD>
+</TR>
+<TR>
+  <TD>íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÎÄÅËÓÏ× × ÔÁÂÌÉÃÅ?</TD>
+  <TD>ÎÅÏÇÒÁÎÉÞÅÎÏ</TD>
+</TR>
+</TBODY>
+</TABLE>
+</BLOCKQUOTE>
+<BR>
+    <P>òÁÚÕÍÅÅÔÓÑ, ÐÏÎÑÔÉÅ "ÎÅÏÇÒÁÎÉÞÅÎÏ" ÎÁ ÓÁÍÏÍ ÄÅÌÅ ÏÇÒÁÎÉÞÉ×ÁÅÔÓÑ
     ÄÏÓÔÕÐÎÙÍ ÄÉÓËÏ×ÙÍ ÐÒÏÓÔÒÁÎÉÓÔ×ÏÍ É ÒÁÚÍÅÒÁÍÉ ÐÁÍÑÔÉ/Ó×ÏÐÐÉÎÇÁ.
     ëÏÇÄÁ ÚÎÁÞÅÎÉÑ ÐÅÒÅÞÉÓÌÅÎÎÙÅ ×ÙÛÅ ÎÅÏÐÒÁ×ÄÁÎÏ ÂÏÌØÛÉÅ, ÍÏÖÅÔ
-    ÐÏÓÔÒÁÄÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ.
+    ÐÏÓÔÒÁÄÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ.</P>
 
     <P>íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ × 32 TB ÎÅ ÔÒÅÂÕÅÔ ÞÔÏÂÙ ÏÐÅÒÁÃÉÏÎÎÁÑ
     ÓÉÓÔÅÍÁ ÐÏÄÄÅÒÖÉ×ÁÌÁ ÆÁÊÌÙ ÂÏÌØÛÉÈ ÒÁÚÍÅÒÏ×. âÏÌØÛÉÅ ÔÁÂÌÉÃÙ ÈÒÁÎÑÔÓÑ
     ÍÏÇÕÔ ÂÙÔØ Õ×ÅÌÉÞÅÎÙ × ÞÅÔÙÒÅ ÒÁÚÁ, ÅÓÌÉ ÒÁÚÍÅÒ ÂÌÏËÁ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÕÄÅÔ
     Õ×ÅÌÉÞÅΠÄÏ 32k.</P>
 
-    <H4><A name="4.6">4.6</A>) ëÁË ÍÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÂÁÚÅ ÄÁÎÎÙÈ
+    <H4><A name="4.5">4.5</A>) ëÁË ÍÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÂÁÚÅ ÄÁÎÎÙÈ
      ÎÕÖÎÏ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ ÉÚ ÏÂÙÞÎÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ?</H4>
 
     <P>óõâä PostgreSQL ÍÏÖÅÔ ÐÏÔÒÅÂÏ×ÁÔØÓÑ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á ÄÏ 5 ÒÁÚ
     òÁÚÍÅÒ ÂÁÚÙ PostgreSQL, ÓÏÄÅÒÖÁÝÅÊ ÜÔÉ ÖÅ ÄÁÎÎÙÅ ÓÏÓÔÁ×ÉÔ ÐÒÉÂÌÉÚÉÔÅÌØÎÏ
     6.4 MB ÉÚ ËÏÔÏÒÙÈ:</P>
 <PRE>
-    32 ÂÁÊÔ: ÎÁ ËÁÖÄÙÊ ÚÁÇÏÌÏ×ÏË ÚÁÐÉÓÉ (ÐÒÉÂÌÉÚÉÔÅÌØÎÏ)
+    32 ÂÁÊÔ: ÎÁ ËÁÖÄÙÊ ÚÁÇÏÌÏ×ÏË ÓÔÒÏËÉ × ÔÁÂÌÉÃÅ (ÐÒÉÂÌÉÚÉÔÅÌØÎÏ)
   + 24 ÂÁÊÔÁ: ÏÄÎÏ ÐÏÌÅ Ó ÃÅÌÏÞÉÓÌÅÎÎÙÍ ÔÉÐÏÍ É ÏÄÎÏ ÔÅËÓÔÏ×ÏÅ ÐÏÌÅ
-  +  4 ÂÁÊÔÁ: ÕËÁÚÁÔÅÌØ ÎÁ ÓÔÒÁÎÉÃÅ ÄÌÑ ×ÓÅÊ ÚÁÐÉÓÉ
+  +  4 ÂÁÊÔÁ: ÕËÁÚÁÔÅÌØ ÎÁ ÓÔÒÁÎÉÃÅ ÄÌÑ ×ÓÅÊ ÔÁÂÌÉÞÎÏÊ ÓÔÒÏËÉ
    ----------------------------------------
-    60 ÂÁÊÔ ÎÁ ÚÁÐÉÓØ
+    60 ÂÁÊÔ ÎÁ ÓÔÒÏËÕ × ÔÁÂÌÉÃÅ
 
    òÁÚÍÅÒ ÓÔÒÁÎÉÃÙ ÄÁÎÎÙÈ × PostgreSQL ÓÏÓÔÁ×ÌÑÅÔ 8192 ÂÁÊÔ (8 KB), ÔÁË ÞÔÏ:
 
    8192 ÂÁÊÔ ÎÁ ÓÔÒÁÎÉÃÕ
-   ---------------------   =  136 ÚÁÐÉÓÅÊ ÎÁ ÓÔÒÁÎÉÃÕ âä (ÏËÒÕÇÌ£ÎÎÏ)
-     60 ÂÁÊÔ ÎÁ ÚÁÐÉÓØ
+   ---------------------   =  136 ÓÔÒÏË × ÔÁÂÌÉÃÅ ÎÁ ÓÔÒÁÎÉÃÕ âä (ÏËÒÕÇÌ£ÎÎÏ)
+     60 ÂÁÊÔ ÎÁ ÓÔÒÏËÕ × ÔÁÂÌÉÃÅ
 
      100000 ÓÔÒÏË ÄÁÎÎÙÈ
    ----------------------- =  735 ÓÔÒÁÎÉàנâä (ÏËÒÕÇÌ£ÎÎÏ)
-   128 ÚÁÐÉÓÅÊ ÎÁ ÓÔÒÁÎÉÃÕ
+   128 ÓÔÒÏË × ÔÁÂÌÉÃÅ ÎÁ ÓÔÒÁÎÉÃÕ
 
    735 ÓÔÒÁÎÉàâä * 8192 ÂÁÊÔ ÎÁ ÓÔÒÁÎÉÃÕ = 6,021,120 ÂÁÊÔ (6 MB)
 </PRE>
     ÚÁÎÉÍÁÀÔ ÏÞÅÎØ ÍÁÌÏ ÍÅÓÔÁ.
     </P>
 
-    <H4><A name="4.7">4.7</A>) ëÁË ÍÎÅ ÕÂÅÄÉÔØÓÑ, ÞÔÏ ÓÕÝÅÓÔ×ÕÀÔ ÎÕÖÎÙÅ ÍÎÅ
-     ÔÁÂÌÉÃÙ, ÉÎÄÅËÓÙ, ÂÁÚÙ ÄÁÎÎÙÈ É ÐÏÌØÚÏ×ÁÔÅÌÉ?</H4>
-
-    <P><I>psql</I> ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ËÏÍÁÎÄ, ÎÁÞÉÎÁÀÝÉÈÓÑ Ó ÏÂÒÁÔÎÏÊ ËÏÓÏÊ
-    ÞÅÒÔÙ, ÄÌÑ ÔÏÇÏ ÞÔÏÂÙ ÐÒÏÓÍÁÔÒÉ×ÁÔØ ÔÁËÕÀ ÉÎÆÏÒÍÁÃÉÀ. éÓÐÏÌØÚÕÊÔÅ
-    \? ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ Õ×ÉÄÅÔØ ÜÔÉ ËÏÍÁÎÄÙ. ôÁËÖÅ ÓÕÝÅÓÔ×ÕÀÔ ÓÉÓÔÅÍÎÙÅ
-    ÔÁÂÌÉÃÙ, ÉÍÑ ËÏÔÏÒÙÈ ÎÁÞÉÎÁÅÔÓÑ ÎÁ <i>pg_</i> É × ËÏÔÏÒÙÈ ÔÁËÖÅ ÓÏÄÅÒÖÉÔÓÑ
-    ÜÔÁ ÉÎÆÏÒÍÁÃÉÑ. åÝ£, <i>psql -l</i> ÐÏËÁÖÅÔ ÓÐÉÓÏË ×ÓÅÈ ÂÁÚ ÄÁÎÎÙÈ.</P>
-
-    <P>ôÁËÖÅ ÓÍÏÔÒÉÔÅ ÆÁÊÌ <I>pgsql/src/tutorial/syscat.source</I>. ÷ ÎÅÍ
-    ÐÒÅÄÓÔÁ×ÌÅÎÙ ÍÎÏÇÉÅ ÏÐÅÒÁÔÏÒÙ <SMALL>SELECT</SMALL> ËÏÔÏÒÙÅ ÎÕÖÎÙ
-    ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ ÉÚ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉàÂÁÚÙ ÄÁÎÎÙÈ.</P>
-
-    <H4><A name="4.8">4.8</A>) õ ÍÅÎÑ ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÀÔ ÚÁÐÒÏÓÙ ÉÌÉ ÎÅ
-     ÐÒÏÉÓÈÏÄÉÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÉÎÄÅËÓÏ×. ðÏÞÅÍÕ?</H4>
+    <H4><A name="4.6">4.6</A>) ðÏÞÅÍÕ ÍÏÉ ÚÁÐÒÏÓÙ ÒÁÂÏÔÁÀÔ ÍÅÄÌÅÎÏ? ðÏÞÅÍÕ
+     ÏÎÉ ÎÅ ÉÓÐÏÌØÚÕÀÔ ÍÏÉ ÉÎÄÅËÓÙ?</H4>
 
     <P>éÎÄÅËÓÙ ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ ËÁÖÄÏÇÏ ÚÁÐÒÏÓÁ Á×ÔÏÍÁÔÉÞÅÓËÉ. ïÎÉ
     ÉÓÐÏÌØÚÕÀÔÓÑ ÔÏÌØËÏ ÅÓÌÉ ÔÁÂÌÉÃÁ ÂÏÌØÛÅ ÍÉÎÉÍÁÌØÎÏÇÏ ÒÁÚÍÅÒÁ É ÚÁÐÒÏÓ
-    ×ÙÂÉÒÁÅÔ ÔÏÌØËÏ ÍÁÌÅÎØËÉÊ ÐÒÏÃÅÎÔ ÚÁÐÉÓÅÊ × ÔÁÂÌÉÃÅ. ôÁË ÕÓÔÒÏÅÎÏ,
+    ×ÙÂÉÒÁÅÔ ÔÏÌØËÏ ÍÁÌÅÎØËÉÊ ÐÒÏÃÅÎÔ ÓÔÒÏË × ÔÁÂÌÉÃÅ. ôÁË ÕÓÔÒÏÅÎÏ,
     ÐÏÔÏÍÕ ÞÔÏ ÄÏÓÔÕРˠÄÉÓËÕ Ó ÐÒÉÍÅÎÅÎÉÅÍ ÒÁÎÄÏÍÉÚÁÃÉÉ ÐÒÉ ÓËÁÎÉÒÏ×ÁÎÉÉ
     ÉÎÄÅËÓÏ× ÍÏÖÅÔ ÂÙÔØ ÍÅÄÌÅÎÎÅÅ, ÞÅÍ ÐÒÏÓÔÏÅ ÞÔÅÎÉÅ ÔÁÂÌÉÃÙ ÉÌÉ ÅÅ
     ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÅ ÓËÁÎÉÒÏ×ÁÎÉÅ.</P>
     ÔÁÂÌÉÃÙ, PostgreSQL ÄÏÌÖÅΠÉÍÅÔØ ÓÔÁÔÉÓÔÉËÕ ÐÏ ÜÔÏÊ ÔÁÂÌÉÃÅ. üÔÁ
     ÓÔÁÔÉÓÔÉËÁ ÓÏÂÉÒÁÅÔÓÑ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ <SMALL>VACUUM ANALYZE</SMALL>
     ÉÌÉ ÐÒÏÓÔÏ <SMALL>ANALYZE</SMALL>. éÓÐÏÌØÚÕÑ ÓÔÁÔÉÓÔÉËÕ, ÏÐÔÉÍÉÚÁÔÏÒ
-    ÕÚÎÁÅÔ Ï ÔÏÍ ËÁË ÍÎÏÇÏ ÚÁÐÉÓÅÊ × ÔÁÂÌÉÃÅ É ÅÓÌÉ ÏΠÄÏÌÖÅΠÉÓÐÏÌØÚÏ×ÁÔØ
+    ÕÚÎÁÅÔ Ï ÔÏÍ ËÁË ÍÎÏÇÏ ÓÔÒÏË × ÔÁÂÌÉÃÅ É ÅÓÌÉ ÏΠÄÏÌÖÅΠÉÓÐÏÌØÚÏ×ÁÔØ
     ÉÎÄÅËÓÙ, ÔÏ ÏΠÍÏÖÅÔ ÐÒÉÎÉÍÁÔØ ÌÕÞÛÉÅ ÒÅÛÅÎÉÑ. óÔÁÔÉÓÔÉËÁ ÔÁËÖÅ
     ×ÌÉÑÅÔ ÎÁ ÏÐÒÅÄÅÌÅÎÉÅ ÏÐÔÉÍÁÌØÎÏÇÏ ÐÏÒÑÄËÁ Ó×ÑÚÙ×ÁÎÉÑ É ÍÅÔÏÄÁ Ó×ÑÚÙ×ÁÎÉÑ.
-    óÂÏÒ ÓÔÁÔÉÓÔÉËÉ ÄÏÌÖÅΠÐÅÒÉÏÄÉÞÅÓËÉ ×ÙÐÏÌÎÑÔÓÑ ÐÒÉ ÉÚÍÅÎÅÎÉÉ ÓÏÄÅÒÖÉÍÏÇÏ
-    ÔÁÂÌÉÃÙ.</P>
+    ðÒÉ ÉÚÍÅÎÅÎÉÉ ÓÏÄÅÒÖÉÍÏÇÏ ÔÁÂÌÉÃÙ ÄÏÌÖÅΠÐÅÒÉÏÄÉÞÅÓËÉ ×ÙÐÏÌÎÑÔÓÑ
+    ÓÂÏÒ ÓÔÁÔÉÓÔÉËÉ.</P>
     
     <P>ïÂÙÞÎÏ ÉÎÄÅËÓÙ ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ <SMALL>ORDER BY</SMALL> ÉÌÉ ÄÌÑ
     ×ÙÐÏÌÎÅÎÉÑ Ó×ÑÚÙ×ÁÎÉÊ. ðÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ ÐÅÒÅÂÏÒ ÓÌÅÄÕÀÝÉÊ ÚÁ Ñ×ÎÏÊ
     </UL></LI>
     <LI>óÔÒÏËÁ ÐÏÉÓËÁ ÎÅ ÄÏÌÖÎÁ ÎÁÞÉÎÁÔØÓÑ Ó ÓÉÍ×ÏÌÁ ËÌÁÓÓÁ, Ô.Å. [a-e].</LI>
     <LI>ðÏÉÓË ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ, ÔÁËÏÊ ËÁË <small>ILIKE</small> É
-    <i>~*</i> ÎÅ ÉÓÐÏÌØÚÕÅÔ ÉÎÄÅËÓÙ. ÷ÍÅÓÔÏ ÎÅÇÏ, ÉÓÐÏÌØÚÕÊÔÅ ÆÕÎËÃÉÏÎÁÌØÎÙÅ
-    ÉÎÄÅËÓÙ, ËÏÔÏÒÙÅ ÏÐÉÓÙ×ÁÀÔÓÑ × ÓÅËÃÉÉ <A href="#4.12">4.12</A>.</LI>
+    <i>~*</i> ÎÅ ÉÓÐÏÌØÚÕÅÔ ÉÎÄÅËÓÙ. ÷ÍÅÓÔÏ ÎÅÇÏ, ÉÓÐÏÌØÚÕÊÔÅ ÉÎÄÅËÓÙ
+    ×ÙÒÁÖÅÎÉÊ, ËÏÔÏÒÙÅ ÏÐÉÓÙ×ÁÀÔÓÑ × ÓÅËÃÉÉ <A href="#4.8">4.8</A>.</LI>
     <LI>÷Ï ×ÒÅÍÑ <i>initdb</i> ÄÏÌÖÎÁ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÌÏËÁÌØ ÐÏ ÕÍÏÌÞÁÎÉÀ
-    <i>C</i>, ÐÏÔÏÍÕ ÞÔÏ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ÕÚÎÁÔØ next-greater
+    <i>C</i>, ÐÏÔÏÍÕ ÞÔÏ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ÕÚÎÁÔØ ÓÌÅÄÕÀÝÉÊ ÎÁÉÂÏÌØÛÉÊ
     ÓÉÍ×ÏÌ ÄÌÑ ÎÅ-C ÌÏËÁÌÉ. ÷Ù ÍÏÖÅÔÅ ÄÌÑ ÔÁËÉÈ ÓÌÕÞÁÅ× ÓÏÚÄÁÔØ ÓÐÅÃÉÁÌØÎÙÊ
-    ÉÎÄÅËÓ
-    <PRE>
-       text_pattern_ops
-    </PRE>
-    ËÏÔÏÒÙÊ ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ ÄÌÑ
-    <PRE>
-       LIKE
-    </PRE>
-    ÉÎÄÅËÓÉÒÏ×ÁÎÉÑ.</LI>
+    ÉÎÄÅËÓ <CODE>text_pattern_ops</CODE> ËÏÔÏÒÙÊ ÒÁÂÏÔÁÅÔ ÔÏÌØËÏ ÄÌÑ
+    <SMALL>LIKE</SMALL> ÉÎÄÅËÓÉÒÏ×ÁÎÉÑ.</LI>
     </UL>
-    </P>
     
     <P>÷ ×ÙÐÕÓËÁÈ ÄÏ ×ÅÒÓÉÉ 8.0, ÉÎÄÅËÓÙ ÞÁÓÔÏ ÎÅÌØÚÑ ÂÙÌÏ ÉÓÐÏÌØÚÏ×ÁÔØ,
     ÅÓÌÉ ÔÉÐÙ ÄÁÎÎÙÈ ÔÏÞÎÏ ÎÅ ÓÏ×ÐÁÄÁÌÉ Ó ÉÎÄÅËÓÎÙÍÉ ÔÉÐÁÍÉ ËÏÌÏÎÏË. üÔÏ
     ÏÓÏÂÅÎÎÏ ËÁÓÁÌÏÓØ int2, int8 É numeric ÉÎÄÅËÓÏ× ËÏÌÏÎÏË.</P>
 
-    <H4><A name="4.9">4.9</A>) ëÁË ÐÏÓÍÏÔÒÅÔØ ÎÁ ÔÏ, ËÁË ÏÐÔÉÍÉÚÁÔÏÒ ×ÙÐÏÌÎÑÅÔ
+    <H4><A name="4.7">4.7</A>) ëÁË ÐÏÓÍÏÔÒÅÔØ ÎÁ ÔÏ, ËÁË ÏÐÔÉÍÉÚÁÔÏÒ ×ÙÐÏÌÎÑÅÔ
      ÍÏÊ ÚÁÐÒÏÓ?</H4>
 
     <P>óÍÏÔÒÉÔÅ ÓÔÒÁÎÉÃÕ ÒÕËÏ×ÏÄÓÔ×Á ÐÏÓ×ÑÝÅÎÎÕÀ <SMALL>EXPLAIN</SMALL>.</P>
 
-    <H4><A name="4.10">4.10</A>) þÔÏ ÔÁËÏÅ R-tree ÉÎÄÅËÓ?</H4>
-
-    <P>R-tree ÉÎÄÅËÓ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÉÎÄÅËÓÉÒÏ×ÁÎÉÑ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÙÈ ÄÁÎÎÙÈ.
-    éÎÄÅËÓ ÈÜÛÁ ÎÅ ÍÏÖÅÔ ÕÐÒÁ×ÌÑÔØ ÐÏÉÓËÁÍÉ ÄÉÁÐÁÚÏÎÁ. B-tree ÉÎÄÅËÓ
-    ÕÐÒÁ×ÌÑÅÔ ÔÏÌØËÏ ÐÏÉÓËÁÍÉ ÄÉÁÐÁÚÏÎÁ × ÏÄÎÏÍ ÉÚÍÅÒÅÎÉÉ. R-tree ÉÎÄÅËÓ
-    ÍÏÖÅÔ ÕÐÒÁ×ÌÑÔØ ÍÎÏÇÏÒÁÚÍÅÒÎÙÍÉ ÄÁÎÎÙÍÉ. îÁÐÒÉÍÅÒ, ÅÓÌÉ R-tree ÉÎÄÅËÓ
-    ÍÏÖÅÔ ÂÙÔØ ×ÓÔÒÏÅΠנÁÔÒÉÂÕÔ ÔÉÐÁ <I>point</I>, ÔÏ ÓÉÓÔÅÍÁ ÍÏÖÅÔ
-    ÂÏÌÅÅ ÜÆÆÅËÔÉ×ÎÏ ÏÔ×ÅÔÉÔØ ÎÁ ÚÁÐÒÏÓ ÔÉÐÁ "×ÙÂÒÁÔØ ×ÓÅ ÔÏÞËÉ ×ÎÕÔÒÉ
-    ÚÁÄÁÎÎÏÇÏ ÞÅÔÙÒÅÈÕÇÏÌØÎÉËÁ."</P>
 
-    <P>ëÁÎÏÎÉÞÅÓËÉÊ ÉÓÔÏÞÎÉË, ÏÐÉÓÙ×ÁÀÝÉÊ ÐÅÒ×ÏÎÁÞÁÌØÎÏÅ ÓÏÚÄÁÎÉÅ R-tree
-    ÜÔÏ:</P>
-
-    <P>Guttman, A. "R-trees: A Dynamic Index Structure for Spatial
-    Searching." Proceedings of the 1984 ACM SIGMOD Int'l Conf on Mgmt
-    of Data, 45-57.</P>
-
-    <P>÷Ù ÍÏÖÅÔÅ ÎÁÊÔÉ ÜÔÏÔ ÄÏËÕÍÅÎÔ × ËÎÉÇÅ óÔÏÕÎÂÒÅÊËÅÒÁ "Readings in
-    Database Systems".</P>
-
-    <P>÷ÓÔÒÏÅÎÎÎÙÅ R-tree ÍÏÇÕÔ ÕÐÒÁ×ÌÑÔØ ÐÏÌÉÇÏÎÁÍÉ É ÂÏËÓÁÍÉ. ÷ ÔÅÏÒÉÉ,
-    R-tree ÍÏÇÕÔ ÂÙÔØ ÒÁÓÛÉÒÅÎÙ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ ÂÏÌØÛÉÍ ËÏÌÉÞÅÓÔ×ÏÍ
-    ÉÚÍÅÒÅÎÉÊ. îÁ ÐÒÁËÔÉËÅ, ÒÁÓÛÉÒÅÎÉÅ R-tree ÔÒÅÂÕÅÔ ÎÅËÏÔÏÒÙÈ ÕÓÉÌÉÊ É
-    Õ ÎÁÓ, × ÄÁÎÎÙÊ ÍÏÍÅÎÔ, ÎÅÔ ËÁËÏÊ-ÌÉÂÏ ÄÏËÕÍÅÎÔÁÃÉÉ Ï ÔÏÍ, ËÁË ÜÔÏ
-    ÓÄÅÌÁÔØ.</P>
-
-    <H4><A name="4.11">4.11</A>) þÔÏ ÔÁËÏÅ Genetic Query
-    Optimizer?</H4>
-
-    <P>íÏÄÕÌØ <SMALL>GEQO</SMALL> ÐÒÏÉÚ×ÏÄÉÔ ÂÙÓÔÒÕÀ ÏÐÔÉÍÉÚÁÃÉÀ ÚÁÐÒÏÓÁ,
-    ËÏÇÄÁ ÐÒÏÉÓÈÏÄÉÔ Ó×ÑÚÙ×ÁÎÉÅ ÍÎÏÇÉÈ ÔÁÂÌÉàÞÅÒÅÚ Genetic Algorithm (GA).
-    üÔÏ ÐÏÚ×ÏÌÑÅÔ ÕÐÒÁ×ÌÑÔØ ÂÏÌØÛÉÍÉ ÚÁÐÒÏÓÁÍÉ ÎÁ Ó×ÑÚÙ×ÁÎÉÅ ÞÅÒÅÚ
-    ÎÅÉÓÔÏÝÁÀÝÉÊ ÐÏÉÓË.</P>
-
-    <H4><A name="4.12">4.12</A>) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ
+    <H4><A name="4.8">4.8</A>) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ
      É ÐÏÉÓË ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË× ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ?
      ëÁË ÍÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÄÅËÓ ÄÌÑ ÐÏÉÓËÁ ÎÅÚÁ×ÉÓÉÍÏÇÏ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË×?</H4>
 
 </PRE>
 
     üÔÁ ËÏÎÓÔÒÕËÃÉÑ ÎÅ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÔÁÎÄÁÒÔÎÙÊ ÉÎÄÅËÓ. ïÄÎÁËÏ, ÅÓÌÉ
-    ×Ù ÓÏÚÄÁÄÉÔÅ ÆÕÎËÃÉÏÎÁÌØÎÙÊ ÉÎÄÅËÓ, ÏΠÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎ:
+    ×Ù ÓÏÚÄÁÄÉÔÅ ÉÎÄÅËÓ ×ÙÒÁÖÅÎÉÑ, ÏΠÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎ:
 <PRE>
     CREATE INDEX tabindex ON tab (lower(col));
 </PRE>
 
-    <H4><A name="4.13">4.13</A>) ëÁË Ñ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ, ÞÔÏ ÚÎÁÞÅÎÉÅ ÐÏÌÑ
+    <H4><A name="4.9">4.9</A>) ëÁË Ñ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ, ÞÔÏ ÚÎÁÞÅÎÉÅ ÐÏÌÑ
     ÒÁ×ÎÏ <SMALL>NULL</SMALL> × ËÁËÏÍ-ÌÉÂÏ ÚÁÐÒÏÓÅ?</H4>
 
     <P>÷Ù ÐÒÏÓÔÏ ÓÒÁ×ÎÉ×ÁÅÔÅ ÚÎÁÞÅÎÉÅ Ó <SMALL>IS NULL</SMALL> É
     <SMALL>IS NOT NULL</SMALL>.</P>
 
-    <H4><A name="4.14">4.14</A>) ëÁËÏ×Ù ÏÔÌÉÞÉÑ ÍÅÖÄÕ ÒÁÚÎÙÍÉ ÓÉÍ×ÏÌØÎÙÍÉ
+    <H4><A name="4.10">4.10</A>) ëÁËÏ×Ù ÏÔÌÉÞÉÑ ÍÅÖÄÕ ÒÁÚÎÙÍÉ ÓÉÍ×ÏÌØÎÙÍÉ
      ÔÉÐÁÍÉ?</H4>
-<PRE>
-ôÉР           ÷ÎÕÔÒÅÎÎÅÅ ÉÍÑ   úÁÍÅÞÁÎÉÑ
---------------------------------------------------
-VARCHAR(n)      varchar         ÒÁÚÍÅÒ ÚÁÄÁÅÔ ÍÁËÓÉÍÁÌØÎÕÀ ÄÌÉÎÕ, ÎÅÔ ÚÁÐÏÌÎÅÎÉÑ
-CHAR(n)         bpchar          ÚÁÐÏÌÎÑÅÔÓÑ ÐÕÓÔÏÔÏÊ ÄÏ ÆÉËÓÉÒÏ×ÁÎÎÏÊ ÄÌÉÎÙ
-TEXT            text            ÎÅÔ ÚÁÄÁ×ÁÅÍÏÇÏ ×ÅÒÈÎÅÇÏ ÏÇÒÁÎÉÞÅÎÉÑ ÉÌÉ ÄÌÉÎÙ
-BYTEA           bytea           ÍÁÓÓÉ× ÂÁÊÔ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ (ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ null-ÂÁÊÔ ÂÅÚ ÏÐÁÓËÉ)
-"char"          char            ÏÄÉΠÓÉÍ×ÏÌ
-</PRE>
+<BLOCKQUOTE>
+<TABLE BORDER="1">
+<TBODY>
+<TR>
+  <TH>ôÉÐ</TH>
+  <TH>÷ÎÕÔÒÅÎÎÅÅ ÉÍÑ</TH>
+  <TH>úÁÍÅÞÁÎÉÑ</TH>
+</TR>
+<TR>
+  <TD>VARCHAR(n)</TD>
+  <TD>varchar</TD>
+  <TD>ÒÁÚÍÅÒ ÚÁÄÁÅÔ ÍÁËÓÉÍÁÌØÎÕÀ ÄÌÉÎÕ, ÎÅÔ ÚÁÐÏÌÎÅÎÉÑ</TD>
+</TR>
+<TR>
+  <TD>CHAR(n)</TD>
+  <TD>bpchar</TD>
+  <TD>ÚÁÐÏÌÎÑÅÔÓÑ ÐÕÓÔÏÔÏÊ ÄÏ ÆÉËÓÉÒÏ×ÁÎÎÏÊ ÄÌÉÎÙ</TD>
+</TR>
+<TR>
+  <TD>TEXT</TD>
+  <TD>text</TD>
+  <TD>ÎÅÔ ÚÁÄÁ×ÁÅÍÏÇÏ ×ÅÒÈÎÅÇÏ ÏÇÒÁÎÉÞÅÎÉÑ ÉÌÉ ÄÌÉÎÙ</TD>
+</TR>
+<TR>
+  <TD>BYTEA</TD>
+  <TD>bytea</TD>
+  <TD>ÍÁÓÓÉ× ÂÁÊÔ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ (ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ null-ÂÁÊÔ ÂÅÚ ÏÐÁÓËÉ)</TD>
+</TR>
+<TR>
+  <TD>"char"</TD>
+  <TD>char</TD>
+  <TD>ÏÄÉΠÓÉÍ×ÏÌ</TD>
+</TR>
+</TBODY>
+</TABLE>
+</BLOCKQUOTE>
 
     <P>÷ÎÕÔÒÅÎÎÅÅ ÉÍÑ ×Ù ÍÏÖÅÔÅ Õ×ÉÄÅÔØ, ËÏÇÄÁ ÓÍÏÔÒÉÔÅ ÓÉÓÔÅÍÎÙÅ ËÁÔÁÌÏÇÉ
     É × ÎÅËÏÔÏÒÙÈ ÓÏÏÂÝÅÎÉÑÈ Ï ÏÛÉÂËÁÈ.</P>
@@ -1147,7 +907,7 @@ BYTEA           bytea           
     ËÏÔÏÒÙÈ ÍÏÇÕÔ ×ËÌÀÞÁÔØ <SMALL>NULL</SMALL> ÂÁÊÔÙ. ÷ÓÅ ÔÉÐÙ ÏÐÉÓÁÎÎÙÅ
     ÚÄÅÓØ, ÉÍÅÀÔ ÓÈÏÄÎÙÅ ÈÁÒÁËÔÅÒÉÓÔÉËÉ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.</P>
 
-    <H4><A name="4.15.1">4.15.1</A>) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ÐÏÌÅ
+    <H4><A name="4.11.1">4.11.1</A>) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ÐÏÌÅ
     serial/Ó-Á×ÔÏ-Õ×ÅÌÉÞÅÎÉÅÍ?</H4>
 
     <P>PostgreSQL ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÉРÄÁÎÎÙÈ <SMALL>SERIAL</SMALL>. ïÎ
@@ -1169,20 +929,15 @@ BYTEA           bytea           
 </PRE>
 
     óÍÏÔÒÉÔÅ ÐÏÄÒÏÂÎÏÓÔÉ Ï ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÑÈ ÎÁ ÓÔÒÁÎÉÃÅ ÒÕËÏ×ÏÄÓÔ×Á
-    ÐÏÓ×ÑÝÅÎÎÏÊ <I>create_sequence</I>. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ
-    ËÁÖÄÏÅ ÐÏÌÅ <I>OID</I> × ÚÁÐÉÓÉ ËÁË ÕÎÉËÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ. ïÄÎÁËÏ,
-    ÅÓÌÉ ×ÁÍ ÎÕÖÅΠÄÁÍРɠÐÅÒÅÚÁÇÒÕÚËÁ ÂÁÚÙ ÄÁÎÎÙÈ, ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ
-    ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ <I>pg_dump</I> Ó ÏÐÃÉÅÊ <I>-o</I> ÉÌÉ ÏÐÃÉÀ
-    <SMALL>COPY WITH OIDS</SMALL> ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÚÎÁÞÅÎÉÊ ÐÏÌÑ
-    <SMALL>OID</SMALL>.
-
-    <H4><A name="4.15.2">4.15.2</A>) ëÁË ÍÎÅ ÐÏÌÕÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÒÉ ×ÓÔÁ×ËÅ
+    ÐÏÓ×ÑÝÅÎÎÏÊ <I>create_sequence</I>. 
+
+    <H4><A name="4.11.2">4.11.2</A>) ëÁË ÍÎÅ ÐÏÌÕÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÒÉ ×ÓÔÁ×ËÅ
     <SMALL>SERIAL</SMALL>?</H4>
 
     <P>ïÄÉΠÉÚ ÓÐÏÓÏÂÏ× ÓÏÓÔÏÉÔ × ÐÏÌÕÞÅÎÉÉ ÓÌÅÄÕÀÝÅÇÏ ÚÎÁÞÅÎÉÑ
     <SMALL>SERIAL</SMALL> ÉÚ ÏÂßÅËÔÁ sequence Ó ÐÏÍÏÝØÀ ÆÕÎËÃÉÉ
     <I>nextval()</I> <I>ÐÅÒÅÄ</I> ×ÓÔÁ×ËÏÊ É ÚÁÔÅÍ ×ÓÔÁ×ÌÑÔØ ÜÔÏ ÚÎÁÞÅÎÉÅ
-    Ñ×ÎÏ. éÓÐÏÌØÚÕÊÔÅ ÔÁÂÌÉÃÕ-ÐÒÉÍÅÒ × <A href="#4.15.1">4.15.1</A>, ÐÒÉÍÅÒ
+    Ñ×ÎÏ. éÓÐÏÌØÚÕÊÔÅ ÔÁÂÌÉÃÕ-ÐÒÉÍÅÒ × <A href="#4.11.1">4.11.1</A>, ÐÒÉÍÅÒ
     × ÐÓÅ×ÄÏÑÚÙËÅ ÐÏËÁÖÅÔ ËÁË ÜÔÏ ÄÅÌÁÅÔÓÑ:</P>
 <PRE>
     new_id = execute("SELECT nextval('person_id_seq')");
@@ -1205,23 +960,15 @@ BYTEA           bytea           
     new_id = execute("SELECT currval('person_id_seq')");
 </PRE>
 
-    é ÎÁËÏÎÅÃ, ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÚÎÁÞÅÎÉÅ
-    <A href="#4.16"><SMALL>OID</SMALL></A>, ×ÏÚÒÁÝÁÅÍÏÅ ÉÚ ÏÐÅÒÔÏÒÁ
-    <SMALL>INSERT</SMALL> ÞÔÏÂÙ Õ×ÉÄÅÔØ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÞÔÏ
-    ÐÒÅÄÐÏÌÏÖÉÔÅÌØÎÏ Ñ×ÌÑÅÔÓÑ ÎÁÉÍÅÎÅÅ ÐÅÒÅÎÏÓÉÍÙÍ ÎÁ ÄÒÕÇÉÅ ÐÌÁÔÆÏÒÍÙ
-    ÒÅÛÅÎÉÅÍ, Ë ÔÏÍÕ ÖÅ ÚÎÁÞÅÎÉÅ oid ÂÕÄÅÔ ÕÒÅÚÁÔØÓÑ, ËÏÇÄÁ ÏÎÏ ÄÏÓÔÉÇÎÅÔ
-    4 ÍÉÌÌÉÁÒÄÏ×. ÷ Perl, ÉÓÐÏÌØÚÕÑ DBI Ó ÍÏÄÕÌÅÍ Edmund Mergl'Ñ DBD::Pg,
-    ÚÎÁÞÅÎÉÅ oid ÓÔÁÎÏ×ÉÔÓÑ ÄÏÓÔÕÐÎÙÍ ÞÅÒÅÚ <I>$sth-&gt;{pg_oid_status}</I>
-    ÐÏÓÌÅ <I>$sth-&gt;execute()</I>. 
 
-    <H4><A name="4.15.3">4.15.3</A>) îÅ ÍÏÖÅÔ ÌÉ ÐÏÌÕÞÉÔØÓÑ ÔÁË, ÞÔÏ
+    <H4><A name="4.11.3">4.11.3</A>) îÅ ÍÏÖÅÔ ÌÉ ÐÏÌÕÞÉÔØÓÑ ÔÁË, ÞÔÏ
     ÉÓÐÏÌØÚÏ×ÁÎÉÅ <I>currval()</I> É <I>nextval()</I> ÐÒÉ×ÅÄÅÔ Ë
     ÚÁÃÉËÌÉÒÏ×ÁÎÉÀ Ó ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ?</H4>
 
-    <P>îÅÔ. <i>currval()</i> ×ÏÚ×ÒÁÝÁÅÔ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ, ÎÁÚÎÁÞÅÎÎÏÅ ×ÁÛÅÍ
-    backend'ÏÍ, Á ÎÅ ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ.</P>
+    <P>îÅÔ. <i>currval()</i> ×ÏÚ×ÒÁÝÁÅÔ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ, ÎÁÚÎÁÞÅÎÎÏÅ ×ÁÛÅÊ
+    ÓÅÓÓÉÅÊ, Á ÎÅ ÄÒÕÇÉÍÉ ÓÅÓÓÉÑÍÉ.</P>
 
-    <H4><A name="4.15.4">4.15.4</A>) ðÏÞÅÍÕ ÞÉÓÌÁ ÉÚ ÍÏÅÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ
+    <H4><A name="4.11.4">4.11.4</A>) ðÏÞÅÍÕ ÞÉÓÌÁ ÉÚ ÍÏÅÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ
     ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÎÏ×Á ÐÒÉ ÏÔÍÅÎÅ ÔÒÁÎÚÁËÃÉÉ? ðÏÞÅÍÕ ÓÏÚÄÁÀÔÓÑ ÒÁÚÒÙ×Ù
     ÐÒÉ ÎÕÍÅÒÁÃÉÉ × ËÏÌÏÎËÅ, ÇÄÅ Ñ ÉÓÐÏÌØÚÕÀ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ/SERIAL?</H4>
 
@@ -1231,78 +978,32 @@ BYTEA           bytea           
     ÎÕÍÅÒÁÃÉÉ ÐÒÉ ÏÔÍÅÎÅ ÔÒÁÎÚÁËÃÉÊ.</P>
 
 
-    <H4><A name="4.16">4.16</A>) þÔÏ ÔÁËÏÅ <SMALL>OID</SMALL>? þÔÏ ÔÁËÏÅ
+    <H4><A name="4.12">4.12</A>) þÔÏ ÔÁËÏÅ <SMALL>OID</SMALL>? þÔÏ ÔÁËÏÅ
     <SMALL>TID</SMALL>?</H4>
 
-    <P>ðÏÌÑ <SMALL>OID</SMALL> ÓÌÕÖÁÔ ÕÎÉËÁÌØÎÙÍÉ ÉÄÅÔÉÆÉËÁÔÏÒÁÍÉ ÚÁÐÉÓÅÊ
-    × PostgreSQL. ëÁÖÄÁÑ ÚÁÐÉÓØ, ËÏÔÏÒÁÑ ÓÏÚÄÁ£ÔÓÑ × PostgreSQL ÐÏÌÕÞÁÅÔ
-    ÕÎÉËÁÌØÎÙÊ <SMALL>OID</SMALL>. ÷ÓÅ ÚÎÁÞÅÎÉÑ <SMALL>OID</SMALL>
-    ÇÅÎÅÒÉÒÕÅÍÙÅ ×Ï ×ÒÅÍÑ <I>initdb</I> ÉÍÅÀÔ ÚÎÁÞÅÎÉÑ ÍÅÎØÛÅ 16384 (ÉÚ
-    <I>include/access/transam.h</I>). ÷ÓÅ ÓÏÚÄÁÎÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ
-    <SMALL>OID</SMALL> ÉÍÅÀÔ ÂïÌØÛÉÅ ÚÎÁÞÅÎÉÅ. ðÏ ÕÍÏÌÞÁÎÉÀ, ×ÓÅ ÜÔÉ
-    <SMALL>OID</SMALL> Ñ×ÌÑÀÔÓÑ ÕÎÉËÁÌØÎÙÍÉ ÎÅ ÔÏÌØËÏ ×ÎÕÔÒÉ ËÁËÏÊ-ÌÉÂÏ
-    ÔÁÂÌÉÃÙ ÉÌÉ ÂÁÚÙ ÄÁÎÎÙÈ, ÎÏ É ×ÎÕÔÒÉ ×ÓÅÊ óõâä PostgreSQL.</P>
-
-    <P>PostgreSQL ÉÓÐÏÌØÚÕÅÔ <SMALL>OID</SMALL> × Ó×ÏÉÈ ×ÎÕÔÒÅÎÎÉÈ ÓÉÓÔÅÍÎÙÈ
-    ÔÁÂÌÉÃÁÈ ÄÌÑ Ó×ÑÚÉ ÚÁÐÉÓÅÊ É ÔÁÂÌÉÃ. úÎÁÞÅÎÉÑ <SMALL>OID</SMALL> ÍÏÇÕÔ
-    ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ÄÌÑ ÉÄÅÎÔÉÆÉËÁÃÉÉ ÚÁÄÁÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÚÁÐÉÓÅÊ,
-    Á ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÒÉ Ó×ÑÚÙ×ÁÎÉÑÈ. òÅËÏÍÅÎÄÕÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ
-    ÔÉРËÏÌÏÎËÉ <SMALL>OID</SMALL> ÄÌÑ ÈÒÁÎÅÎÉÑ ÚÎÁÞÅÎÉÊ <SMALL>OID</SMALL>
-    ÷Ù ÍÏÖÅÔÅ ÓÏÚÄÁÔØ ÉÎÄÅËÓ ÎÁ ÐÏÌÅ <SMALL>OID</SMALL> ÄÌÑ ÂÏÌÅÅ ÂÙÓÔÒÏÇÏ
-    ÄÏÓÔÕÐÁ.</P>
-
-    <P>úÎÁÞÅÎÉÑ <SMALL>OID</SMALL> ÎÁÚÎÁÞÁÀÔÓÑ ÄÌÑ ×ÓÅÈ ÎÏ×ÙÈ ÚÁÐÉÓÅÊ ÉÚ
-    ÃÅÎÔÒÁÌØÎÏÊ ÏÂÌÁÓÔÉ, ËÏÔÏÒÙÅ ÉÓÐÏÌØÚÕÀÔÓÑ ×ÓÅÍÉ ×ÓÅÍÉ ÂÁÚÁÍÉ ÄÁÎÎÙÈ.
-    åÓÌÉ ×Ù ÈÏÔÉÔÅ ÉÚÍÅÎÉÔØ <SMALL>OID</SMALL> ÎÁ ËÁËÏÅ-ÌÉÂÏ ÄÒÕÇÏÅ
-    ÚÎÁÞÅÎÉÅ ÉÌÉ ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÓÏÚÄÁÔØ ËÏÐÉÀ ÔÁÂÌÉÃÙ Ó ÔÁËÉÍÉÖÅ
-    <SMALL>OID</SMALL>, ÔÏ ÜÔÏ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÔÁË:</P>
-<PRE>
-        CREATE TABLE new_table(mycol int);
-        SELECT oid AS old_oid, mycol INTO tmp_table FROM old_table;
-        COPY tmp_table TO '/tmp/pgtable';
-        COPY new_table WITH OIDS FROM '/tmp/pgtable';
-       DROP TABLE tmp_table;
-</PRE>
-    <P>O<SMALL>ID</SMALL> ÈÒÁÎÉÔÓÑ ËÁË 4-È ÂÁÊÔÎÏÅ ÃÅÌÏÅ É ÎÅ ÍÏÖÅÔ ÐÒÅ×ÙÛÁÔØ
-    ÚÎÁÞÅÎÉÅ × 4 ÍÉÌÌÉÁÒÄÁ. ïÄÎÁËÏ, ÅÝÅ ÎÉËÔÏ ÎÅ ÓÏÏÂÝÉÌ Ï ÔÏÍ, ÞÔÏ ÔÁËÏÅ
-    ÐÒÏÉÚÏÛÌÏ, ÎÏ ÍÙ ÐÌÁÎÉÒÕÅÍ ÄÏ ÔÏÇÏ ËÁË ÜÔÏ ÓÌÕÞÉÔØÓÑ ÉÚÂÁ×ÉÔÓÑ ÏÔ
-    ÜÔÏÇÏ ÏÇÒÁÎÉÞÅÎÉÑ.</P>
+    <P>ëÁÖÄÁÑ, ÓÏÚÄÁ×ÁÅÍÁÑ × PostgreSQL ÔÁÂÌÉÞÎÁÑ ÓÔÒÏËÁ, ÐÏÌÕÞÁÅÔ ÕÎÉËÁÌØÎÙÊ
+    ÉÎÄÅÎÔÉÆÉËÁÔÏÒ <SMALL>OID</SMALL> ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÓÌÕÞÁÑ ËÏÇÄÁ
+    ÉÓÐÏÌØÚÏ×ÁÌÏÓØ <SMALL>WITHOUT OIDS</SMALL>. O<SMALL>ID</SMALL> - ÜÔÏ
+    Á×ÔÏÍÁÔÉÞÅÓËÉ ÎÁÚÎÁÞÁÅÍÏÅ ÕÎÉËÁÌØÎÏÅ 4-È ÂÁÊÔÏ×ÏÅ ÃÅÌÏÅ ÞÉÓÌÏ.
+    ïÄÎÁËÏ, ÐÏÓÌÅ ÔÏÇÏ ËÁË ÅÇÏ ÚÎÁÞÅÎÉÅ ÐÒÅ×ÙÓÉÔ 4 ÍÉÌÌÉÁÒÄÁ, ÚÎÁÞÅÎÉÑ
+    O<SMALL>ID</SMALL> ÎÁÞÉÎÁÀÔ ÄÕÂÌÉÒÏ×ÁÔØÓÑ. PostgreSQL ÉÓÐÏÌØÚÕÅÔ
+    <SMALL>OID</SMALL> ÄÌÑ Ó×ÑÚÙ×ÁÎÉÑ Ó×ÏÉÈ ×ÎÕÔÒÅÎÎÉÈ ÔÁÂÌÉÃ.</P>
+
+    <P>äÌÑ ÕÎÉËÁÌØÎÙÈ ÚÎÁÞÅÎÉÊ × ËÏÌÏÎËÁÈ ÔÁÂÌÉÃÙ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÌÕÞÛÉÍ
+    ÓÐÏÓÏÂÏÍ Ñ×ÌÑÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÎÉÅ <SMALL>SERIAL</SMALL> ×ÍÅÓÔÏ
+    O<SMALL>ID</SMALL>, ÐÏÔÏÍÕ ÞÔÏ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ <SMALL>SERIAL</SMALL>
+    ÕÎÉËÁÌØÎÙ ÔÏÌØËÏ ×ÎÕÔÒÉ ÔÁÂÌÉÃÙ É ÔÁËÉÍ ÏÂÒÁÚÏÍ ÍÅÎØÛÅ ÐÏÄ×ÅÒÖÅÎÙ
+    ÐÅÒÅÐÏÌÎÅÎÉÀ. äÌÑ ÈÒÁÎÅÎÉÑ ÚÎÁÞÅÎÉÊ 8-ÍÉ ÂÁÊÔÎÏÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ
+    ÄÏÓÔÕÐÅΠÔÉР<SMALL>SERIAL8</SMALL>.
 
     <P>T<SMALL>ID</SMALL> ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÉÄÅÎÔÉÆÉËÁÃÉÉ ÓÐÅÃÉÁÌØÎÙÈ
     ÆÉÚÉÞÅÓËÉÈ ÚÁÐÉÓÅÊ Ó ÂÌÏÞÎÙÍÉ É offset ÚÎÁÞÅÎÉÑÍÉ. T<SMALL>ID</SMALL>
-    ÉÚÍÅÎÑÅÔÓÑ ÐÏÓÌÅ ÔÏÇÏ ËÁË ÚÁÐÉÓÉ ÂÙÌÉ ÉÚÍÅÎÅÎÙ ÉÌÉ ÐÅÒÅÇÒÕÖÅÎÙ.
+    ÉÚÍÅÎÑÅÔÓÑ ÐÏÓÌÅ ÔÏÇÏ ËÁË ÓÔÒÏËÉ × ÔÁÂÌÉÃÅ ÂÙÌÉ ÉÚÍÅÎÅÎÙ ÉÌÉ ÐÅÒÅÇÒÕÖÅÎÙ.
     <P>T<SMALL>ID</SMALL> ÉÓÐÏÌØÚÕÅÔÓÑ ÉÎÄÅËÓÎÙÍÉ ÚÁÐÉÓÑÍÉ × ËÁÞÅÓÔ×Å
     ÕËÁÚÁÔÅÌÑ ÎÁ ÆÉÚÉÞÅÓËÉÅ ÚÁÐÉÓÉ.</P>
 
-    <H4><A name="4.17">4.17</A>) þÔÏ ÏÚÎÁÞÁÀÔ ÎÅËÏÔÏÒÙÅ ÔÅÒÍÉÎÙ ÉÓÐÏÌØÚÕÅÍÙÅ ×
-    PostgreSQL?</H4>
-
-    <P>îÅËÏÔÏÒÙÊ ÉÓÈÏÄÎÙÊ ËÏÄ É ÓÔÁÒÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÉÓÐÏÌØÚÕÀÔ
-    ÏÂÝÅÕÐÏÔÒÅÂÉÔÅÌØÎÙÅ ÔÅÒÍÉÎÙ. ÷ÏÔ ÎÅËÏÔÏÒÙÅ ÉÚ ÎÉÈ:</P>
-
-    <UL>
-      <LI>table, relation, class</LI>
-
-      <LI>row, record, tuple</LI>
-
-      <LI>column, field, attribute</LI>
-
-      <LI>retrieve, select</LI>
 
-      <LI>replace, update</LI>
-
-      <LI>append, insert</LI>
-
-      <LI><SMALL>OID</SMALL>, serial value</LI>
-
-      <LI>portal, cursor</LI>
-
-      <LI>range variable, table name, table alias</LI>
-    </UL>
-
-    <P>óÐÉÓÏË ÏÂÝÉÈ ÔÅÒÍÉÎÏ× ÐÏ ÂÁÚÁÍ ÄÁÎÎÙÈ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ <A href="http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html">http://hea-www.harvard.edu/MST/simul/software/docs/pkgs/pgsql/glossary/glossary.html</A></P>
-
-    <H4><A name="4.18">4.18</A>) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ <I>"ERROR: Memory
+    <H4><A name="4.13">4.13</A>) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ <I>"ERROR: Memory
     exhausted in AllocSetAlloc()"</I>?</H4>
 
     <P>ðÒÅÄÐÏÌÏÖÉÔÅÌØÎÏ Õ ×ÁÓ ÚÁËÏÎÞÉÌÁÓØ ×ÉÒÔÕÁÌØÎÁÑ ÐÁÍÑÔØ
@@ -1322,12 +1023,12 @@ BYTEA           bytea           
     ËÌÉÅÎÔÏÍ, ÐÏÔÏÍÕ ÞÔÏ backend ×ÏÚ×ÒÁÝÁÅÔ ÓÌÉÛËÏÍ ÂÏÌØÛÏÊ ÏÂßÅÍ ÄÁÎÎÙÈ,
     ÐÏÐÙÔÁÊÔÅÓØ ×ÙÐÏÌÎÉÔØ ÜÔÕ ËÏÍÁÎÄÕ ÐÅÒÅÄ ÚÁÐÕÓËÏÍ ËÌÉÅÎÔÁ.
 
-    <H4><A name="4.19">4.19</A>) ëÁË ÍÎÅ ÕÚÎÁÔØ, ËÁËÁÑ ×ÅÒÓÉÑ PostgreSQL
+    <H4><A name="4.14">4.14</A>) ëÁË ÍÎÅ ÕÚÎÁÔØ, ËÁËÁÑ ×ÅÒÓÉÑ PostgreSQL
     ÚÁÐÕÝÅÎÁ?</H4>
 
     <P>éÚ <I>psql</I>, ÎÁÂÅÒÉÔÅ <CODE>SELECT version();</CODE></P>
 
-    <H4><A name="4.20">4.20</A>) ðÏÞÅÍÕ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÏÉÍ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ
+    <H4><A name="4.15">4.15</A>) ðÏÞÅÍÕ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÏÉÍ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ
      Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ <I>"invalid large obj descriptor"</I>?</H4>
 
     <P>÷ÁÍ ÎÕÖÎÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÂÏÌØÛÏÇÏ ÏÂßÅËÔÁ ÐÏÍÅÓÔÉÔØ × ÎÁÞÁÌÅ
@@ -1345,46 +1046,15 @@ BYTEA           bytea           
     <P>åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ ÔÁËÏÊ ÉÎÔÅÒÆÅÊÓ ËÌÉÅÎÔÁ ËÁË <SMALL>ODBC</SMALL>,
     ×ÁÍ ×ÏÚÍÏÖÎÏ ÐÏÎÁÄÏÂÉÔÓÑ ÕÓÔÁÎÏ×ÉÔØ <CODE>auto-commit off.</CODE></P>
 
-    <H4><A name="4.21">4.21</A>) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ËÏÌÏÎËÕ ËÏÔÏÒÁÑ ÐÏ ÕÍÏÌÞÁÎÉÀ
+    <H4><A name="4.16">4.16</A>) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ËÏÌÏÎËÕ ËÏÔÏÒÁÑ ÐÏ ÕÍÏÌÞÁÎÉÀ
      ÂÕÄÅÔ ÓÏÄÅÒÖÁÔØ ÔÅËÕÝÅÅ ×ÒÅÍÑ?</H4>
 
     <P>éÓÐÏÌØÚÕÊÔÅ <I>CURRENT_TIMESTAMP</I>:</P>
 <PRE>
-<CODE>CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
-</CODE>
+CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
 </PRE>
 
-    <H4><A name="4.22">4.22</A>) ðÏÞÅÍÕ ÍÏÉ ÐÏÄÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ
-    <CODE><SMALL>IN</SMALL></CODE> ÔÁË ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÅÀÔ?</H4>
-
-    <P>÷ ×ÅÒÓÉÑÈ ÄÏ 7.4, ÐÏÄÚÁÐÒÏÓÙ Ó×ÑÚÙ×ÁÌÉÓØ Ó ÒÏÄÉÔÅÌØÓËÉÍÉ ÚÁÐÒÏÓÁÍÉ
-    ÞÅÒÅÚ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ ÐÅÒÅÂÏÒ ÒÅÚÕÌØÔÁÔÏ× ÐÏÚÁÐÒÏÓÁ ÄÌÑ ËÁÖÄÏÊ
-    ÚÁÐÉÓÉ ÒÏÄÉÔÅÌØÓËÏÇÏ ÚÁÐÒÏÓÁ. åÓÌÉ ÐÏÄÚÁÐÒÏÓ ×ÏÚ×ÒÁÝÁÅÔ ÔÏÌØËÏ ÎÅÓËÏÌØËÏ
-    ÚÁÐÉÓÅÊ, Á ÒÏÄÉÔÅÌØÓËÉÊ ÚÁÐÒÏÓ ×ÏÚ×ÒÁÝÁÅÔ ÍÎÏÇÏ ÚÁÐÉÓÅÊ,
-    <CODE><SMALL>IN</SMALL></CODE> ÒÁÂÏÔÁÅÔ ÎÁÉÂÏÌÅÅ ÂÙÓÔÒÏ. þÔÏÂÙ
-    Õ×ÅÌÉÞÉÔØ ÓËÏÒÏÓÔØ × ÄÒÕÇÉÈ ÚÁÐÒÏÓÁÈ, ÚÁÍÅÎÉÔÅ <CODE>IN</CODE> ÎÁ
-    <CODE>EXISTS</CODE>:</P>
-<PRE>
-    SELECT *
-    FROM tab
-    WHERE col IN (SELECT subcol FROM subtab);
-</PRE>
-
-    ÎÁ: 
-<PRE>
-    SELECT *
-    FROM tab
-    WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
-</PRE>
-
-    þÔÏÂÙ ÔÁËÁÑ ËÏÎÓÔÒÕËÃÉÑ ÒÁÂÏÔÁÌÁ ÂÙÓÔÒÏ, ËÏÌÏÎËÁ <CODE>subcol</CODE>
-    ÄÏÌÖÎÁ ÂÙÔØ ÐÒÏÉÎÄÅËÓÉÒÏ×ÁÎÁ.
-
-    <P>÷ ×ÅÒÓÉÉ 7.4 É ×ÙÛÅ, <CODE>IN</CODE> ÆÁËÔÉÞÅÓËÉ ÉÓÐÏÌØÚÕÅÔ ÔÁËÏÊ ÖÅ
-    ÍÅÈÁÎÉÚÍ Ó×ÑÚÙ×ÁÎÉÑ ËÁË É ÏÂÙÞÎÙÅ ÚÁÐÒÏÓÙ, ÐÏÜÔÏÍÕ ÐÒÅÄÐÏÞÔÉÔÅÌØÎÙÍ
-    Ñ×ÌÑÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÎÉÅ <CODE>EXISTS</CODE></P>.
-
-    <H4><A name="4.23">4.23</A>) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ?</H4>
+    <H4><A name="4.17">4.17</A>) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ?</H4>
 
     <P>PostgreSQL ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ,
     ÉÓÐÏÌØÚÕÑ ÓÔÁÎÄÁÒÔÎÙÊ ÓÉÎÔÁËÓÉÓ SQL. ÷ÏÔ Ä×Á ÐÒÉÍÅÒÁ:</P>
@@ -1400,32 +1070,15 @@ BYTEA           bytea           
 </PRE>
 
     <P>üÔÏ ÉÄÅÎÔÉÞÎÙÅ ÚÁÐÒÏÓÙ Ó×ÑÚÙ×ÁÎÉÑ t1.col É t2.col, ÔÁËÖÅ ×ÏÚ×ÒÁÝÁÀÔ
-    ÌÀÂÙÅ ÎÅÓ×ÑÚÁÎÎÙÅ ÚÁÐÉÓÉ × t1 (ËÏÔÏÒÙÅ ÎÅ ÓÏ×ÐÁÄÁÀÔ Ó t2). 
-    <SMALL>RIGHT</SMALL> Ó×ÑÚÙ×ÁÎÉÅ ÄÏÌÖÎÏ ÄÏÂÁ×ÉÔØ ÎÅÓ×ÑÚÁÎÎÙÅ ÚÁÐÉÓÉ
+    ÌÀÂÙÅ ÎÅÓ×ÑÚÁÎÎÙÅ ÓÔÒÏËÉ × t1 (ËÏÔÏÒÙÅ ÎÅ ÓÏ×ÐÁÄÁÀÔ Ó t2). 
+    <SMALL>RIGHT</SMALL> Ó×ÑÚÙ×ÁÎÉÅ ÄÏÌÖÎÏ ÄÏÂÁ×ÉÔØ ÎÅÓ×ÑÚÁÎÎÙÅ ÓÔÒÏËÉ
     t2. <SMALL>FULL</SMALL> Ó×ÑÚÙ×ÁÎÉÅ ÄÏÌÖÎÏ ×ÏÚ×ÒÁÔÉÔØ ÓÏ×ÐÁ×ÛÉÅ
-    ÚÁÐÉÓÉ ÐÌÀÓ ×ÓÅ ÎÅÓ×ÑÚÁÎÎÙÅ ÚÁÐÉÓÉ ÉÚ t1 É t2. óÌÏ×Ï <SMALL>OUTER</SMALL>
+    ÓÔÒÏËÉ ÐÌÀÓ ×ÓÅ ÎÅÓ×ÑÚÁÎÎÙÅ ÓÔÒÏËÉ ÉÚ t1 É t2. óÌÏ×Ï <SMALL>OUTER</SMALL>
     Ñ×ÌÑÅÔÓÑ ÎÅÏÂÑÚÁÔÅÌØÎÙÍ É ÎÁÚÎÁÞÁÅÔÓÑ × <SMALL>LEFT</SMALL>,
     <SMALL>RIGHT</SMALL> É <SMALL>FULL</SMALL> Ó×ÑÚÙ×ÁÎÉÑÈ. ïÂÙÞÎÙÅ
     Ó×ÑÚÙ×ÁÎÉÑ ÎÁÚÙ×ÁÀÔÓÑ <SMALL>INNER</SMALL> Ó×ÑÚÙ×ÁÎÉÑ.</P>
 
-    <P>÷ ÐÒÅÄÙÄÕÝÉÈ ×ÅÒÓÉÑÈ, ×ÎÅÛÎÉÅ Ó×ÑÚÙ×ÁÎÉÑ ÍÏÇÌÉ ÂÙÔØ ÜÍÕÌÉÒÏ×ÁÎÙ
-    ÉÓÐÏÌØÚÕÑ <SMALL>UNION</SMALL> É <SMALL>NOT IN</SMALL>. îÁÐÒÉÍÅÒ,
-    ËÏÇÄÁ ÐÒÏÉÓÈÏÄÉÔ Ó×ÑÚÙ×ÁÎÉÅ <I>tab1</I> É <I>tab2</I>, ÓÌÅÄÕÀÝÉÊ
-    ÚÁÐÒÏÓ ×ÙÐÏÌÎÑÅÔ <I>×ÎÅÛÎÅÅ</I> Ó×ÑÚÙ×ÁÎÉÅ Ä×ÕÈ ÔÁÂÌÉÃ:<BR>
-    <BR>
-    </P>
-<PRE>
-    SELECT tab1.col1, tab2.col2
-    FROM tab1, tab2
-    WHERE tab1.col1 = tab2.col1
-    UNION ALL
-    SELECT tab1.col1, NULL
-    FROM tab1
-    WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)
-    ORDER BY col1
-</PRE>
-
-    <H4><A name="4.24">4.24</A>) ëÁË ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ÎÅÓËÏÌØËÏ
+    <H4><A name="4.18">4.18</A>) ëÁË ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ÎÅÓËÏÌØËÏ
      ÂÁÚ ÄÁÎÎÙÈ?</H4>
 
     <P>îÅ ÓÕÝÅÓÔ×ÕÅÔ ÓÐÏÓÏÂÁ ÓÏÚÄÁÔØ ÚÁÐÒÏÓ Ë ÂÁÚÁÍ ÄÁÎÎÙÈ ÏÔÌÉÞÎÙÍ ÏÔ ÔÅËÕÝÅÊ.
@@ -1433,20 +1086,19 @@ BYTEA           bytea           
     ÄÁÎÎÙÈ, ÎÅÐÏÎÑÔÎÏ ÄÁÖÅ, ËÁË ÄÏÌÖÅΠÓÅÂÑ ×ÅÓÔÉ ÔÁËÏÊ ÍÅÖÂÁÚÏ×ÙÊ ÚÁÐÒÏÓ.</P>
 
     <P><I>contrib/dblink</I> ÐÏÚ×ÏÌÑÅÔ ÚÁÐÒÏÓÙ ÍÅÖÄÕ ÂÁÚÁÍÉ, ÉÓÐÏÌØÚÕÑ
-    ×ÙÚÏ×Ù ÆÕÎËÃÉÊ. òÁÚÕÍÅÅÔÓÑ, ËÌÉÅÎÔ ÍÏÖÅÔ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ
+    ×ÙÚÏ×Ù ÆÕÎËÃÉÊ. òÁÚÕÍÅÅÔÓÑ, ËÌÉÅÎÔ ÍÏÖÅÔ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÔÁËÖÅ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ
     ÓÏÅÄÉÅÎÅÎÉÑ Ó ÒÁÚÌÉÞÎÙÍÉ ÂÁÚÁÍÉ ÄÁÎÎÙÈ É ÔÁËÉÈ ÏÂÒÁÚÏÍ ÏÂßÅÄÉÎÑÔØ
     ÉÎÆÏÒÍÁÃÉÀ ÉÚ ÎÉÈ.</P>
 
-    <H4><A name="4.25">4.25</A>) ëÁË ÍÎÅ ×ÅÒÎÕÔØ ÉÚ ÆÕÎËÃÉÉ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ?</H4>
+    <H4><A name="4.19">4.19</A>) ëÁË ÍÎÅ ×ÅÒÎÕÔØ ÉÚ ÆÕÎËÃÉÉ ÎÅÓËÏÌØËÏ ÓÔÒÏË ÔÁÂÌÉÃÙ?</H4>
 
-    <P>÷ ×ÅÒÓÉÉ 7.3, ×Ù ÍÏÖÅÔÅ ÌÅÇËÏ ×ÅÒÎÕÔØ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ ÉÌÉ ËÏÌÏÎÏË ÉÚ
-     ËÁËÏÊ-ÌÉÂÏ ÆÕÎËÃÉÉ,
-     <href="http://techdocs.postgresql.org/guides/SetReturningFunctions">
-     http://techdocs.postgresql.org/guides/SetReturningFunctions</a>.</P>
+    <P>÷Ù ÍÏÖÅÔÅ ÌÅÇËÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÆÕÎËÃÉÉ, ×ÏÚ×ÒÁÝÁÀÝÉÅ ÓÐÉÓÏË,
+     <A href="http://techdocs.postgresql.org/guides/SetReturningFunctions">
+     http://techdocs.postgresql.org/guides/SetReturningFunctions</A>.</P>
 
-    <H4><A name="4.26">4.26</A>) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ
+    <H4><A name="4.20">4.20</A>) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ
     ×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ × ÆÕÎËÃÉÑÈ PL/PgSQL?</H4>
-    <P>PL/PgSQL ËÜÛÉÒÕÅÔ ÓÏÄÅÒÖÉÍÏÅ ÆÕÎËÃÉÉ É ÏÄÉΠÉÚ ÎÅÇÁÔÉ×ÎÙÈ ÜÆÆÅËÔÏ× ÜÔÏÇÏ
+    <P>PL/PgSQL ËÜÛÉÒÕÅÔ ÓÃÅÎÁÒÉÉ ÆÕÎËÃÉÉ É ÏÄÉΠÉÚ ÎÅÇÁÔÉ×ÎÙÈ ÜÆÆÅËÔÏ× ÜÔÏÇÏ
     ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏ ÅÓÌÉ ÆÕÎËÃÉÑ PL/PgSQL ÏÂÒÁÝÁÅÔÓÑ Ë ×ÒÅÍÅÎÎÏÊ ÔÁÂÌÉÃÅ
     É ÜÔÁ ÔÁÂÌÉÃÁ ÐÏÚÄÎÅÅ ÕÄÁÌÑÅÔÓÑ É ÐÅÒÅÓÏÚÄÁÅÔÓÑ, Á ÆÕÎËÃÉÑ ÚÁÔÅÍ ×ÙÚÙ×ÁÅÔÓÑ
     ÓÎÏ×Á, ÔÏ ÅÅ ×ÙÚÏ× ÐÒÉ×ÅÄÅÔ Ë ÏÛÉÂËÅ, ÐÏÔÏÍÕ ÞÔÏ ÓËÜÛÉÒÏ×ÁÎÎÏÅ ÓÏÄÅÒÖÉÍÏÅ
@@ -1455,7 +1107,7 @@ BYTEA           bytea           
     ÔÁÂÌÉÃÁÍ × PL/PgSQL. éÓÐÏÌØÚÏ×ÁÎÉÅ ÜÔÏÇÏ ÏÐÅÒÁÔÏÒÁ ÚÁÓÔÁ×ÉÔ ÚÁÐÒÏÓ
     ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÔØÓÑ ËÁÖÄÙÊ ÒÁÚ.</P>
 
-    <h4><a name="4.27">4.27</a>) ëÁËÉÅ ÏÐÃÉÉ ÛÉÆÒÏ×ÁÎÉÑ ÓÕÝÅÓÔ×ÕÀÔ?
+    <h4><a name="4.21">4.21</a>) ëÁËÉÅ ÏÐÃÉÉ ÛÉÆÒÏ×ÁÎÉÑ ÓÕÝÅÓÔ×ÕÀÔ?
     </h4>
     <ul>
     <li><i>contrib/pgcrypto</i> ÓÏÄÅÒÖÉÔ ÍÎÏÇÏ ÆÕÎËÃÉÊ ÛÉÆÒÏ×ÁÎÉÑ ÄÌÑ
@@ -1468,8 +1120,7 @@ BYTEA           bytea           
     ×ÏÚÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÎÅÚÁ×ÉÓÉÍÙÈ ×ÎÅÛÎÉÈ ÛÉÆÒÕÀÝÉÈ ÔÒÁÎÓÐÏÒÔÏ×, ÔÁËÉÈ
     ËÁË stunnel ÉÌÉ ssh, ×ÍÅÓÔÏ ÓÏÂÓÔ×ÅÎÎÙÈ SSL ÓÏÅÄÉÎÅÎÉÊ PostgreSQL).</li>
     <li>ðÁÒÏÌÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ë ÂÁÚÅ ÄÁÎÎÙÈ Á×ÔÏÍÁÔÉÞÅÓËÉ ÛÉÆÒÕÀÔÓÑ, ÐÒÉ
-    ÓÏÈÒÁÎÅÎÉÉ × ×ÅÒÓÉÉ 7.3. ÷ ÐÒÅÄÙÄÕÝÉÈ ×ÅÒÓÉÑÈ, ×Ù ÄÏÌÖÎÙ ÒÁÚÒÅÛÉÔØ
-    ÏÐÃÉÀ <i>PASSWORD_ENCRYPTION</i> × <i>postgresql.conf</i>.</li>
+    ÓÏÈÒÁÎÅÎÉÉ × ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉÃÁÈ.</li>
     <li>óÅÒ×ÅÒ ÍÏÖÎÏ ÚÁÐÕÓÔÉÔØ, ÉÓÐÏÌØÚÕÑ ÛÉÆÒÏ×ÁÎÎÕÀ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ.</li>
     </ul>
     <HR>
@@ -1489,7 +1140,7 @@ BYTEA           bytea           
     É ÏÎÉ ÐÏ ×ÏÚÍÏÖÎÏÓÔÉ ÂÕÄÕÔ ÐÏÍÅÝÅÎÙ × ÐÏÄËÁÔÁÌÏÇ <I>contrib/</I>.</P>
 
     <H4><A name="5.3">5.3</A>) ëÁË ÍÎÅ ÎÁÐÉÓÁÔØ C ÆÕÎËÃÉÀ, ×ÏÚ×ÒÁÝÁÀÝÕÀ
-    ÚÁÐÉÓØ?</H4>
+    ÓÔÒÏËÕ ÔÁÂÌÉÃÙ?</H4>
 
     <P>÷ ×ÅÒÓÉÑÈ PostgreSQL, ÎÁÞÉÎÁÑ Ó 7.3, ÆÕÎËÃÉÉ, ×ÏÚ×ÒÁÝÁÀÝÉÅ ÔÁÂÌÉÃÙ
     ÐÏÌÎÏÓÔØÀ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ × C, PL/PgSQL É SQL. ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ ×