From 49c320b19d34e0e8ee5229311631ef827982159f Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Fri, 11 Feb 2005 04:53:51 +0000
Subject: [PATCH] Update to Russian FAQ, HEAD and 8.0.X.

---
 doc/FAQ_russian              |  997 ++++++++++--------------------
 doc/src/FAQ/FAQ_russian.html | 1127 ++++++++++++----------------------
 2 files changed, 712 insertions(+), 1412 deletions(-)

diff --git a/doc/FAQ_russian b/doc/FAQ_russian
index e74ba789ce5..ffe6bff8a2f 100644
--- a/doc/FAQ_russian
+++ b/doc/FAQ_russian
@@ -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)
@@ -9,107 +9,91 @@
    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
                                       
@@ -117,7 +101,7 @@
    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?
      _________________________________________________________________
@@ -126,46 +110,33 @@
                                       
     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
@@ -190,20 +161,13 @@
    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
@@ -212,57 +176,27 @@
    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
@@ -271,18 +205,27 @@
    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
@@ -292,8 +235,9 @@
    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.
    
@@ -321,17 +265,13 @@
    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
@@ -340,15 +280,7 @@
    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.
@@ -363,24 +295,17 @@
           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
@@ -404,7 +329,7 @@
           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
@@ -413,52 +338,20 @@
           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?
@@ -466,39 +359,21 @@
    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
@@ -507,141 +382,89 @@
     
    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.
@@ -650,49 +473,22 @@
    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
@@ -704,7 +500,7 @@
    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
@@ -719,21 +515,15 @@
    
                            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
@@ -741,7 +531,9 @@
     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,
@@ -750,45 +542,44 @@
    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
diff --git a/doc/src/FAQ/FAQ_russian.html b/doc/src/FAQ/FAQ_russian.html
index c065123f1ce..16f50832dd0 100644
--- a/doc/src/FAQ/FAQ_russian.html
+++ b/doc/src/FAQ/FAQ_russian.html
@@ -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>
@@ -22,124 +22,101 @@
     </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>) ñ ÎÁÐÉÓÁÌ ÆÕÎËÃÉÀ ÏÐÒÅÄÅÌÑÅÍÕÀ ÐÏÌØÚÏ×ÁÔÅÌÅÍ.
@@ -147,7 +124,7 @@
      <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>
      
@@ -157,50 +134,35 @@
 
     <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>
 
@@ -225,21 +187,13 @@
     "ëáë åóôø" é ëáìéæïòîéêóëéê õîé÷åòóéôåô îå ïâñúáî ðòåäïóôá÷ìñôø
     óïðòï÷ïöäåîéå, ðïääåòöëõ, ïâîï÷ìåîéñ, òáóûéòåîéñ éìé éúíåîåîéñ.</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. ðÁËÅÔ ÉÎÓÔÁÌÌÑÔÏÒÁ ÄÏÓÔÕÐÅÎ ÐÏ ÁÄÒÅÓÕ
@@ -249,69 +203,30 @@
     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>)
@@ -320,19 +235,32 @@
     <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>
@@ -342,9 +270,9 @@
      ëÒÏÍÅ ÔÏÇÏ, ÐÏ ÁÄÒÅÓÕ <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>
 
@@ -381,15 +309,11 @@
     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>
 
@@ -400,16 +324,7 @@
     ÐÒÅ×ÉÌÅÇÉÉ ×ÎÏÓÉÔØ ÉÚÍÅÎÅÎÉÑ, É ÍÙ Õ×ÅÒÅÎÙ, ÞÔÏ ÔÅ ÉÓÐÒÁ×ÌÅÎÉÑ, ËÏÔÏÒÙÅ
     ÏÎÉ ×ÎÅÓÕÔ ÂÕÄÕÔ ×ÙÓÏËÏÇÏ ËÁÞÅÓÔ×Á.</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>
@@ -431,24 +346,16 @@
 
       <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>
 
@@ -475,7 +382,7 @@
       ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÒÕËÏ×ÏÄÓÔ×ÁÍ É ÉÓÈÏÄÎÙÍ ÔÅËÓÔÁÍ ÞÁÓÔÏ ÄÅÌÁÀÔ ÐÏÄÄÅÒÖËÕ
       PostgreSQL ÐÒÅ×ÏÓÈÏÄÑÝÅÊ ÄÒÕÇÉÅ <SMALL>óõâä</SMALL>. óÕÝÅÓÔ×ÕÅÔ
       ËÏÍÍÅÒÞÅÓËÁÑ ÐÏÄÄÅÒÖËÁ ÐÏ ÒÅÚÕÌØÔÁÍ ×ÏÚÎÉËÛÉÈ ÉÎÃÉÄÅÎÔÏ×, ËÏÔÏÒÁÑ
-      ÄÏÓÔÕÐÎÁ ÄÌÑ ÔÅÈ ËÏÍÕ ÏÎÁ ÎÕÖÎÁ. (óÍÏÔÒÉÔÅ <A href="#1.6">óÅËÃÉÀ 1.6</A>.)<BR>
+      ÄÏÓÔÕÐÎÁ ÄÌÑ ÔÅÈ ËÏÍÕ ÏÎÁ ÎÕÖÎÁ. (óÍÏÔÒÉÔÅ <A href="#1.5">óÅËÃÉÀ 1.5</A>.)<BR>
       <BR>
       </DD>
 
@@ -489,57 +396,23 @@
       </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>
@@ -547,49 +420,25 @@
     <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>
@@ -599,144 +448,100 @@
 
     <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>, ×Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ
@@ -745,10 +550,6 @@
     ×Ù ÍÏÖÅÔÅ ÐÏÄËÌÀÞÉÔØ Ë ÐÒÏÃÅÓÓÕ ÏÔÌÁÄÞÉË, ÕÓÔÁÎÏ×ÉÔØ ÌÀÂÙÅ ÔÏÞËÉ
     ÐÒÅÒÙ×ÁÎÉÑ É ÐÒÏÄÏÌÖÉÔØ ÚÁÐÕÓË.</P>
 
-    <P>ðÒÏÇÒÁÍÍÁ <I>postgres</I> ÉÍÅÅÔ ÏÐÃÉÉ <I>-s, -A</I>, É <I>-t</I>
-    ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÏÞÅÎØ ÐÏÌÅÚÎÙÍÉ ÄÌÑ ÏÔÌÁÄËÉ É ÉÚÍÅÒÅÎÉÑ
-    ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.</P>
-
     <P>÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÓËÏÍÐÉÌÉÒÏ×ÁÔØ PostgreSQL Ó ÐÒÏÆÉÌÉÒÏ×ÁÎÉÅÍ ÄÌÑ
     ÔÏÇÏ, ÞÔÏÂÙ Õ×ÉÄÅÔØ ËÁËÉÅ ÆÕÎËÃÉÉ ÓËÏÌØËÏ ×ÒÅÍÅÎÉ ×ÙÐÏÌÎÑÀÔÓÑ.
     æÁÊÌÙ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ backend'Á ÎÁÈÏÄÑÔÓÑ × ËÁÔÁÌÏÇÅ
@@ -756,51 +557,23 @@
     ÂÕÄÅÔ ÐÏÍÅÝÅÎ × ÔÅËÕÝÉÊ ËÁÔÁÌÏÇ ËÌÉÅÎÔÁ. ÷ 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 ÐÏÚ×ÏÌÑÅÔ ÐÏÌÕÞÉÔØ ÄÁÎÎÙÅ
@@ -812,7 +585,7 @@
     ÉÓÐÏÌØÚÏ×ÁÎÉÑ 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>ðÏÓËÏÌØËÕ "ÖÅÌÅÚÏ" ÐÅÒÓÏÎÁÌØÎÙÈ ËÏÍÐØÀÔÅÒÏ× Ñ×ÌÑÅÔÓÑ ÎÁÉÂÏÌÅÅ
     ÓÏ×ÍÅÓÔÉÍÙÍ, ÌÀÄÉ ÓËÌÏÎÎÙ ×ÅÒÉÔØ, ÞÔÏ ÔÁËÏÅ "ÖÅÌÅÚÏ" ÉÍÅÅÔ ÏÄÉÎÁËÏ×ÏÅ
@@ -827,24 +600,15 @@
 
     <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
@@ -854,8 +618,9 @@
 </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> ×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ, ÉÓÐÏÌØÚÕÑ \?.
@@ -865,28 +630,25 @@
     ÎÁÞÉÎÁÀÝÉÈÓÑ Ó ÏÂÒÁÔÎÏÊ ËÏÓÏÊ ÞÅÒÔÙ. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÚÁÐÕÓÔÉÔØ
     <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>;
@@ -895,24 +657,49 @@
     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 ÎÅ ÔÒÅÂÕÅÔ ÞÔÏÂÙ ÏÐÅÒÁÃÉÏÎÎÁÑ
     ÓÉÓÔÅÍÁ ÐÏÄÄÅÒÖÉ×ÁÌÁ ÆÁÊÌÙ ÂÏÌØÛÉÈ ÒÁÚÍÅÒÏ×. âÏÌØÛÉÅ ÔÁÂÌÉÃÙ ÈÒÁÎÑÔÓÑ
@@ -923,7 +710,7 @@
     ÍÏÇÕÔ ÂÙÔØ Õ×ÅÌÉÞÅÎÙ × ÞÅÔÙÒÅ ÒÁÚÁ, ÅÓÌÉ ÒÁÚÍÅÒ ÂÌÏËÁ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÕÄÅÔ
     Õ×ÅÌÉÞÅÎ ÄÏ 32k.</P>
 
-    <H4><A name="4.6">4.6</A>) ëÁË ÍÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÂÁÚÅ ÄÁÎÎÙÈ
+    <H4><A name="4.5">4.5</A>) ëÁË ÍÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÂÁÚÅ ÄÁÎÎÙÈ
      ÎÕÖÎÏ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ ÉÚ ÏÂÙÞÎÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ?</H4>
 
     <P>óõâä PostgreSQL ÍÏÖÅÔ ÐÏÔÒÅÂÏ×ÁÔØÓÑ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á ÄÏ 5 ÒÁÚ
@@ -935,21 +722,21 @@
     òÁÚÍÅÒ ÂÁÚÙ 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>
@@ -961,25 +748,12 @@
     ÚÁÎÉÍÁÀÔ ÏÞÅÎØ ÍÁÌÏ ÍÅÓÔÁ.
     </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>
@@ -988,11 +762,11 @@
     ÔÁÂÌÉÃÙ, PostgreSQL ÄÏÌÖÅÎ ÉÍÅÔØ ÓÔÁÔÉÓÔÉËÕ ÐÏ ÜÔÏÊ ÔÁÂÌÉÃÅ. üÔÁ
     ÓÔÁÔÉÓÔÉËÁ ÓÏÂÉÒÁÅÔÓÑ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ <SMALL>VACUUM ANALYZE</SMALL>
     ÉÌÉ ÐÒÏÓÔÏ <SMALL>ANALYZE</SMALL>. éÓÐÏÌØÚÕÑ ÓÔÁÔÉÓÔÉËÕ, ÏÐÔÉÍÉÚÁÔÏÒ
-    ÕÚÎÁÅÔ Ï ÔÏÍ ËÁË ÍÎÏÇÏ ÚÁÐÉÓÅÊ × ÔÁÂÌÉÃÅ É ÅÓÌÉ ÏÎ ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØ
+    ÕÚÎÁÅÔ Ï ÔÏÍ ËÁË ÍÎÏÇÏ ÓÔÒÏË × ÔÁÂÌÉÃÅ É ÅÓÌÉ ÏÎ ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØ
     ÉÎÄÅËÓÙ, ÔÏ ÏÎ ÍÏÖÅÔ ÐÒÉÎÉÍÁÔØ ÌÕÞÛÉÅ ÒÅÛÅÎÉÑ. óÔÁÔÉÓÔÉËÁ ÔÁËÖÅ
     ×ÌÉÑÅÔ ÎÁ ÏÐÒÅÄÅÌÅÎÉÅ ÏÐÔÉÍÁÌØÎÏÇÏ ÐÏÒÑÄËÁ Ó×ÑÚÙ×ÁÎÉÑ É ÍÅÔÏÄÁ Ó×ÑÚÙ×ÁÎÉÑ.
-    óÂÏÒ ÓÔÁÔÉÓÔÉËÉ ÄÏÌÖÅÎ ÐÅÒÉÏÄÉÞÅÓËÉ ×ÙÐÏÌÎÑÔÓÑ ÐÒÉ ÉÚÍÅÎÅÎÉÉ ÓÏÄÅÒÖÉÍÏÇÏ
-    ÔÁÂÌÉÃÙ.</P>
+    ðÒÉ ÉÚÍÅÎÅÎÉÉ ÓÏÄÅÒÖÉÍÏÇÏ ÔÁÂÌÉÃÙ ÄÏÌÖÅÎ ÐÅÒÉÏÄÉÞÅÓËÉ ×ÙÐÏÌÎÑÔÓÑ
+    ÓÂÏÒ ÓÔÁÔÉÓÔÉËÉ.</P>
     
     <P>ïÂÙÞÎÏ ÉÎÄÅËÓÙ ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ <SMALL>ORDER BY</SMALL> ÉÌÉ ÄÌÑ
     ×ÙÐÏÌÎÅÎÉÑ Ó×ÑÚÙ×ÁÎÉÊ. ðÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ ÐÅÒÅÂÏÒ ÓÌÅÄÕÀÝÉÊ ÚÁ Ñ×ÎÏÊ
@@ -1024,67 +798,26 @@
     </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>
 
@@ -1101,28 +834,55 @@
 </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. ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ ×
-- 
GitLab