OSDN Git Service

Update russian FAQ, from Viktor Vislobokov.
authorBruce Momjian <bruce@momjian.us>
Sun, 10 Nov 2002 19:48:41 +0000 (19:48 +0000)
committerBruce Momjian <bruce@momjian.us>
Sun, 10 Nov 2002 19:48:41 +0000 (19:48 +0000)
doc/FAQ_russian
doc/src/FAQ/FAQ_russian.html

index 2b2d9d0..6243fca 100644 (file)
 
-               ïÔ×ÅÔÙ ÎÁ ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ ×ÏÐÒÏÓÙ ÐÏ PostgreSQL
+               Otvety na chasto zadavaemye voprosy po PostgreSQL
                                        
-   äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: óÒÅÄÁ 9 ïËÔÑÂÒÑ 23:14:53 EDT 2002
+   Data poslednego obnovleniya: Voskresen'e 20 Oktyabrya 20:47:14 EDT
+   2002
    
-   áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑΠ(Bruce Momjian)
+   Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian)
    (pgman@candle.pha.pa.us)
    
-   ðÅÒÅ×ÅÌ ÎÁ ÒÕÓÓËÉÊ: ÷ÉËÔÏÒ ÷ÉÓÌÏÂÏËÏ× (victor_v@permonline.ru)
+   Perevel na russkij: Viktor Vislobokov (victor_v@permonline.ru)
    
-   óÁÍÕÀ Ó×ÅÖÕÀ ÁÎÇÌÉÊÓËÕÀ ×ÅÒÓÉÀ ÄÏËÕÍÅÎÔÁ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ
+   Samuyu svezhuyu anglijskuyu versiyu dokumenta mozhno najti na
    http://www.PostgreSQL.org/docs/faq-english.html.
    
-   ïÔ×ÅÔÙ ÎÁ ×ÏÐÒÏÓÙ ÓÐÅÃÉÆÉÞÎÙÅ ÄÌÑ ËÏÎËÒÅÔÎÙÈ ÐÌÁÔÆÏÒÍ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ
-   http://www.PostgreSQL.org/users-lounge/docs/faq.html.
+   Otvety na voprosy specifichnye dlya konkretnyh platform mozhno najti
+   na http://www.PostgreSQL.org/users-lounge/docs/faq.html.
      _________________________________________________________________
    
-                               ïÂÝÉÅ ×ÏÐÒÏÓÙ
+                              Obschie voprosy
                                       
-   1.1) þÔÏ ÔÁËÏÅ PostgreSQL? ëÁË ÐÒÏÉÚÎÏÓÉÔÓÑ ÜÔÏ ÎÁÚ×ÁÎÉÅ?
-   1.2) ëÁËÏ×Ù Á×ÔÏÒÓËÉÅ ÐÒÁ×Á ÎÁ PostgreSQL?
-   1.3) îÁ ËÁËÉÈ Unix ÐÌÁÔÆÏÒÍÁÈ ÒÁÂÏÔÁÅÔ PostgreSQL?
-   1.4) óÕÝÅÓÔ×ÕÀÔ ÌÉ ×ÅÒÓÉÉ ÐÏÒÔÉÒÏ×ÁÎÎÙÅ ÎÅ ÎÁ Unix ÓÉÓÔÅÍÙ?
-   1.5) çÄÅ ÍÏÖÎÏ ×ÚÑÔØ PostgreSQL?
-   1.6) çÄÅ ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ?
-   1.7) ëÁËÁÑ ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ?
-   1.8) ëÁËÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÉÍÅÅÔÓÑ × ÎÁÌÉÞÉÉ?
-   1.9) ëÁË ÎÁÊÔÉ ÉÎÆÏÒÍÁÃÉÀ Ï ÉÚ×ÅÓÔÎÙÈ ÏÛÉÂËÁÈ ÉÌÉ ÏÔÓÕÔÓÔ×ÕÀÝÉÈ
-   ×ÏÚÍÏÖÎÏÓÔÑÈ?
-   1.10) ëÁË ÎÁÕÞÉÔØÓÑ SQL?
-   1.11) òÅÛÅÎÁ ÌÉ × PostgreSQL ÐÒÏÂÌÅÍÁ 2000-ÇÏ ÇÏÄÁ (Y2K)?
-   1.12) ëÁË ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?
-   1.13) ëÁË ÏÔÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ?
-   1.14) ëÁË ÓÒÁ×ÎÉ×ÁÔØ PostgreSQL Ó ÄÒÕÇÉÍÉ óõâä?
-   1.15) ëÁË ÏËÁÚÁÔØ ÆÉÎÁÎÓÏ×ÕÀ ÐÏÍÏÝØ PostgreSQL?
-   
-                 ÷ÏÐÒÏÓÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÐÏ ËÌÉÅÎÔÓËÏÊ ÞÁÓÔÉ
+   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.7) Kakaya poslednyaya versiya?
+   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 otravit' soobschenie ob oshibke?
+   1.14) Kak sravnivat' PostgreSQL s drugimi SUBD?
+   1.15) Kak okazat' finansovuyu pomosch' PostgreSQL?
+   
+                 Voprosy pol'zovatelej po klientskoj chasti
                                       
-   2.1) óÕÝÅÓÔ×ÕÀÔ ÌÉ ODBC ÄÒÁÊ×ÅÒÁ ÄÌÑ PostgreSQL?
-   2.2) ëÁËÉÅ ÉÎÓÔÒÕÍÅÎÔÙ ÓÕÝÅÓÔ×ÕÀÔ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ PostgreSQL ÞÅÒÅÚ
-   Web?
-   2.3) åÓÔØ ÌÉ Õ PostgreSQL ÇÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ ÐÏÌØÚÏ×ÁÔÅÌÑ?
-   çÅÎÅÒÁÔÏÒ ÏÔÞÅÔÏ×? ÷ÓÔÒÏÅÎÎÙÊ ÉÎÔÅÒÆÅÊÓ ÄÌÑ ÑÚÙËÁ ÚÁÐÒÏÓÏ×?
-   2.4) ëÁËÉÅ ÑÚÙËÉ ÍÏÇÕÔ ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó PostgreSQL?
-   
-                         ÷ÏÐÒÏÓÙ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ
+   2.1) Suschestvuyut li ODBC drajvera dlya PostgreSQL?
+   2.2) Kakie instrumenty suschestvuyut dlya ispol'zovaniya PostgreSQL
+   cherez Web?
+   2.3) Est' li u PostgreSQL graficheskij interfejs pol'zovatelya?
+   Generator otchetov? Vstroennyj interfejs dlya yazyka zaprosov?
+   2.4) Kakie yazyki mogut vzaimodejstvovat' s PostgreSQL?
+   
+                         Voprosy administrirovaniya
                                       
-   3.1) ëÁË ÍÎÅ ÕÓÔÁÎÏ×ÉÔØ PostgreSQL × ÍÅÓÔÏ ÏÔÌÉÞÎÏÅ ÏÔ
+   3.1) Kak mne ustanovit' PostgreSQL v mesto otlichnoe ot
    /usr/local/pgsql?
-   3.2) ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ postmaster, Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ Bad System Call
-   ÉÌÉ ÓÏÏÂÝÅÎÉÅ core dumped. ðÏÞÅÍÕ?
-   3.3) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ postmaster, Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÉ
-   IpcMemoryCreate. ðÏÞÅÍÕ?
-   3.4) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ postmaster, Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÉ
-   IpcSemaphoreCreate. ðÏÞÅÍÕ?
-   3.5) ëÁË ÍÎÅ ÕÐÒÁ×ÌÑÔØ ÓÏÅÄÉÎÅÎÉÑÍÉ Ó ÄÒÕÇÉÈ ËÏÍÐØÀÔÅÒÏ×?
-   3.6) ëÁËÉÅ ÎÁÓÔÒÏÊËÉ ÍÎÅ ÎÕÖÎÏ ÓÄÅÌÁÔØ ÄÌÑ ÕÌÕÞÛÅÎÉÑ
-   ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ?
-   3.7) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ × ÎÁÌÉÞÉÉ?
-   3.8) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ "Sorry, too many clients" ËÏÇÄÁ
-   ÐÙÔÁÀÓØ ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ?
-   3.9) þÔÏ ÜÔÏ ÚÁ ÆÁÊÌÙ pg_sorttempNNN.NN × ÍÏÅÍ ËÁÔÁÌÏÇÅ Ó ÂÁÚÏÊ
-   ÄÁÎÎÙÈ?
-   3.10) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ×ÙÐÕÓËÏ×
+   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
+   proizvoditel'nosti?
+   3.7) Kakie vozmozhnosti dlya otladki est' v nalichii?
+   3.8) 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
    PostgreSQL?
    
-                            ÷ÏÐÒÏÓÙ ÜËÓÐÌÕÁÔÁÃÉÉ
+                           Voprosy `ekspluatacii
                                       
-   4.1) ÷ ÞÅÍ ÏÔÌÉÞÉÅ ÍÅÖÄÕ ÂÉÎÁÒÎÙÍ É ÎÏÒÍÁÌØÎÙÍ ËÕÒÓÏÒÏÍ?
-   4.2) ëÁË ×ÙÐÏÌÎÉÔØ SELECT ÔÏÌØËÏ ÄÌÑ ÎÅÓËÏÌØËÉÈ ÐÅÒ×ÙÈ ÓÔÒÏÞÅË
-   ÚÁÐÒÏÓÁ?
-   4.3) ëÁË ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÔÁÂÌÉàÉÌÉ ÄÒÕÇÉÈ ËÏÍÐÏÎÅÎÔÏ× × psql?
-   4.4) ëÁË ÕÄÁÌÉÔØ ËÏÌÏÎËÕ ÉÚ ÔÁÂÌÉÃÙ?
-   4.5) ëÁËÏ×Ù ÍÁËÓÉÍÁÌØÎÙÅ ÒÁÚÍÅÒÙ ÄÌÑ ÚÁÐÉÓÅÊ, ÔÁÂÌÉàɠÂÁÚÙ ÄÁÎÎÙÈ?
-   4.6) ëÁË ÍÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÂÁÚÅ ÄÁÎÎÙÈ ÎÕÖÎÏ ÄÌÑ
-   ÓÏÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ ÉÚ ÏÂÙÞÎÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ?
-   4.7) ëÁË ÍÎÅ ÕÂÅÄÉÔØÓÑ, ÞÔÏ ÓÕÝÅÓÔ×ÕÀÔ ÎÕÖÎÙÅ ÍÎÅ ÔÁÂÌÉÃÙ, ÉÎÄÅËÓÙ,
-   ÂÁÚÙ ÄÁÎÎÙÈ É ÐÏÌØÚÏ×ÁÔÅÌÉ?
-   4.8) õ ÍÅÎÑ ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÀÔ ÚÁÐÒÏÓÙ ÉÌÉ ÎÅ ÐÒÏÉÓÈÏÄÉÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ
-   ÉÎÄÅËÓÏ×. ðÏÞÅÍÕ?
-   4.9) ëÁË ÐÏÓÍÏÔÒÅÔØ ÎÁ ÔÏ, ËÁË ÏÐÔÉÍÉÚÁÔÏÒ ×ÙÐÏÌÎÑÅÔ ÍÏÊ ÚÁÐÒÏÓ?
-   4.10) þÔÏ ÔÁËÏÅ R-tree ÉÎÄÅËÓ?
-   4.11) þÔÏ ÔÁËÏÅ Genetic Query Optimizer?
-   4.12) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ É ÐÏÉÓË
-   ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË× ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ? ëÁË ÍÎÅ
-   ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÄÅËÓ ÄÌÑ ÐÏÉÓËÁ ÎÅÚÁ×ÉÓÉÍÏÇÏ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË×?
-   4.13) ëÁË Ñ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ, ÞÔÏ ÚÎÁÞÅÎÉÅ ÐÏÌÑ ÒÁ×ÎÏ NULL × ËÁËÏÍ-ÌÉÂÏ
-   ÚÁÐÒÏÓÅ?
-   4.14) ëÁËÏ×Ù ÏÔÌÉÞÉÑ ÍÅÖÄÕ ÒÁÚÎÙÍÉ ÓÉÍ×ÏÌØÎÙÍÉ ÔÉÐÁÍÉ?
-   4.15.1) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ÐÏÌÅ serial/Ó-Á×ÔÏ-Õ×ÅÌÉÞÅÎÉÅÍ?
-   4.15.2) ëÁË ÍÎÅ ÐÏÌÕÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÒÉ ×ÓÔÁ×ËÅ SERIAL?
-   4.15.3) îÅ ÍÏÖÅÔ ÌÉ ÐÏÌÕÞÉÔØÓÑ ÔÁË, ÞÔÏ ÉÓÐÏÌØÚÏ×ÁÎÉÅ currval() É
-   nextval() ÐÒÉ×ÅÄÅÔ Ë ÚÁÃÉËÌÉÒÏ×ÁÎÉÀ Ó ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ?
-   4.15.4) ðÏÞÅÍÕ ÞÉÓÌÁ ÉÚ ÍÏÅÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÎÏ×Á
-   ÐÒÉ ÏÔÍÅÎÅ ÔÒÁÎÚÁËÃÉÉ? ðÏÞÅÍÕ ÓÏÚÄÁÀÔÓÑ ÒÁÚÒÙ×Ù ÐÒÉ ÎÕÍÅÒÁÃÉÉ ×
-   ËÏÌÏÎËÅ, ÇÄÅ Ñ ÉÓÐÏÌØÚÕÀ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ/SERIAL?
-   4.16) þÔÏ ÔÁËÏÅ OID? þÔÏ ÔÁËÏÅ TID?
-   4.17) þÔÏ ÏÚÎÁÞÁÀÔ ÎÅËÏÔÏÒÙÅ ÔÅÒÍÉÎÙ ÉÓÐÏÌØÚÕÅÍÙÅ × PostgreSQL?
-   4.18) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ "ERROR: Memory exhausted in
+   4.1) V chem otlichie mezhdu binarnym i normal'nym kursorom?
+   4.2) Kak vypolnit' SELECT tol'ko dlya neskol'kih pervyh strochek
+   zaprosa?
+   4.3) Kak poluchit' spisok tablic ili drugih komponentov v psql?
+   4.4) Kak udalit' kolonku iz tablicy?
+   4.5) Kakovy maksimal'nye razmery dlya zapisej, tablic i bazy dannyh?
+   4.6) 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
+   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
+   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
+   nextval() privedet k zaciklirovaniyu s drugimi pol'zovatelyami?
+   4.15.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
    AllocSetAlloc()"?
-   4.19) ëÁË ÍÎÅ ÕÚÎÁÔØ, ËÁËÁÑ ×ÅÒÓÉÑ PostgreSQL ÚÁÐÕÝÅÎÁ?
-   4.20) ðÏÞÅÍÕ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÏÉÍ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ
+   4.19) Kak mne uznat', kakaya versiya PostgreSQL zapuschena?
+   4.20) Pochemu pri rabote s moim bol'shim ob"ektom ya poluchayu oshibku
    "invalid large obj descriptor"?
-   4.21) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ËÏÌÏÎËÕ ËÏÔÏÒÁÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÕÄÅÔ ÓÏÄÅÒÖÁÔØ
-   ÔÅËÕÝÅÅ ×ÒÅÍÑ?
-   4.22) ðÏÞÅÍÕ ÍÏÉ ÐÏÄÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ IN ÔÁË ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÅÀÔ?
-   4.23) ëÁË ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ?
-   4.24) ëÁË ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ÎÅÓËÏÌØËÏ ÂÁÚ ÄÁÎÎÙÈ?
-   4.25) ëÁË ÍÎÅ ×ÅÒÎÕÔØ ÉÚ ÆÕÎËÃÉÉ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ?
-   4.26) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ ×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ ×
-   ÆÕÎËÃÉÑÈ PL/PgSQL?
-   4.27) ëÁËÉÅ ÏÐÃÉÉ ÒÅÐÌÉËÁÃÉÉ ÓÕÝÅÓÔ×ÕÀÔ?
-   
-                           òÁÓÛÉÒÅÎÉÑ PostgreSQL
+   4.21) 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
+   v funkciyah PL/PgSQL?
+   4.27) Kakie opcii replikacii suschestvuyut?
+   4.28) Kakie opcii shifrovaniya suschestvuyut?
+   
+                          Rasshireniya PostgreSQL
                                       
-   5.1) ñ ÎÁÐÉÓÁÌ ÆÕÎËÃÉÀ ÏÐÒÅÄÅÌÑÅÍÕÀ ÐÏÌØÚÏ×ÁÔÅÌÅÍ. ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ ÅÅ
-   × psql, ÐÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ dump core?
-   5.2) ëÁË Ñ ÍÏÇÕ ×ÎÅÓÔÉ ÎÅËÏÔÏÒÙÅ ËÌÁÓÓÎÙÅ ÎÏ×ÙÅ ÔÉÐÙ É ÆÕÎËÃÉÉ ×
+   5.1) YA napisal funkciyu opredelyaemuyu pol'zovatelem. Kogda ya
+   zapuskayu ee v psql, pochemu ya poluchayu dump core?
+   5.2) Kak ya mogu vnesti nekotorye klassnye novye tipy i funkcii v
    PostgreSQL?
-   5.3) ëÁË ÍÎÅ ÎÁÐÉÓÁÔØ C ÆÕÎËÃÉÀ, ×ÏÚ×ÒÁÝÁÀÝÕÀ ÚÁÐÉÓØ?
-   5.4) ñ ÉÚÍÅÎÉÌ ÉÓÈÏÄÎÙÊ ÆÁÊÌ. ðÏÞÅÍÕ ÐÏÓÌÅ ÐÅÒÅËÏÍÐÉÌÑÃÉÉ Ñ ÎÅ ×ÉÖÕ
-   ÉÚÍÅÎÅÎÉÊ?
+   5.3) Kak mne napisat' C funkciyu, vozvraschayuschuyu zapis'?
+   5.4) YA izmenil ishodnyj fajl. Pochemu posle perekompilyacii ya ne
+   vizhu izmenenij?
      _________________________________________________________________
    
-                               ïÂÝÉÅ ×ÏÐÒÏÓÙ
+                              Obschie voprosy
                                       
-    1.1) þÔÏ ÔÁËÏÅ PostgreSQL?
+    1.1) CHto takoe PostgreSQL? Kak proiznositsya `eto nazvanie?
     
-   PostgreSQL ÐÒÏÉÚÎÏÓÉÔÓÑ Post-Gres-Q-L (ðÏÓÔ-çÒÅÓ-ëØÀ-üÌ).
-   
-   PostgreSQL - ÜÔÏ ÒÁÓÛÉÒÅÎÉÅ óõâä POSTGRES, ÉÓÓÌÅÄÏ×ÁÔÅÌØÓËÉÊ ÐÒÏÔÏÔÉÐ
-   ÎÏ×ÏÇÏ ÐÏËÏÌÅÎÉÑ óõâä. PostgreSQL ÏÄÎÏ×ÒÅÍÅÎÎÏ ÓÏÈÒÁÎÑÅÔ ÍÏÝÎÕÀ ÍÏÄÅÌØ
-   ÄÁÎÎÙÈ É ÏÂÝÉÒÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÔÉÐÏ× POSTGRES, É ÚÁÍÅÝÁÅÔ ÑÚÙË ÚÁÐÒÏÓÏ×
-   PostQuel ÎÁ ÒÁÓÛÉÒÅÎÎÏÅ ÐÏÄÍÎÏÖÅÓÔ×Ï SQL. PostgreSQL - ÜÔÏ Ó×ÏÂÏÄÎÏÅ É
-   ÐÏÌÎÏÓÔØÀ ÏÔËÒÙÔÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ.
+   PostgreSQL proiznositsya Post-Gres-Q-L (Post-Gres-K'yu-`El).
+   
+   PostgreSQL - `eto rasshirenie SUBD 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 Fornaj (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.
+   
+   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.
+   
+    1.2) Kakovy avtorskie prava na PostgreSQL?
+    
+   PostgreSQL popadaet pod dejstvie sleduyuschego COPYRIGHT:
    
-   òÁÚÒÁÂÏÔËÕ PostgreSQL ×ÙÐÏÌÎÑÅÔ ËÏÍÁÎÄÁ, Ó×ÑÚÁÎÎÁÑ ÞÅÒÅÚ Internet, ×ÓÅ
-   ÕÞÁÓÔÎÉËÉ ËÏÔÏÒÏÊ ÐÏÄÐÉÓÁÎÙ ÎÁ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÒÁÚÒÁÂÏÔÞÉËÏ×. ÷
-   ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ, ÉÈ ËÏÏÒÄÉÎÁÔÏÒÏÍ Ñ×ÌÑÅÔÓÑ íÁÒË æÏÒÎÁÊ (Marc G.
-   Fournier) (scrappy@PostgreSQL.org). (óÍ. ÎÉÖÅ Ï ÔÏÍ, ËÁË ÐÏÄËÌÀÞÉÔØÓÑ
-   Ë ÒÁÚÒÁÂÏÔËÅ). üÔÁ ËÏÍÁÎÄÁ ÔÅÐÅÒØ ÏÔ×ÅÞÁÅÔ ÚÁ ×ÓÀ ÒÁÚÒÁÂÏÔËÕ
-   PostgreSQL.
+   Sistema Upravleniya Bazami Dannyh PostgreSQL
    
-   á×ÔÏÒÁÍÉ PostgreSQL 1.01 Ñ×ÌÑÀÔÓÑ üÎÄÒÀ à (Andrew Yu) É äÖÏÌÉ þÅÎ
-   (Jolly Chen). íÎÏÇÉÅ ÄÒÕÇÉÅ ×ÎÅÓÌÉ Ó×ÏÊ ×ËÌÁÄ × ÐÅÒÅÎÏÓ ÎÁ ÄÒÕÇÉÅ
-   ÐÌÁÔÆÏÒÍÙ, ÔÅÓÔÉÒÏ×ÁÎÉÅ, ÏÔÌÁÄËÕ É ÒÁÓÛÉÒÅÎÉÅ ÜÔÏÇÏ ËÏÄÁ.
-   ðÅÒ×ÏÎÁÞÁÌØÎÙÊ ËÏÄ Postgres, ÉÚ ËÏÔÏÒÏÇÏ ÐÏÑ×ÉÌÓÑ PostgreSQL, ÂÙÌ
-   ÉÔÏÇÏÍ ÕÓÉÌÉÊ ÍÎÏÇÉÈ ÁËÁÄÅÍÉÞÅÓËÉÈ ÓÔÕÄÅÎÔÏ×, ÎÅÁËÁÄÅÍÉÞÅÓËÉÈ
-   ÓÔÕÄÅÎÔÏ× É ÍÎÏÖÅÓÔ×Á ÒÁÚÎÙÈ ÐÒÏÇÒÁÍÍÉÓÔÏ×, ÒÁÂÏÔÁ×ÛÉÈ ÐÏÄ
-   ÒÕËÏ×ÏÄÓÔ×ÏÍ ÐÒÏÆÅÓÓÏÒÁ íÁÊËÌÁ óÔÏÕÎÂÒÅÊËÅÒÁ (Michael Stonebraker) ×
-   ëÁÌÉÆÏÒÎÉÊÓËÏÍ ÕÎÉ×ÅÒÓÉÔÅÔÅ, âÅÒËÌÉ.
+   Portion copyright (c) 1996-2002, PostgreSQL Global Development Group
+   Portions Copyright (c) 1994-6 Regents of the University of California
    
-   ðÅÒ×ÏÎÁÞÁÌØÎÏÅ ÉÍÑ, ÄÁÎÎÏÅ × âÅÒËÌÉ, ÂÙÌÏ Postgres. ëÏÇÄÁ × 1995 ÇÏÄÕ
-   ÂÙÌÁ ÄÏÂÁ×ÌÅÎÁ ÆÕÎËÃÉÏÎÁÌØÎÏÓÔØ SQL, ÜÔÏ ÉÍÑ ÂÙÌÏ ÉÚÍÅÎÅÎÏ ÎÁ
-   Postgres95. îÏ É ÜÔÏ ÉÍÑ ÂÙÌÏ ÉÚÍÅÎÅÎÏ × ËÏÎÃÅ 1996 ÎÁ PostgreSQL.
+   Predostavlyayutsya prava na ispol'zovanie, kopirovanie, izmenenie i
+   rasprostranenie dannogo programmnogo obespecheniya i ego dokumentacii
+   dlya lyubyh celej, besplatno i bez podpisaniya kakogo-libo
+   soglasheniya, pri uslovii chto dlya kazhdoj kopii budut predostavleny
+   dannoe vyshe zamechanie ob avtorskih pravah, tekuschij paragraf i dva
+   sleduyuschih paragrafa.
+   
+   KALIFORNIJSKIJ UNIVERSITET NE NESET NIKAKOJ OTVETSTVENNOSTI ZA LYUBYE
+   POVREZHDENIYA, VKLYUCHAYA POTERYU DOHODA, NANESENNYE PRYAMYM ILI
+   NEPRYAMYM, SPECIAL'NYM ILI SLUCHAJNYM ISPOL'ZOVANIEM DANNOGO
+   PROGRAMMNOGO OBESPECHENIYA ILI EGO DOKUMENTACII, DAZHE ESLI
+   KALIFORNIJSKIJ UNIVERSITET BYL IZVESCHEN O VOZMOZHNOSTI TAKIH
+   POVREZHDENIJ.
+   
+   KALIFORNIJSKIJ UNIVERSITET SPECIAL'NO OTKAZYVAZYVAETSYA PREDOSTAVLYAT'
+   LYUBYE GARANTII, VKLYUCHAYA, NO NE OGRANICHIVAYAS' TOL'KO `ETIMI
+   GARANTIYAMI: NEYAVNYE GARANTII PRIGODNOSTI TOVARA ILI PRIGODNOSTI DLYA
+   OTDEL'NOJ CELI. DANNOE PROGRAMMNOE OBESPECHENIE PREDOSTAVLYAETSYA NA
+   OSNOVE PRICIPA "KAK EST'" I KALIFORNIJSKIJ UNIVERSITET NE OBYAZAN
+   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?
+    
+   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.2) ëÁËÏ×Ù Á×ÔÏÒÓËÉÅ ÐÒÁ×Á ÎÁ PostgreSQL?
+    1.4) Suschestvuyut li versii perenesennye ne na Unix sistemy?
     
-   PostgreSQL ÐÏÐÁÄÁÅÔ ÐÏÄ ÄÅÊÓÔ×ÉÅ ÓÌÅÄÕÀÝÅÇÏ COPYRIGHT:
+   Klient
    
-   óÉÓÔÅÍÁ õÐÒÁ×ÌÅÎÉÑ âÁÚÁÍÉ äÁÎÎÙÈ PostgreSQL
+   Dlya zapuska na platformah MS Windows vozmozhna kompilyaciya C
+   biblioteki libpq, psql, drugih interfesov i klientskih prilozhenij. V
+   `etom sluchae, klient zapuskaetsya na MS Windows i svyazyvaetsya po
+   TCP/IP s serverom, zapuschennym na odnoj iz podderzhivaemyh Unix
+   platform. V distributiv vklyuchaetsya fajl win32.mak dlya togo, chtoby
+   mozhno bylo provesti sborku biblioteki libpq i psql dlya Win32.
+   PostgreSQL takzhe rabotaet cherez ODBC.
    
-   Portion copyright (c) 1996-2002, PostgreSQL Global Development Group
-   Portions Copyright (c) 1994-6 Regents of the University of California
+   Server
+   
+   Server BD mozhet byt' zapuschen na Windows NT i Win2k, ispol'zuya
+   biblioteku Cygwin, razrabotannuyu dlya perenosa programmnogo
+   obespecheniya Unix v NT. Smotrite pgsql/doc/FAQ_MSWIN v distributive
+   ili MS Windows FAQ na http://www.PostgreSQL.org/docs/faq-mswin.html.
+   
+   PostgreSQL, sportirovannyj special'no dlya MS Win NT/2000/XP v
+   nastoyaschij moment nachal rabotat'.
    
-   ðÒÅÄÏÓÔÁ×ÌÑÀÔÓÑ ÐÒÁ×Á ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ, ËÏÐÉÒÏ×ÁÎÉÅ, ÉÚÍÅÎÅÎÉÅ É
-   ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÅ ÄÁÎÎÏÇÏ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ É ÅÇÏ ÄÏËÕÍÅÎÔÁÃÉÉ
-   ÄÌÑ ÌÀÂÙÈ ÃÅÌÅÊ, ÂÅÓÐÌÁÔÎÏ É ÂÅÚ ÐÏÄÐÉÓÁÎÉÑ ËÁËÏÇÏ-ÌÉÂÏ ÓÏÇÌÁÛÅÎÉÑ,
-   ÐÒÉ ÕÓÌÏ×ÉÉ ÞÔÏ ÄÌÑ ËÁÖÄÏÊ ËÏÐÉÉ ÂÕÄÕÔ ÐÒÅÄÏÓÔÁ×ÌÅÎÙ ÄÁÎÎÏÅ ×ÙÛÅ
-   ÚÁÍÅÞÁÎÉÅ Ï Á×ÔÏÒÓËÉÈ ÐÒÁ×ÁÈ, ÔÅËÕÝÉÊ ÐÁÒÁÇÒÁÆ É Ä×Á ÓÌÅÄÕÀÝÉÈ
-   ÐÁÒÁÇÒÁÆÁ.
-   
-   ëáìéæïòîéêóëéê õîé÷åòóéôåô îå îåóåô îéëáëïê ïô÷åôóô÷åîîïóôé úá ìàâùå
-   ðï÷òåöäåîéñ, ÷ëìàþáñ ðïôåòà äïèïäá, îáîåóåîîùå ðòñíùí éìé îåðòñíùí,
-   óðåãéáìøîùí éìé óìõþáêîùí éóðïìøúï÷áîéåí äáîîïçï ðòïçòáííîïçï
-   ïâåóðåþåîéñ éìé åçï äïëõíåîôáãéé, äáöå åóìé ëáìéæïòîéêóëéê õîé÷åòóéôåô
-   âùì éú÷åýåî ï ÷ïúíïöîïóôé ôáëéè ðï÷òåöäåîéê.
-   
-   ëáìéæïòîéêóëéê õîé÷åòóéôåô óðåãéáìøîï ïôëáúù÷áúù÷áåôóñ ðòåäïóôá÷ìñôø
-   ìàâùå çáòáîôéé, ÷ëìàþáñ, îï îå ïçòáîéþé÷áñóø ôïìøëï üôéíé çáòáîôéñíé:
-   îåñ÷îùå çáòáîôéé ðòéçïäîïóôé ôï÷áòá éìé ðòéçïäîïóôé äìñ ïôäåìøîïê
-   ãåìé. äáîîïå ðòïçòáííîïå ïâåóðåþåîéå ðòåäïóôá÷ìñåôóñ îá ïóîï÷å ðòéãéðá
-   "ëáë åóôø" é ëáìéæïòîéêóëéê õîé÷åòóéôåô îå ïâñúáî ðòåäïóôá÷ìñôø
-   óïðòï÷ïöäåîéå, ðïääåòöëõ, ïâîï÷ìåîéñ, òáóûéòåîéñ éìé éúíåîåîéñ.
-   
-   ÷ÙÛÅÉÚÌÏÖÅÎÎÏÅ Ñ×ÌÑÅÔÓÑ BSD ÌÉÃÅÎÚÉÅÊ, ËÌÁÓÓÉÞÅÓËÏÊ ÌÉÃÅÎÚÉÅÊ
-   ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ Ó ÏÔËÒÙÔÙÍ ËÏÄÏÍ. üÔÁ ÌÉÃÅÎÚÉÑ ÎÅ ÎÁËÌÁÄÙ×ÁÅÔ
-   ÏÇÒÁÎÉÞÅÎÉÊ ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÉÓÈÏÄÎÏÇÏ ËÏÄÁ. îÁÍ ÎÒÁ×ÉÔÓÑ ÜÔÁ ÌÉÃÅÎÚÉÑ
-   É ÍÙ ÎÅ ÓÏÂÉÒÁÅÍÓѠţ ÍÅÎÑÔØ.
-   
-    1.3) îÁ ËÁËÉÈ Unix ÐÌÁÔÆÏÒÍÁÈ ÒÁÂÏÔÁÅÔ PostgreSQL?
-    
-   ïÂÙÞÎÏ, PostgreSQL ÍÏÖÅÔ ÒÁÂÏÔÁÔØ ÎÁ ÌÀÂÏÊ ÓÏ×ÒÅÍÅÎÎÏÊ ÐÌÁÔÆÏÒÍÅ
-   ÓÏ×ÍÅÓÔÉÍÏÊ Ó Unix. ÷ ÉÎÓÔÒÕËÃÉÉ ÐÏ ÕÓÔÁÎÏ×ËÅ, ×Ù ÎÁÊÄÅÔÅ ÓÐÉÓÏË ÔÅÈ
-   ÐÌÁÔÆÏÒÍ, ÎÁ ËÏÔÏÒÙÈ ÂÙÌÉ ÐÒÏ×ÅÄÅÎÙ ÔÅÓÔÏ×ÙÅ ÚÁÐÕÓËÉ PostgreSQL Ë
-   ÍÏÍÅÎÔÕ ×ÙÈÏÄÁ ÄÁÎÎÏÊ ×ÅÒÓÉÉ.
-   
-    1.4) óÕÝÅÓÔ×ÕÀÔ ÌÉ ×ÅÒÓÉÉ ÐÅÒÅÎÅÓÅÎÎÙÅ ÎÅ ÎÁ Unix ÓÉÓÔÅÍÙ?
-    
-   ëÌÉÅÎÔ
-   
-   äÌÑ ÚÁÐÕÓËÁ ÎÁ ÐÌÁÔÆÏÒÍÁÈ MS Windows ×ÏÚÍÏÖÎÁ ËÏÍÐÉÌÑÃÉÑ C ÂÉÂÌÉÏÔÅËÉ
-   libpq, psql É ÄÒÕÇÉÈ ÉÎÔÅÒÆÅÓÏ× É ÂÉÎÁÒÎÙÈ ÆÁÊÌÏ×. ÷ ÜÔÏÍ ÓÌÕÞÁÅ,
-   ËÌÉÅÎÔ ÚÁÐÕÓËÁÅÔÓÑ ÎÁ MS Windows É Ó×ÑÚÙ×ÁÅÔÓÑ ÐÏ TCP/IP Ó ÓÅÒ×ÅÒÏÍ,
-   ÚÁÐÕÝÅÎÎÙÍ ÎÁ ÏÄÎÏÊ ÉÚ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ Unix ÐÌÁÔÆÏÒÍ. ÷ ÄÉÓÔÒÉÂÕÔÉ×
-   ×ËÌÀÞÁÅÔÓÑ ÆÁÊÌ win31.mak ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÍÏÖÎÏ ÂÙÌÏ ÐÒÏ×ÅÓÔÉ ÓÂÏÒËÕ
-   ÂÉÂÌÉÏÔÅËÉ libpq É psql ÄÌÑ Win32. PostgreSQL ÔÁËÖÅ ÒÁÂÏÔÁÅÔ ÞÅÒÅÚ
-   ODBC.
-   
-   óÅÒ×ÅÒ
-   
-   óÅÒ×ÅÒ âä ÍÏÖÅÔ ÂÙÔØ ÚÁÐÕÝÅΠÎÁ Windows NT É Win2k, ÉÓÐÏÌØÚÕÑ
-   ÂÉÂÌÉÏÔÅËÕ Cygwin, ÒÁÚÒÁÂÏÔÁÎÎÕÀ ÄÌÑ ÐÅÒÅÎÏÓÁ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ
-   Unix × NT. óÍÏÔÒÉÔÅ pgsql/doc/FAQ_MSWIN × ÄÉÓÔÒÉÂÕÔÉ×Å ÉÌÉ MS Windows
-   FAQ ÎÁ ÎÁÛÅÍ ÓÁÊÔÅ. íÙ ÎÅ ÐÌÁÎÉÒÕÅÍ ÓÐÅÃÉÁÌØÎÏ ÐÅÒÅÎÏÓÉÔØ PostgreSQL
-   ÎÁ ËÁËÕÀ-ÌÉÂÏ ÐÌÁÔÆÏÒÍÕ Microsoft.
-   
-    1.5) çÄÅ ÍÏÖÎÏ ×ÚÑÔØ PostgreSQL?
-    
-   îÁÐÒÉÍÅÒ, ×ÏÓÐÏÌØÚÏ×Á×ÛÉÓØ ÁÎÏÎÉÍÎÙÍ ÄÏÓÔÕÐÏÍ ÎÁ ftp ÓÁÊÔ PostgreSQL
-   ftp://ftp.PostgreSQL.org/pub. óÐÉÓÏË ÚÅÒËÁÌ ×Ù ÎÁÊÄÅÔÅ ÎÁ ÎÁÛÅÍ
-   ÏÓÎÏ×ÎÏÍ ÓÁÊÔÅ.
-   
-    1.6) çÄÅ ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ?
-    
-   ïÓÎÏ×ÎÏÊ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ: pgsql-general@PostgreSQL.org. ÷ ÎÅÍ ÍÏÖÎÏ
-   ÏÂÓÕÖÄÁÔØ ÌÀÂÙÅ ÔÅÍÙ, ËÁÓÁÀÝÉÅÓÑ PostgreSQL. þÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ,
-   ÏÔÐÒÁ×ØÔÅ ÐÉÓØÍÏ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ, × ËÏÔÏÒÏÍ × ÔÅÌÅ ÐÉÓØÍÁ (ÎÅ ×
-   ÔÅÍÅ) ÎÁÐÉÛÉÔÅ ÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ:
+    1.5) 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?
+    
+   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
 
-   ÎÁ ÁÄÒÅÓ pgsql-general-request@PostgreSQL.org.
+   na adres pgsql-general-request@PostgreSQL.org.
    
-   óÕÝÅÓÔ×ÕÅÔ ÄÁÊÖÅÓÔ ÓÐÉÓÏË. þÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÎÅÇÏ, ÏÔÐÒÁ×ØÔÅ ÐÉÓØÍÏ
-   ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÎÁ ÁÄÒÅÓ:
-   pgsql-general-digest-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
 
-   äÁÊÖÅÓÔÙ ÏÔÐÒÁ×ÌÑÀÔÓÑ ÐÏÄÐÉÓÞÉËÁÍ, ËÏÇÄÁ × ÏÓÎÏ×ÎÏÍ ÓÐÉÓËÅ ÒÁÓÓÙÌËÉ
-   ÎÁËÏÐÉÔÓÑ ÏËÏÌÏ 30 ËÉÌÏÂÁÊÔ ÓÏÏÂÝÅÎÉÊ.
+   Dajzhesty otpravlyayutsya podpischikam, kogda v osnovnom spiske
+   rassylki nakopitsya okolo 30 kilobajt soobschenij.
    
-   äÏÓÔÕÐÅΠɠÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÓÏÏÂÝÅÎÉÊ Ï ÏÛÉÂËÁÈ. þÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ ÎÁ
-   ÜÔÏÔ ÓÐÉÓÏË, ÏÔÐÒÁ×ØÔÅ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÐÉÓØÍÏ ÎÁ ÁÄÒÅÓ
-   pgsql-bugs-request@PostgreSQL.org É × ÔÅÌÅ ÐÉÓØÍÁ ÎÁÐÉÛÉÔÅ ÓÔÒÏÞËÉ
-   ÓÔÒÏÞËÉ:
+   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
 
-   ôÁËÖÅ ÉÍÅÅÔÓÑ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ Ó ÄÉÓËÕÓÓÉÑÍÉ ÒÁÚÒÁÂÏÔÞÉËÏ×. þÔÏÂÙ
-   ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÜÔÏÔ ÓÐÉÓÏË, ÏÔÐÒÁ×ØÔÅ ÐÏ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÅ ÐÉÓØÍÏ ÎÁ
-   ÁÄÒÅÓ pgsql-hackers-request@PostgreSQL.org É × ÔÅÌÅ ÐÉÓØÍÁ ÎÁÐÉÛÉÔÅ
-   ÓÔÒÏÞËÉ ÓÔÒÏÞËÉ:
+   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
 
-   äÏÐÏÌÎÉÔÅÌØÎÙÅ ÓÐÉÓËÉ ÒÁÓÓÙÌËÉ É ÉÎÆÏÍÁÃÉÀ Ï PostgreSQL ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ
-   ÄÏÍÁÛÎÅÊ ÓÔÒÁÎÉÞËÅ PostgreSQL ÐÏ ÁÄÒÅÓÕ:
+   Dopolnitel'nye spiski rassylki i infomaciyu o PostgreSQL mozhno najti
+   na domashnej stranichke PostgreSQL po adresu:
    
      http://www.PostgreSQL.org
      
-   åÝÅ ÓÕÝÅÓÔ×ÕÅÔ IRC ËÁÎÁÌ ÎÁ EFNet, Ó ÎÁÚ×ÁÎÉÅÍ #PostgreSQL. ñ
-   ÉÓÐÏÌØÚÕÀ ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ Ë ÜÔÏÍÕ ËÁÎÁÌÕ ËÏÍÁÎÄÕ Unix irc -c
+   Esche suschestvuet IRC kanal na EFNet, s nazvaniem #PostgreSQL. YA
+   ispol'zuyu dlya podklyucheniya k `etomu kanalu komandu Unix irc -c
    '#PostgreSQL' "$USER" irc.phoenix.net.
    
-   óÐÉÓÏË ËÏÍÍÅÒÞÅÓËÏÊ ÐÏÄÄÅÒÖËÉ ËÏÍÐÁÎÉÊ ÄÏÓÔÕÐÅΠÎÁ
-   http://www.postgresql.org/users-lounge/commercial-support.html.
+   Spisok kommercheskoj podderzhki kompanij dostupen na
+   http://www.PostgreSQL.org/users-lounge/commercial-support.html.
    
-    1.7) ëÁËÁÑ ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ?
+    1.7) Kakaya poslednyaya versiya?
     
-   ðÏÓÌÅÄÎÉÊ ×ÙÐÕÓË PostgreSQL - ÜÔÏ ×ÅÒÓÉÑ 7.2.3.
+   Poslednij vypusk PostgreSQL - `eto versiya 7.2.3.
    
-   íÙ ÐÌÁÎÉÒÕÅÍ ×ÙÐÕÓËÁÔØ ÎÏ×ÙÅ ×ÅÒÓÉÉ ËÁÖÄÙÅ ÞÅÔÙÒÅ ÍÅÓÑÃÁ.
+   My planiruem vypuskat' novye versii kazhdye chetyre mesyaca.
    
-    1.8) ëÁËÁÑ ÄÏËÕÍÅÎÔÁÃÉÑ ÉÍÅÅÔÓÑ × ÎÁÌÉÞÉÉ?
+    1.8) Kakaya dokumentaciya imeetsya v nalichii?
     
-   ÷ ÄÉÓÔÒÉÂÕÔÉ× ×ËÌÀÞÁÀÔÓÑ ÒÁÚÌÉÞÎÙÅ ÒÕËÏ×ÏÄÓÔ×Á, ÓÔÒÁÎÉÃÙ ÜÌÅËÔÒÏÎÎÏÇÏ
-   ÒÕËÏ×ÏÄÓÔ×Á man É ÎÅËÏÔÏÒÙÅ ÍÁÌÅÎØËÉÅ ÔÅÓÔÏ×ÙÅ ÐÒÉÍÅÒÙ. óÍÏÔÒÉÔÅ ×
-   ËÁÔÁÌÏÇ /doc. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÐÒÏÓÍÁÔÒÉ×ÁÔØ ÄÏËÕÍÅÎÔÁÃÉÀ × éÎÔÅÒÎÅÔ ÐÏ
-   ÁÄÒÅÓÕ http://www.PostgreSQL.org/users-lounge/docs/.
-   
-   óÕÝÅÓÔ×ÕÅÔ Ä×Å ËÎÉÇÉ ÐÏ PostgreSQL ÄÏÓÔÕÐÎÙÅ ÐÏ ÁÄÒÅÓÁÍ
-   http://www.PostgreSQL.org/docs/awbook.html É
-   http://www.commandprompt.com/ppbook/. óÐÉÓÏË ËÎÉÇ ÐÏ PostgreSQL,
-   ËÏÔÏÒÙÅ ÍÏÖÎÏ ËÕÐÉÔØ ÄÏÓÔÕÐÅΠÐÏ ÁÄÒÅÓÕ
-   http://www.postgresql.org/books/. ëÒÏÍÅ ÔÏÇÏ, ÐÏ ÁÄÒÅÓÕ
-   http://techdocs.postgresql.org/ ×Ù ÍÏÖÅÔÅ ÎÁÊÔÉ ËÏÌÌÅËÃÉÀ ÔÅÈÎÉÞÅÓËÉÈ
-   ÓÔÁÔÅÊ ÐÏÓ×ÑÝÅÎÎÙÈ PostgreSQL.
-   
-   psql ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ÐÒÅËÒÁÓÎÙÈ ËÏÍÁÎÄ \d ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ
-   ÐÏ ÔÉÐÁÍ, ÏÐÅÒÁÔÏÒÁÍ, ÆÕÎËÃÉÑÍ, ÁÇÒÅÇÁÔÁÍ É Ô.Ä.
-   
-   îÁÛ ÓÁÊÔ ÓÏÄÅÒÖÉÔ ÅÝÅ ÂÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ.
-   
-    1.9) ëÁË ÎÁÊÔÉ ÉÎÆÏÒÍÁÃÉÀ Ï ÉÚ×ÅÓÔÎÙÈ ÏÛÉÂËÁÈ ÉÌÉ ÏÔÓÕÔÓÔ×ÕÀÝÉÈ
-    ×ÏÚÍÏÖÎÏÓÔÑÈ?
+   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/users-lounge/docs/.
+   
+   Suschestvuet dve knigi po PostgreSQL dostupnye po adresam
+   http://www.PostgreSQL.org/docs/awbook.html i
+   http://www.commandprompt.com/ppbook/. Spisok knig po PostgreSQL,
+   kotorye mozhno kupit' dostupen po adresu
+   http://www.ca.PostgreSQL.org/books/. Krome togo, 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.
+   
+   Nash sajt soderzhit esche bol'she informacii.
+   
+    1.9) Kak najti informaciyu ob izvestnyh oshibkah ili otsutstvuyuschih
+    vozmozhnostyah?
     
-   PostgreSQL ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÁÓÛÉÒÅÎÎÙÊ ÐÏÄËÌÁÓÓ SQL-92. óÍÏÔÒÉÔÅ ÎÁÛ
-   ÓÐÉÓÏË TODO ÎÁ ÐÒÅÄÍÅÔ ÉÚ×ÅÓÔÎÙÈ ÏÛÉÂÏË, ÏÔÓÕÔÓÔ×ÕÀÝÉÈ ÏÓÏÂÅÎÎÏÓÔÑÈ É
-   ÂÕÄÕÝÉÈ ÐÌÁÎÏ×.
+   PostgreSQL podderzhivaet rasshirennyj podklass SQL-92. Smotrite nash
+   spisok TODO na predmet izvestnyh oshibok, otsutstvuyuschih
+   osobennostyah i buduschih planov.
    
-    1.10) ëÁË ÍÎÅ ÎÁÕÞÉÔØÓÑ SQL?
+    1.10) Kak mne nauchit'sya SQL?
     
-   ëÎÉÇÁ ÐÏ PostgreSQL ÎÁ http://www.PostgreSQL.org/docs/awbook.html
-   ÎÁÕÞÉÔ SQL. óÕÝÅÓÔ×ÕÅÔ ÄÒÕÇÁÑ ËÎÉÇÁ ÐÏ PostgreSQL ÎÁ
-   http://www.commandprompt.com/ppbook. åÓÔØ ÐÒÅËÒÁÓÎÙÊ ÕÞÅÂÎÉË ÎÁ
-   http://www.intermedia.net/support/sql/sqltut.shtm, ÎÁ
+   Kniga po PostgreSQL na http://www.PostgreSQL.org/docs/awbook.html
+   nauchit SQL. Suschestvuet drugaya kniga po PostgreSQL na
+   http://www.commandprompt.com/ppbook. Est' prekrasnyj uchebnik na
+   http://www.intermedia.net/support/sql/sqltut.shtm, na
    http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM,
-   É ÎÁ http://sqlcourse.com.
+   i na http://sqlcourse.com.
    
-   åÝÅ ÏÄÉΠÕÞÅÂÎÉË - ÜÔÏ ËÎÉÇÁ "Teach Yourself SQL in 21 Days, Second
-   Edition" (ïÓ×ÏÊ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ SQL ÚÁ 21 ÄÅÎØ, ÷ÔÏÒÁÑ ÒÅÄÁËÃÉÑ) ÎÁ
-   http://members.tripod.com/er4ebus/sql/index.htm
+   Esche odin uchebnik - `eto kniga "Teach Yourself SQL in 21 Days,
+   Second Edition" (Osvoj samostoyatel'no SQL za 21 den', Vtoraya
+   redakciya) na http://members.tripod.com/er4ebus/sql/index.htm
    
-   íÎÏÇÉÍ ÉÚ ÎÁÛÉÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÎÒÁ×ÉÔÓÑ ËÎÉÇÁ The Practical SQL
-   Handbook, Bowman, Judith S., et al., Addison-Wesley. äÒÕÇÉÍ ÎÒÁ×ÉÔÓÑ
+   Mnogim iz nashih pol'zovatelej nravitsya kniga The Practical SQL
+   Handbook, Bowman, Judith S., et al., Addison-Wesley. Drugim nravitsya
    The Complete Reference SQL, Groff et al., McGraw-Hill.
    
-    1.11) òÅÛÅÎÁ ÌÉ × PostgreSQL ÐÒÏÂÌÅÍÁ 2000-ÇÏ ÇÏÄÁ (Y2K)?
+    1.11) Reshena li v PostgreSQL problema 2000-go goda (Y2K)?
     
-   äÁ, ÍÙ ÌÅÇËÏ ÍÁÎÉÐÕÌÉÒÕÅÍ ÄÁÔÁÍÉ ÐÏÓÌÅ 2000 ÇÏÄÁ É ÐÅÒÅÄ 2000 ÇÏÄÏÍ.
+   Da, my legko manipuliruem datami posle 2000 goda i pered 2000 godom.
    
-    1.12) ëÁË ÐÒÉÓÏÅÄÉÎÉÔÓÑ Ë ËÏÍÁÎÄÅ ÒÁÚÒÁÂÏÔÞÉËÏ×?
+    1.12) Kak prisoedinitsya k komande razrabotchikov?
     
-   äÌÑ ÎÁÞÁÌÁ, ÓËÁÞÁÊÔÅ ÐÏÓÌÅÄÎÀÀ ×ÅÒÓÉÀ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ× É ÐÒÏÞÔÉÔÅ
-   ÄÏËÕÍÅÎÔÁÃÉÀ ÒÁÚÒÁÂÏÔÞÉËÏ× PostgreSQL ÎÁ ÎÁÛÅÍ ÓÁÊÔÅ ÉÌÉ ×
-   ÄÉÓÔÒÉÂÕÔÉ×Å. úÁÔÅÍ, ÐÏÄÐÉÛÉÔÅÓØ ÎÁ ÓÐÉÓËÉ ÒÁÓÓÙÌËÉ pgsql-hackers É
-   pgsql-patches. äÁÌÅÅ, ÏÔÐÒÁ×ÌÑÊÔÅ ÉÓÐÒÁ×ÌÅÎÉÑ (patches) ×ÙÓÏËÏÇÏ
-   ËÁÞÅÓÔ×Á × ÓÐÉÓÏË pgsql-patches.
-   
-   óÕÝÅÓÔ×ÕÅÔ ÏÇÒÁÎÉÞÅÎÎÙÊ ÓÐÉÓÏË ÌÀÄÅÊ, ËÏÔÏÒÙÊ ÉÍÅÀÔ ÐÒÉ×ÅÌÅÇÉÀ ×ÎÏÓÉÔØ
-   ÉÚÍÅÎÅÎÉÑ × CVS ÁÒÈÉ× PostgreSQL. ëÁÖÄÙÊ ÉÚ ÜÔÉÈ ÌÀÄÅÊ × Ó×ÏÅ ×ÒÅÍÑ
-   ÏÔÐÒÁ×ÉÌ ÔÁË ÍÎÏÇÏ ×ÙÓÏËÏËÁÞÅÓÔ×ÅÎÎÙÈ ÉÓÐÒÁ×ÌÅÎÉÊ, ÞÔÏ ÉÈ ÂÙÌÏ
-   ÎÅ×ÏÚÍÏÖÎÏ ÏÓÔÁ×ÉÔØ ÂÅÚ ×ÎÉÍÁÎÉÑ É ÏÎÉ ÂÙÌÉ ÕÄÏÓÔÏÅÎÙ ÐÒÅ×ÉÌÅÇÉÉ
-   ×ÎÏÓÉÔØ ÉÚÍÅÎÅÎÉÑ, É ÍÙ Õ×ÅÒÅÎÙ, ÞÔÏ ÔÅ ÉÓÐÒÁ×ÌÅÎÉÑ, ËÏÔÏÒÙÅ ÏÎÉ
-   ×ÎÅÓÕÔ ÂÕÄÕÔ ×ÙÓÏËÏÇÏ ËÁÞÅÓÔ×Á.
-   
-    1.13) ëÁË ÏÔÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ??
+   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.
+   
+   Suschestvuet ogranichennyj spisok lyudej, kotoryj imeyut privelegiyu
+   vnosit' izmeneniya v CVS arhiv PostgreSQL. Kazhdyj iz `etih lyudej v
+   svoe vremya otpravil tak mnogo vysokokachestvennyh ispravlenij, chto
+   ih bylo nevozmozhno ostavit' bez vnimaniya i oni byli udostoeny
+   previlegii vnosit' izmeneniya, i my uvereny, chto te ispravleniya,
+   kotorye oni vnesut budut vysokogo kachestva.
+   
+    1.13) Kak otravit' soobschenie ob oshibke??
     
-   ðÏÖÁÌÕÊÓÔÁ ÐÏÓÅÔÉÔÅ ÓÔÒÁÎÉÞËÕ PostgreSQL BugTool, ÎÁ ËÏÔÏÒÏÊ
-   ÐÒÅÄÏÓÔÁ×ÌÅÎÙ ÄÅÔÁÌØÎÙÅ ÉÎÓÔÒÕËÃÉÉ Ï ÔÏÍ ËÁË ÏÔÐÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ ÏÂ
-   ÏÛÉÂËÅ.
+   Pozhalujsta posetite stranichku PostgreSQL BugTool na
+   http://www.PostgreSQL.org/bugs/bugs.php, na kotoroj predostavleny
+   detal'nye instrukcii o tom kak otpravit' soobschenie ob oshibke.
    
-   ôÁËÖÅ ÎÅ ÚÁÂÕÄØÔÅ ÐÏÓÍÏÔÒÅÔØ ÎÁ ftp://ftp.PostgreSQL.org/pub ÎÁ
-   ÐÒÅÄÍÅÔ ÂÏÌÅÅ Ó×ÅÖÉÈ ×ÅÒÓÉÊ PostgreSQL ÉÌÉ ÚÁÐÌÁÔ.
+   Takzhe ne zabud'te posmotret' na ftp://ftp.PostgreSQL.org/pub na
+   predmet bolee svezhih versij PostgreSQL ili zaplat.
    
-    1.14) ëÁË ÓÒÁ×ÎÉ×ÁÔØ PostgreSQL Ó ÄÒÕÇÉÍÉ óõâä?
+    1.14) Kak sravnivat' PostgreSQL s drugimi SUBD?
     
-   óÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÍÅÔÏÄÏ× ÓÒÁ×ÎÅÎÉÑ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ:
-   ×ÏÚÍÏÖÎÏÓÔÉ, ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ, ÎÁÄÅÖÎÏÓÔØ, ÐÏÄÄÅÒÖËÁ É ÃÅÎÁ.
-   
-   ÷ÏÚÍÏÖÎÏÓÔÉ
-          PostgreSQL ÉÍÅÅÔ ÂÏÌØÛÉÎÓÔ×Ï ×ÏÚÍÏÖÎÏÓÔÅÊ ÐÒÅÄÓÔÁ×ÌÅÎÎÙÈ ×
-          ÂÏÌØÛÉÈ ËÏÍÍÅÒÞÅÓËÉÈ óõâä, ÔÁËÉÅ ËÁË: ÔÒÁÎÚÁËÃÉÉ, ÐÏÄÚÁÐÒÏÓÙ,
-          ÔÒÉÇÇÅÒÙ, ÏÂÚÏÒÙ (views), ×ÎÅÛÎÉÊ ËÌÀÞ ÓÓÙÌÏÞÎÏÊ ÃÅÌÏÓÔÎÏÓÔÉ É
-          ÒÁÚÎÙÅ ÂÌÏËÉÒÏ×ËÉ. õ ÎÁÓ ÅÓÔØ ÎÅËÏÔÏÒÙÅ ×ÏÚÍÏÖÎÏÓÔÉ, ËÏÔÏÒÙÈ
-          ÎÅÔ Õ ÎÉÈ: ÔÉÐÙ, ÏÐÒÅÄÅÌÑÅÍÙÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ, ÍÅÈÁÎÉÚÍ
-          ÎÁÓÌÅÄÏ×ÁÎÉÑ, ÐÒÁ×ÉÌÁ É ËÏÎËÕÒÅÔÎÏÅ ÍÎÏÇÏ×ÅÒÓÉÏÎÎÏÅ ÕÐÒÁ×ÌÅÎÉÅ
-          ÄÌÑ ÒÁÂÏÔÙ Ó ÓÏÄÅÒÖÉÍÙÍ ÂÌÏËÉÒÏ×ÏË.
+   Suschestvuet neskol'ko metodov sravneniya programmnogo obespecheniya:
+   vozmozhnosti, proizvoditel'nost', nadezhnost', podderzhka i cena.
+   
+   Vozmozhnosti
+          PostgreSQL imeet bol'shinstvo vozmozhnostej predstavlennyh v
+          bol'shih kommercheskih SUBD, takie kak: tranzakcii, podzaprosy,
+          triggery, obzory (views), vneshnij klyuch ssylochnoj
+          celostnosti i raznye blokirovki. U nas est' nekotorye
+          vozmozhnosti, kotoryh net u nih: tipy, opredelyaemye
+          pol'zovatelem, mehanizm nasledovaniya, pravila i konkuretnoe
+          mnogoversionnoe upravlenie dlya raboty s soderzhimym
+          blokirovok.
           
-   ðÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ
-          PostgreSQL ÉÍÅÅÔ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ ÓÈÏÖÕÀ Ó ÄÒÕÇÉÍÉ
-          ËÏÍÍÅÒÞÅÓËÉÍÉ óõâä É Ó óõâä Ó ÏÔËÒÙÔÙÍ ÉÓÈÏÄÎÙÍ ËÏÄÏÍ, ×
-          ËÁËÉÈ-ÔÏ ÁÓÐÅËÔÁÈ ÒÁÂÏÔÁÑ ÂÙÓÔÒÅÅ ÞÅÍ ÏÎÉ, × ËÁËÉÈ-ÔÏ ÍÅÄÌÅÎÅÅ.
-          ÷ ÓÒÁ×ÎÅÎÉÉ Ó MySQL ÉÌÉ ÌÉÎÅÊÎÙÍÉ óõâä, ÍÙ ÍÅÄÌÅÎÅÅ ÐÒÉ
-          ÏÐÅÒÁÃÉÑÈ ×ÓÔÁ×ËÉ/ÏÂÎÏ×ÌÅÎÉÑ, ÐÏÔÏÍÕ ÞÔÏ ÕÐÒÁ×ÌÑÅÍ
-          ÔÒÁÎÚÁËÃÉÑÍÉ. é ÒÁÚÕÍÅÅÔÓÑ, MySQL ÎÅ ÉÍÅÅÔ ËÁËÉÈ-ÌÉÂÏ
-          ×ÏÚÍÏÖÎÏÓÔÅÊ ÉÚ ÐÅÒÅÞÉÓÌÅÎÙÈ ×ÙÛÅ, × ÓÅËÃÉÉ ÷ÏÚÍÏÖÎÏÓÔÉ. íÙ
-          ÄÅÌÁÅÍ ÕÐÏÒ ÎÁ ÎÁÄÅÖÎÏÓÔØ É ÒÁÓÛÉÒÅÎÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ, ÎÏ ÍÙ
-          ÔÁËÖÅ ÐÒÏÄÏÌÖÁÅÍ Õ×ÅÌÉÞÉ×ÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ Ó ËÁÖÄÙÍ
-          ×ÙÐÕÓËÏÍ. óÕÝÅÓÔ×ÕÅÔ ÉÎÔÅÒÅÓÎÁÑ ÓÔÒÁÎÉÞËÁ × éÎÔÅÒÎÅÔ,
-          ÓÒÁ×ÎÉ×ÁÀÝÁÑ PostgreSQL É MySQL ÎÁ
-          http://openacs.org/why-not-mysql.html
+   Proizvoditel'nost'
+          PostgreSQL imeet proizvoditel'nost' shozhuyu 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 linejnymi SUBD, my medlenee
+          pri operaciyah vstavki/obnovleniya, potomu chto upravlyaem
+          tranzakciyami. 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
           
-   îÁÄÅÖÎÏÓÔØ
-          íÙ ÐÏÎÉÍÁÌÉ, ÞÔÏ ÎÁÛÁ óõâä ÄÏÌÖÎÁ ÂÙÔØ ÎÁÄÅÖÎÏÊ ÉÌÉ ÏÎÁ ÎÉÞÅÇÏ
-          ÎÅ ÂÕÄÅÔ ÓÔÏÉÔØ. íÙ ÓÔÁÒÁÅÍÓÑ ×ÙÐÕÓËÁÔØ ÈÏÒÏÛÏ ÐÒÏ×ÅÒÅÎÎÙÊ,
-          ÓÔÁÂÉÌØÎÙÊ ËÏÄ, ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ÍÉÎÉÍÕÍ ÏÛÉÂÏË. ëÁÖÄÙÊ ×ÙÐÕÓË
-          ÐÒÏÈÏÄÉÔ ÓÔÁÄÉÀ ÂÅÔÁ-ÔÅÓÔÉÒÏ×ÁÎÉÑ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ × ÔÅÞÅÎÉÉ
-          ÏÄÎÏÇÏ ÍÅÓÑÃÁ É ÎÁÛÁ ÉÓÔÏÒÉÑ ×ÙÐÕÓËÏ× ÐÏËÁÚÙ×ÁÅÔ ÞÔÏ ÍÙ ÍÏÖÅÍ
-          ÐÒÅÄÏÓÔÁ×ÌÑÔØ ÓÔÁÂÉÌØÎÙÅ, ÍÏÎÏÌÉÔÎÙÅ ×ÙÐÕÓËÉ, ËÏÔÏÒÙÅ ÇÏÔÏ×Ù Ë
-          ÐÒÏÄÕËÔÉ×ÎÏÍÕ ÉÓÐÏÌØÚÏ×ÁÎÉÀ. íÙ ×ÅÒÉÍ, ÞÔÏ ÍÙ ÐÒÏÉÚ×ÏÄÉÍ
-          ÐÒÏ×ÅÒËÕ ÎÅ ÈÕÖÅ, ÞÅÍ Õ ÄÒÕÇÉÈ óõâä.
+   Nadezhnost'
+          My ponimali, chto nasha SUBD dolzhna byt' nadezhnoj ili ona
+          nichego ne budet stoit'. My staraemsya vypuskat' horosho
+          proverennyj, stabil'nyj kod, kotoryj soderzhit minimum oshibok.
+          Kazhdyj vypusk prohodit stadiyu beta-testirovaniya po krajnej
+          mere v techenii odnogo mesyaca i nasha istoriya vypuskov
+          pokazyvaet chto my mozhem predostavlyat' stabil'nye, monolitnye
+          vypuski, kotorye gotovy k produktivnomu ispol'zovaniyu. My
+          verim, chto my proizvodim proverku ne huzhe, chem u drugih
+          SUBD.
           
-   ðÏÄÄÅÒÖËÁ
-          îÁÛ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÐÒÅÄÓÔÁ×ÌÅΠÂÏÌØÛÏÊ ÇÒÕÐÐÏÊ ÒÁÚÒÁÂÏÔÞÉËÏ× É
-          ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÐÏÍÏÞØ ÒÅÛÉÔØ ÌÀÂÙÅ ×ÏÚÎÉËÛÉÅ
-          ÐÒÏÂÌÅÍÙ. ÷ ÔÏ ÖÅ ×ÒÅÍÑ, ÍÙ ÎÅ ÇÁÒÁÎÔÉÒÕÅÍ ËÁËÉÅ-ÌÉÂÏ
-          ÉÓÐÒÁ×ÌÅÎÉÑ, ÎÏ É ÒÁÚÒÁÂÏÔÞÉËÉ ËÏÍÍÅÒÞÅÓËÉÈ óõâä ÎÅ ×ÓÅÇÄÁ
-          ÄÅÌÁÀÔ ÉÓÐÒÁ×ÌÅÎÉÑ. ðÒÑÍÏÊ ÄÏÓÔÕРˠÒÁÚÒÁÂÏÔÞÉËÁÍ, ÓÏÏÂÝÅÓÔ×Õ
-          ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÒÕËÏ×ÏÄÓÔ×ÁÍ É ÉÓÈÏÄÎÙÍ ÔÅËÓÔÁÍ ÞÁÓÔÏ ÄÅÌÁÀÔ
-          ÐÏÄÄÅÒÖËÕ PostgreSQL ÐÒÅ×ÏÓÈÏÄÑÝÅÊ ÄÒÕÇÉÅ óõâä. óÕÝÅÓÔ×ÕÅÔ
-          ËÏÍÍÅÒÞÅÓËÁÑ ÐÏÄÄÅÒÖËÁ ÐÏ ÒÅÚÕÌØÔÁÍ ×ÏÚÎÉËÛÉÈ ÉÎÃÉÄÅÎÔÏ×,
-          ËÏÔÏÒÁÑ ÄÏÓÔÕÐÎÁ ÄÌÑ ÔÅÈ ËÏÍÕ ÏÎÁ ÎÕÖÎÁ. (óÍÏÔÒÉÔÅ ëÁË ÐÏÌÕÞÉÔØ
-          ÐÏÄÄÅÒÖËÕ?.)
+   Podderzhka
+          Nash spisok rassylki predostavlyaet vozmozhmozhnost' obscheniya
+          s bol'shoj gruppoj razrabotchikov i pol'zovatelej, kotorye
+          mogut pomoch' reshit' lyubye voznikshie problemy. V to zhe
+          vremya, my ne garantiruem kakie-libo ispravleniya, no i
+          razrabotchiki kommercheskih SUBD ne vsegda delayut
+          ispravleniya. Pryamoj dostup k razrabotchikam, soobschestvu
+          pol'zovatelej, rukovodstvam i ishodnym tekstam chasto delayut
+          podderzhku PostgreSQL prevoshodyaschej drugie SUBD.
+          Suschestvuet kommercheskaya podderzhka po rezul'tam voznikshih
+          incidentov, kotoraya dostupna dlya teh komu ona nuzhna.
+          (Smotrite Sekciyu 1.6.)
           
-   ãÅÎÁ
-          îÁÛ ÐÒÏÄÕËÔ ÂÅÓÐÌÁÔÅΠËÁË ÄÌÑ ËÏÍÍÅÒÞÅÓËÏÇÏ ÔÁË, É ÎÅ ÄÌÑ
-          ËÏÍÍÅÒÞÅÓËÏÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ. ÷Ù ÍÏÖÅÔÅ ÄÏÂÁ×ÌÑÔØ Ó×ÏÊ ËÏÄ × ÎÁÛ
-          ÐÒÏÄÕËÔ ÂÅÚ ÏÇÒÁÎÉÞÅÎÉÊ, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÔÅÈ, ÞÔÏ ÏÐÉÓÙ×ÁÀÔÓÑ ×
-          ÎÁÛÅÊ ÌÉÃÅÎÚÉÉ ÓÔÉÌÑ BSD, ËÏÔÏÒÁÑ ÐÒÉ×ÅÄÅÎÁ ×ÙÛÅ.
+   Cena
+          Nash produkt besplaten kak dlya kommercheskogo tak, i ne dlya
+          kommercheskogo ispol'zovaniya. Vy mozhete dobavlyat' svoj kod v
+          nash produkt bez ogranichenij, za isklyucheniem teh, chto
+          opisyvayutsya v nashej licenzii stilya BSD, kotoraya privedena
+          vyshe.
           
-    1.15) ëÁË ÏËÁÚÁÔØ ÆÉÎÁÎÓÏ×ÕÀ ÐÏÍÏÝØ PostgreSQL?
-    
-   PostgreSQL ÉÍÅÅÔ ÏÄÎÏÒÁÎÇÏ×ÕÀ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ Ó ÔÏÇÏ ÓÁÍÏÇÏ ×ÒÅÍÅÎÉ ËÁË
-   ÍÙ ÎÁÞÁÌÉ ÒÁÚÒÁÂÏÔËÕ 6 ÌÅÔ ÎÁÚÁÄ. íÙ ÄÏÌÖÎÙ ÂÌÁÇÏÄÁÒÉÔØ ÚÁ ÜÔÏ íÁÒËÁ
-   æÏÎÁÑ (Marc Fournier), ËÏÔÏÒÙÊ ÓÏÚÄÁÌ ÜÔÕ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ É ÕÐÒÁ×ÌÑÅÔ
-   ÅÊ ÎÁ ÐÒÏÔÑÖÅÎÉÉ ÜÔÉÈ ÌÅÔ.
-   
-   ëÁÞÅÓÔ×ÅÎÎÁÑ ÉÎÆÒÁÓÔÒÕËÔÕÒÁ ÏÞÅÎØ ×ÁÖÎÁ ÄÌÑ ÐÒÏÅËÔÏ× Ó ÏÔËÒÙÔÙÍ
-   ÉÓÈÏÄÎÙÍ ËÏÄÏÍ. ïÎÁ ÐÒÅÄÏÔ×ÒÁÝÁÅÔ ÒÁÓËÏÌÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÓÉÌØÎÏ
-   ÚÁÄÅÒÖÁÔØ ÐÏÓÔÕÐÁÔÅÌØÎÏÅ Ä×ÉÖÅÎÉÅ ÐÒÏÅËÔÁ.
-   
-   òÁÚÕÍÅÅÔÓÑ, ÜÔÁ ÉÎÆÒÁÓÔÒÕËÔÕÒÁ ÎÅ Ñ×ÌÑÅÔÓÑ ÄÅÛÅ×ÏÊ. óÕÝÅÓÔ×ÕÅÔ
-   ÎÅËÏÔÏÒÏÅ ËÏÌÉÞÅÓÔ×Ï ÅÖÅÍÅÓÑÞÎÙÈ É ÏÄÎÏÒÁÚÏ×ÙÈ ÒÁÓÈÏÄÏ×, ËÏÔÏÒÙÅ
-   ÔÒÅÂÕÀÔ ÄÅÎÅÇ. åÓÌÉ ×Ù ÉÌÉ ×ÁÛÁ ËÏÍÐÁÎÉÑ ÉÍÅÅÔ ÄÅÎØÇÉ, ËÏÔÏÒÙÅ ÍÏÖÎÏ
-   ÐÅÒÅÄÁÔØ × ÐÏÍÏÝØ ÎÁÛÉÍ ÕÓÉÌÉÑÍ, ÐÏÖÁÌÕÊÓÔÁ ÐÏÓÅÔÉÔÅ ÓÔÒÁÎÉÞËÕ
-   https://store.pgsql.com/shopping/index.php?id=1 É ÓÄÅÌÁÊÔÅ Ó×ÏÊ ×ËÌÁÄ.
-   
-   èÏÔÑ ÎÁ ÓÔÒÁÎÉÞËÅ ÇÏ×ÏÒÉÔÓÑ Ï PostgreSQL, Inc, ÐÕÎËÔ "contributions"
-   ÐÒÅÄÎÁÚÎÁÞÅΠÉÓËÌÀÞÉÔÅÌØÎÏ ÄÌÑ ÐÏÄÄÅÒÖËÉ ÐÒÏÅËÔÁ PostgreSQL É ÎÅ
-   ÐÅÒÅÄÁÅÔÓÑ ËÁËÏÊ-ÌÉÂÏ ËÏÎËÒÅÔÎÏÊ ËÏÍÐÁÎÉÉ. åÓÌÉ ÈÏÔÉÔÅ, ÔÏ ÍÏÖÅÔÅ ÜÔÏ
-   ÐÒÏ×ÅÒÉÔØ, ÎÁÐÉÓÁ× ÐÉÓØÍÏ ÎÁ ËÏÎÔÁËÔÎÙÊ ÁÄÒÅÓ.
+    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 Fonaya (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.
      _________________________________________________________________
    
-                 ÷ÏÐÒÏÓÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÐÏ ËÌÉÅÎÔÓËÏÊ ÞÁÓÔÉ
+                 Voprosy pol'zovatelej po klientskoj chasti
                                       
-    2.1) óÕÝÅÓÔ×ÕÀÔ ÌÉ ODBC ÄÒÁÊ×ÅÒÁ ÄÌÑ PostgreSQL?
+    2.1) Suschestvuyut li ODBC drajvera dlya PostgreSQL?
     
-   óÕÝÅÓÔ×ÕÅÔ Ä×Á ODBC ÄÒÁÊ×ÅÒÁ, PsqlODBC É OpenLink ODBC.
+   Suschestvuet dva ODBC drajvera, PsqlODBC i OpenLink ODBC.
    
-   PsqlODBC ×ËÌÀÞÁÅÔÓÑ × ÄÉÓÔÒÉÂÕÔÉ×. âÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ Ï ÜÔÏÍ ÄÒÁÊ×ÅÒÅ
-   ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ ftp://ftp.PostgreSQL.org/pub/odbc/.
+   PsqlODBC vklyuchaetsya v distributiv. Bol'she informacii ob `etom
+   drajvere mozhno najti na ftp://ftp.PostgreSQL.org/pub/odbc/.
    
-   OpenLink ODBC ÍÏÖÎÏ ×ÚÑÔØ ÎÁ http://www.openlinksw.com. üÔÏÔ ÄÒÁÊ×ÅÒ
-   ÒÁÂÏÔÁÅÔ Ó ÉÈ ÓÔÁÎÄÁÒÔÎÙÍ ËÌÉÅÎÔÓËÉÍ ÐÒÏÇÒÁÍÍÎÙÍ ÏÂÅÓÐÅÞÅÎÉÅÍ,
-   ÉÓÐÏÌØÚÕÀÝÉÍ ODBC, É ÔÁËÉÍ ÏÂÒÁÚÏÍ, ODBC ÄÒÁÊ×ÅÒÙ ÄÌÑ PostgreSQL
-   ÄÏÓÔÕÐÎÙ ÄÌÑ ËÁÖÄÏÊ ÉÚ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÉÍÉ ÐÌÁÔÆÏÒÍ (Win, Mac, Unix,
-   VMS).
+   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).
    
-   ÷ÏÚÍÏÖÎÏ ÏÎÉ ÂÕÄÕÔ ÐÒÏÄÁ×ÁÔØ Ó×ÏÊ ÐÒÏÄÕËÔ ÔÅÍ ËÏÍÕ ÎÕÖÎÁ ËÏÍÍÅÒÞÅÓËÁÑ
-   ÐÏÄÄÅÒÖËÁ, ÎÏ ÂÅÓÐÌÁÔÎÁÑ ×ÅÒÓÉÑ ×ÓÅÇÄÁ ÂÕÄÅÔ ÄÏÓÔÕÐÎÁ. ðÏÖÁÌÕÊÓÔÁ,
-   ÎÁÐÒÁ×ÌÑÊÔÅ ×ÏÐÒÏÓÙ ÎÁ ÁÄÒÅÓ postgres95@openlink.co.uk.
+   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.
    
-   ôÁËÖÅ ÐÏÓÍÏÔÒÉÔÅ ODBC ÒÁÚÄÅÌ × ÒÕËÏ×ÏÄÓÔ×Å ÐÒÏÇÒÁÍÍÉÓÔÁ.
+   Takzhe posmotrite ODBC razdel v rukovodstve programmista.
    
-    2.2) ëÁËÉÅ ÉÎÓÔÒÕÍÅÎÔÙ ÓÕÝÅÓÔ×ÕÀÔ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ PostgreSQL ÞÅÒÅÚ Web?
+    2.2) Kakie instrumenty suschestvuyut dlya ispol'zovaniya PostgreSQL cherez
+    Web?
     
-   ðÒÅËÒÁÓÎÏÅ ××ÅÄÅÎÉÅ ×Ï ×ÚÁÉÍÏÄÅÊÓÔ×ÉÅ ÂÁÚ ÄÁÎÎÙÈ É Web ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ:
-   http://www.webreview.com
-   
-   ôÁËÖÅ ÚÁÇÌÑÎÉÔÅ ÎÁ http://www.phone.net/home/mwm/hotlist/.
+   Prekrasnoe vvedenie vo vzaimodejstvie baz dannyh i Web mozhno najti
+   na: http://www.webreview.com
    
-   äÌÑ ÉÎÔÅÇÒÁÃÉÉ Ó Web, ÏÄÎÉÍ ÉÚ ÐÒÅ×ÏÓÈÏÄÎÙÈ ÉÎÓÔÒÕÍÅÎÔÏ× Ñ×ÌÑÅÔÓÑ PHP.
-   äÏÍÁÛÎÑÑ ÓÔÁÎÉÞËÁ http://www.php.net.
+   Dlya integracii s Web, odnim iz prevoshodnyh instrumentov yavlyaetsya
+   PHP. Domashnyaya stanichka http://www.php.net.
    
-   äÌÑ ËÏÍÐÌÅËÓÎÙÈ ÒÅÛÅÎÉÊ, ÍÎÏÇÉÅ ÐÏÌØÚÕÀÔÓÑ Perl ÉÎÔÅÒÆÅÊÓÏÍ É CGI.pm.
+   Dlya kompleksnyh reshenij, mnogie pol'zuyutsya Perl interfejsom i
+   CGI.pm ili mod_perl.
    
-    2.3) åÓÔØ ÌÉ Õ PostgreSQL ÇÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ ÐÏÌØÚÏ×ÁÔÅÌÑ? çÅÎÅÒÁÔÏÒ
-    ÏÔÞÅÔÏ×? ÷ÓÔÒÏÅÎÎÙÊ ÉÎÔÅÒÆÅÊÓ ÄÌÑ ÑÚÙËÁ ÚÁÐÒÏÓÏ×?
+    2.3) Est' li u PostgreSQL graficheskij interfejs pol'zovatelya? Generator
+    otchetov? Vstroennyj interfejs dlya yazyka zaprosov?
     
-   õ ÎÁÓ ÅÓÔØ ÐÒÅËÒÁÓÎÙÊ ÇÏÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ, ÎÁÚÙ×ÁÅÍÙÊ pgaccess,
-   ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ ÄÉÓÔÒÉÂÕÔÉ×Á. pgaccess ÔÁËÖÅ ÅÍÅÅÔ ÇÅÎÅÒÁÔÏÒ
-   ÏÔÞÅÔÏ×. åÇÏ ÓÔÒÁÎÉÞËÁ http://www.flex.ro/pgaccess
+   U nas est' prekrasnyj goraficheskij interfejs, nazyvaemyj PgAccess,
+   kotoryj takzhe mozhno ispol'zovat' kak generator otchetov. Ego
+   stranichka http://www.pgaccess.org/
    
-   íÙ ÔÁËÖÅ ×ËÌÀÞÁÅÍ ecpg, ËÏÔÏÒÙÊ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÓÔÒÏÅÎÎÙÊ ÉÎÔÅÒÆÅÊÓ Ë
-   ÑÚÙËÕ ÚÁÐÒÏÓÏ× SQL ÉÚ C.
+   My takzhe vklyuchaem ecpg, kotoryj predostavlyaet vstroennyj interfejs
+   k yazyku zaprosov SQL iz C.
    
-    2.4) ëÁËÉÅ ÑÚÙËÉ ÍÏÇÕÔ ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó PostgreSQL?
+    2.4) Kakie yazyki mogut vzaimodejstvovat' s PostgreSQL?
     
-   ÷ÏÔ ÜÔÉ:
+   Vot `eti:
      * C (libpq)
      * C++ (libpq++)
      * Embedded C (ecpg)
      * Java (jdbc)
-     * Perl (perl5)
+     * Perl (DBD::Pg i perl5)
      * ODBC (odbc)
      * Python (PyGreSQL)
      * TCL (libpgtcl)
      * C Easy API (libpgeasy)
-     * Embedded HTML (PHP from http://www.php.net)
+     * PHP ('pg_' functions, Pear::DB)
        
-   äÏÐÏÌÎÉÔÅÌØÎÙÅ ÉÎÔÅÒÆÅÊÓÙ ÄÏÓÔÕÐÎÙ ÐÏ ÁÄÒÅÓÕ
-   http://www.postgresql.org/interfaces.html.
+   Dopolnitel'nye interfejsy dostupny po adresu
+   http://www.PostgreSQL.org/interfaces.html. i
+   http://gborg.PostgreSQL.org.
      _________________________________________________________________
    
-                         ÷ÏÐÒÏÓÙ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ
+                         Voprosy administrirovaniya
                                       
-    3.1) ëÁË ÍÎÅ ÕÓÔÁÎÏ×ÉÔØ PostgreSQL × ÍÅÓÔÏ ÏÔÌÉÞÎÏÅ ÏÔ /usr/local/pgsql?
-    
-   úÁÄÁÊÔÅ ÏÐÃÉÀ --prefix ËÏÇÄÁ ÚÁÐÕÓËÁÅÔÅ configure.
-   
-    3.2) ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ postmaster, Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ Bad System Call ÉÌÉ
-    ÓÏÏÂÝÅÎÉÅ core dumped. ðÏÞÅÍÕ?
-    
-   üÔÏ ÍÏÖÅÔ ÂÙÔØ ×ÙÚ×ÁÎÏ ÒÁÚÎÙÍÉ ÐÒÏÂÌÅÍÁÍÉ, ÎÏ ÐÅÒ×ÏÅ, ÞÔÏ ÎÕÖÎÏ
-   ÓÄÅÌÁÔØ - ÜÔÏ ÕÂÅÄÉÔØÓÑ × ÔÏÍ, ÞÔÏ × ×ÁÛÅÍ ÑÄÒÅ ÕÓÔÁÎÏ×ÌÅÎÏ ÒÁÓÛÉÒÅÎÉÅ
-   System V. PostgreSQL ÔÒÅÂÕÅÔ, ÞÔÏÂÙ ÑÄÒÏ ÐÏÄÄÅÒÖÉ×ÁÌÏ ÒÁÚÄÅÌÑÅÍÕÀ
-   ÐÁÍÑÔØ É ÓÅÍÁÆÏÒÙ.
-   
-    3.3) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ postmaster, Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÉ
-    IpcMemoryCreate. ðÏÞÅÍÕ?
-    
-   ìÉÂÏ Õ ×ÁÓ × ÑÄÒÅ ÎÅÐÒÁ×ÉÌØÎÙÅ ÎÁÓÔÒÏÊËÉ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ, ÌÉÂÏ
-   ×ÁÛÅÍÕ ÑÄÒÕ ÎÕÖÎÏ ÂÏÌØÛÅÅ ËÏÌÉÞÅÓÔ×Ï ÄÏÓÔÕÐÎÏÊ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ. ôÅ
-   ËÏÎËÒÅÔÎÙÅ ÄÅÊÓÔ×ÉÑ, ËÏÔÏÒÙÅ ×ÁÍ ÎÕÖÎÏ ÐÒÏÉÚ×ÅÓÔÉ ÚÁ×ÉÓÑÔ ÏÔ
-   ÁÒÈÉÔÅËÔÕÒÙ ×ÁÛÅÊ ÍÁÛÉÎÙ É ÏÔ ÔÏÇÏ ËÁË ÍÎÏÇÏ ÂÕÆÅÒÏ× É backend
-   ÐÒÏÃÅÓÓÏ× ×Ù ÎÁÓÔÒÏÉÌÉ ÄÌÑ postmaster. äÌÑ ÂÏÌØÛÉÎÓÔ×Á ÓÉÓÔÅÍ, Ó
-   ËÏÌÉÞÅÓÔ×ÏÍ ÂÕÆÅÒÏ× É ÐÒÏÃÅÓÓÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ, ÎÅÏÂÈÏÄÉÍÙÊ ÍÉÎÉÍÕÍ -
-   ÜÔÏ ÏËÏÌÏ 1 ÍÅÇÁÂÁÊÔÁ. ðÏÄÒÏÂÎÏÓÔÉ Ï ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ É ÓÅÍÁÆÏÒÁÈ
-   ÓÍÏÔÒÉÔÅ × òÕËÏ×ÏÄÓÔ×Å ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ PostgreSQL.
-   
-    3.4) ëÏÇÄÁ Ñ ÐÙÔÁÀÓØ ÚÁÐÕÓÔÉÔØ postmaster, Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÉ
-    IpcSemaphoreCreate. ðÏÞÅÍÕ?
-    
-   åÓÌÉ ÜÔÏ ÓÏÏÂÝÅÎÉÅ IpcSemaphoreCreate: semget failed (No space left on
-   device) ÔÏ ÎÁÓÔÒÏÊËÉ ×ÁÛÅÇÏ ÑÄÒÁ ÔÁËÏ×Ù, ÞÔÏ ÅÍÕ ÎÅ È×ÁÔÁÅÔ ÓÅÍÁÆÏÒÏ×.
-   Postgres ÔÒÅÂÕÅÔ ÏÄÉΠÓÅÍÁÆÏÒ ÎÁ ÐÏÔÅÎÃÉÁÌØÎÙÊ backend ÐÒÏÃÅÓÓ.
-   ÷ÒÅÍÅÎÎÙÍ ÒÅÛÅÎÉÅÍ Ñ×ÌÑÅÔÓÑ ÚÁÐÕÓË postmaster Ó ÎÁÓÔÒÏÊËÁÍÉ ÎÁ ÍÅÛØÛÅÅ
-   ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ×. éÓÐÏÌØÚÕÊÔÅ -N Ó ÚÎÁÞÅÎÉÅÍ ÍÅÎØÛÉÍ ÞÅÍ
-   32, ËÏÔÏÒÏÅ ÐÒÉÎÑÔÏ ÐÏ ÕÍÏÌÞÁÎÉÀ. âÏÌÅÅ ÐÒÁ×ÉÌØÎÏÅ ÒÅÛÅÎÉÅ - ÜÔÏ
-   Õ×ÅÌÉÞÉÔØ ÚÎÁÞÅÎÉÑ SEMMNS É SEMMNI × ÎÁÓÔÒÊËÁÈ ÑÄÒÁ.
-   
-   îÅÉÓÐÒÁ×ÎÙÅ ÓÅÍÁÆÏÒÙ ÔÁËÖÅ ÍÏÇÕÔ ÐÒÉ×ÅÓÔÉ Ë ÐÁÄÅÎÉÀ óõâä ×Ï ×ÒÅÍÑ
-   ÄÏÓÔÕÐÁ Ë ÂÁÚÅ ÄÁÎÎÙÈ.
-   
-   åÓÌÉ ×Ù ÐÏÌÕÞÉÌÉ ËÁËÏÅ-ÌÉÂÏ ÄÒÕÇÏÅ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ, ÔÏ ×ÐÏÌÎÅ
-   ×ÏÚÍÏÖÎÏ, ÞÔÏ × ×ÁÛÅÍ ÑÄÒÅ ×ÏÏÂÝÅ ÎÅ ÎÁÓÔÒÏÅÎÁ ÐÏÄÄÅÒÖËÁ ÓÅÍÁÆÏÒÏ×.
-   óÍÏÔÒÉÔÅ ÐÏÄÒÏÂÎÏÓÔÉ Ï ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ É ÓÅÍÁÆÏÒÁÈ × òÕËÏ×ÏÄÓÔ×Å
-   áÄÍÉÎÉÓÔÒÁÔÏÒÁ PostgreSQL.
-   
-    3.5) ëÁË ÍÎÅ ÕÐÒÁ×ÌÑÔØ ÓÏÅÄÉÎÅÎÉÑÍÉ Ó ÄÒÕÇÉÈ ËÏÍÐØÀÔÅÒÏ×?
-    
-   ðÏ ÕÍÏÌÞÁÎÉÀ, PostgreSQL ÒÁÚÒÅÛÁÅÔ ÔÏÌØËÏ ÓÏÅÄÉÎÅÎÉÑ ÎÁ ÌÏËÁÌØÎÏÊ
-   ÍÁÛÉÎÅ ÞÅÒÅÚ ÓÏËÅÔÙ ÄÏÍÅÎÁ Unix. äÒÕÇÉÅ ÍÁÛÉÎÙ ÎÅ ÓÍÏÇÕÔ ÐÏÄËÌÀÞÉÔØÓÑ
-   Ë ÂÁÚÅ ÐÏËÁ ÄÌÑ postmaster ÎÅ ÂÕÄÅÔ ÚÁÄÁΠÆÌÁÇ -i É ÐÏËÁ ÎÅ ÂÕÄÅÔ
-   ÒÁÚÒÅÛÅÎÁ host-Á×ÔÏÒÉÚÁÃÉÑ × ÆÁÊÌÅ $PGDATA/pg_hba.conf. üÔÉ ÄÅÊÓÔ×ÉÑ
-   ÄÅÌÁÀÔ ×ÏÚÍÏÖÎÙÍÉ TCP/IP ÓÏÅÄÉÎÅÎÉÑ.
-   
-    3.6) ëÁËÉÅ ÎÁÓÔÒÏÊËÉ ÍÎÅ ÎÕÖÎÏ ÓÄÅÌÁÔØ ÄÌÑ ÕÌÕÞÛÅÎÉÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ?
-    
-   îÅÓÏÍÎÅÎÎÏ, ÉÎÄÅËÓÙ ÍÏÇÕÔ Õ×ÅÌÉÞÉÔØ ÓËÏÒÏÓÔØ ×ÙÐÏÌÎÅÎÉÑ ÚÁÐÒÏÓÏ×.
-   ëÏÍÁÎÄÁ EXPLAIN ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÐÏÓÍÏÔÒÅÔØ ËÁË PostgreSQL ÉÎÔÅÒÐÒÅÔÉÒÕÅÔ
-   ×ÁÛ ÚÁÐÒÏÓ É ËÁËÉÅ ÉÎÄÅËÓÙ ÉÓÐÏÌØÚÕÀÔÓÑ.
-   
-   åÓÌÉ ×Ù ×ÙÐÏÌÎÑÅÔÅ ÍÎÏÇÏ ÏÐÅÒÁÔÏÒÏ× INSERT, ÒÁÓÓÍÏÔÒÉÔÅ ×ÏÚÍÏÖÎÏÓÔØ
-   ×ÙÐÏÌÎÑÔØ ÉÈ × ÂÏÌØÛÏÊ ÐÁÞËÅ, ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ COPY. üÔÏ ÚÎÁÞÉÔÅÌØÎÏ
-   ÂÙÓÔÒÅÅ, ÞÅÍ ÏÔÄÅÌØÎÙÅ INSERT. ÷Ï-×ÔÏÒÙÈ, ÏÐÅÒÁÔÏÒÙ ×ÎÅ ÂÌÏËÁ
-   ÔÒÁÎÚÁËÃÉÉ BEGIN WORK/COMMIT ÓÁÍÉ ×ÙÐÏÌÎÑÀÔ ÔÒÁÎÚÁËÃÉÀ. ðÏÄÕÍÁÊÔÅ ÎÁÄ
-   ×ÙÐÏÌÎÅÎÉÅÍ ÎÅÓËÏÌØËÉÈ ÏÐÅÒÁÔÏÒÏ× × ÏÄÎÏÍ ÂÌÏËÅ ÔÒÁÎÚÁËÃÉÉ. üÔÏ
-   ÕÍÅÎØÛÉÔ ËÏÌÉÞÅÓÔ×Ï ÔÒÁÎÚÁËÃÉÊ. ôÁËÖÅ, ÚÁÄÕÍÁÊÔÅÓØ ÎÁÄ ÕÄÁÌÅÎÉÅÍ É
-   ÐÅÒÅÓÏÚÄÁÎÉÅÍ ÉÎÄÅËÓÏ×, ËÏÇÄÁ ×Ù ×ÙÐÏÌÎÑÅÔÅ ÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ ÄÁÎÎÙÈ.
-   
-   óÕÝÅÓÔ×ÕÅÔ ÎÅÓËÏÌØËÏ ÏÐÃÉÊ ÎÁÓÔÒÏÊËÉ. ÷Ù ÍÏÖÅÔÅ ÚÁÐÒÅÔÉÔØ fsync() ÐÒÉ
-   ÓÔÁÒÔÅ postmaster Ó ÏÐÃÉÅÊ -o -F. üÔÏ ÐÒÅÄÏÔ×ÒÁÔÉÔ ×ÙÚÏ×Ù fsync(),
-   ËÏÔÏÒÙÅ ÐÒÉ×ÏÄÑÔ Ë ÓÂÒÏÓÕ ÄÁÎÎÙÈ ÎÁ ÄÉÓË ÐÏÓÌÅ ËÁÖÄÏÊ ÔÒÁÎÚÁËÃÉÉ.
-   
-   ÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÌÑ postmaster ÏÐÃÉÀ -B ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ
-   ËÏÌÉÞÅÓÔ×Á ÂÕÆÅÒÏ× ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ, ËÏÔÏÒÁÑ ÉÓÐÏÌØÚÕÅÔÓÑ backend
-   ÐÒÏÃÅÓÓÁÍÉ. åÓÌÉ ×Ù ÓÄÅÌÁÅÔÅ ÚÎÁÞÅÎÉÅ ÜÔÏÇÏ ÐÁÒÁÍÅÔÒÁ ÓÌÉÛËÏÍ ÂÏÌØÛÉÍ,
-   ÔÏ postmaster ÍÏÖÅÔ ÎÅ ÚÁÐÕÓÔÉÔÓÑ ÐÏÔÏÍÕ ÞÔÏ ×Ù ÉÓÞÅÒÐÁÅÔÅ ÏÇÒÁÎÉÞÅÎÉÅ
-   ÑÄÒÁ ÎÁ ÏÂßÅÍ ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ. ëÁÖÄÙÊ ÂÕÆÅÒ ÉÍÅÅÔ ÒÁÚÍÅÒ × 8
-   ËÉÌÏÂÁÊÔ É ÐÏ ÕÍÏÌÞÁÎÉÀ ×ÙÄÅÌÑÅÔÓÑ 64 ÂÕÆÅÒÁ.
-   
-   ÷Ù ÍÏÖÅÔÅ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØ backend ÏÐÃÉÀ -S ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ
-   ÍÁËÓÉÍÁÌØÎÏÇÏ ËÏÌÉÞÅÓÔ×Á ÐÁÍÑÔÉ, ËÏÔÏÒÏÅ ÉÓÐÏÌØÚÕÅÔÓÑ backend
-   ÐÒÏÃÅÓÓÏÍ ÄÌÑ ×ÒÅÍÅÎÎÙÈ ÓÏÒÔÉÒÏ×ÏË. úÎÁÞÅÎÉÅ ÄÌÑ ÏÐÃÉÉ -S ÚÁÄÁÅÔÓÑ ×
-   ËÉÌÏÂÁÊÔÁÈ É ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁ×ÎÏ 512 (Ô.Å. 512K).
-   
-   ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ CLUSTER ÄÌÑ ÇÒÕÐÐÉÒÏ×ËÉ ÄÁÎÎÙÈ ×
-   ÔÁÂÌÉÃÁÈ ÎÁ ÓÏ×ÐÁÄÁÀÝÉÊ ÉÎÄÅËÓ. ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ ÎÁ ÓÔÒÁÎÉÃÅ
-   ÒÕËÏ×ÏÄÓÔ×Á ÐÏ ËÏÍÁÎÄÅ CLUSTER.
-   
-    3.7) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ × ÎÁÌÉÞÉÉ?
-    
-   PostgreSQL ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ×ÏÚÍÏÖÎÏÓÔÅÊ, ÐÏÚ×ÏÌÑÀÝÉÅ ÐÏÌÕÞÉÔØ
-   ÉÎÆÏÒÍÁÃÉÀ Ï ÓÏÓÔÏÑÎÉÉ, ËÏÔÏÒÁÑ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ × ÏÔÌÁÄÏÞÎÙÈ
-   ÃÅÌÑÈ.
-   
-   ÷Ï-ÐÅÒ×ÙÈ, ÐÒÉ ÚÁÐÕÓËÅ configure Ó ÏÐÃÉÅÊ --enable-cassert, ÍÎÏÇÉÅ
-   ×ÙÚÏ×Ù assert() ÐÏÚ×ÏÌÑÀÔ ÏÔÓÌÅÖÉ×ÁÔØ ÒÁÂÏÔÕ backend ÐÒÏÃÅÓÓÁ É
-   ÏÓÔÁÎÏ×ËÕ ÐÒÏÇÒÁÍÍÙ ÐÒÉ ×ÏÚÎÉËÎÏ×ÅÎÉÉ ËÁËÉÈ-ÌÉÂÏ ÎÅÏÖÉÄÁÎÎÏÓÔÅÊ.
-   
-   é postmaster, É postgres ÉÍÅÀÔ ÎÅÓËÏÌØËÏ ÏÔÌÁÄÏÞÎÙÈ ÏÐÃÉÊ. ÷Ï-ÐÅÒ×ÙÈ,
-   ÐÒÉ ÚÁÐÕÓËÅ postmaster, ÕÂÅÄÉÔÅÓØ, ÞÔÏ ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ É ×Ù×ÏÄ
-   ÏÛÉÂÏË ÏÓÕÝÅÓÔ×ÌÑÀÔÓÑ × ÆÁÊÌ ÖÕÒÎÁÌÁ:
+    3.1) Kak mne ustanovit' PostgreSQL v mesto otlichnoe ot /usr/local/pgsql?
+    
+   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?
+    
+   Po umolchaniyu, PostgreSQL razreshaet tol'ko soedineniya na lokal'noj
+   mashine cherez sokety domena Unix. Drugie mashiny ne smogut
+   podklyuchit'sya k baze poka dlya postmaster ne budet zadan flag -i i
+   poka ne budet razreshena host-avtorizaciya v fajle
+   $PGDATA/pg_hba.conf. `Eti dejstviya delayut vozmozhnymi TCP/IP
+   soedineniya.
+   
+    3.6) Kakie nastrojki mne nuzhno sdelat' dlya uluchsheniya
+    proizvoditel'nosti?
+    
+   Nesomnenno, indeksy mogut uvelichit' skorost' vypolneniya zaprosov.
+   Komanda EXPLAIN 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. 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' dlya postmaster opciyu -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 64 bufera.
+   
+   Vy mozhete takzhe ispol'zovat' backend opciyu -S dlya uvelicheniya
+   maksimal'nogo kolichestva pamyati, kotoroe ispol'zuetsya backend
+   processom dlya vremennyh sortirovok. Znachenie dlya opcii -S zadaetsya
+   v kilobajtah i po umolchaniyu ravno 512 (t.e. 512K).
+   
+   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?
+    
+   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 &
 
-   üÔÏ ÐÒÉ×ÅÄÅÔ Ë ÐÏÑ×ÌÅÎÉÀ ÆÁÊÌÁ server.log × ÇÌÁ×ÎÏÍ ËÁÔÁÌÏÇÅ
-   PostgreSQL. üÔÏÔ ÆÁÊÌ ÓÏÄÅÒÖÉÔ ÐÏÌÅÚÎÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÐÒÏÂÌÅÍÁÈ ÉÌÉ
-   ÏÛÉÂËÁÈ, ×ÏÚÎÉËÛÉÈ ÎÁ ÓÅÒ×ÅÒÅ. Postmaster ÉÍÅÅÔ ÏÐÃÉÀ -d, ËÏÔÏÒÁÑ
-   ÐÏÚ×ÏÌÑÅÔ ÐÏÌÕÞÁÔØ ÐÒÉ ÐÒÏÔÏËÏÌÉÒÏ×ÁÎÉÉ ÂÏÌÅÅ ÄÅÔÁÌØÎÕÀ ÉÎÆÒÍÁÃÉÀ. äÌÑ
-   ÏÐÃÉÉ -d ÕËÁÚÙ×ÁÅÔÓÑ ÞÉÓÌÏ, ËÏÔÏÒÏÅ ÚÁÄÁÅÔ ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ. âÕÄØÔÅ
-   ÏÓÔÏÒÏÖÎÙ, ÔÁË ËÁË ×ÙÓÏËÉÊ ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ ÐÒÉ×ÏÄÉÔ Ë ÇÅÎÅÒÁÃÉÉ ÆÁÊÌÏ×
-   ÖÕÒÎÁÌÁ ÂÏÌØÛÏÇÏ ÒÁÚÍÅÒÁ.
-   
-   åÓÌÉ postmaster ÎÅ ÚÁÐÕÝÅÎ, ×Ù ÍÏÖÅÔÅ ÚÁÐÕÓÔÉÔØ postgres backend ÉÚ
-   ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ É ××ÅÓÔÉ ×ÁÛ ÏÐÅÒÁÔÏÒ SQL ÎÁÐÒÑÍÕÀ. üÔÏ ÒÅËÏÍÅÎÄÕÅÔÓÑ
-   ÔÏÌØËÏ ÄÌÑ ÃÅÌÅÊ ÏÔÌÁÄËÉ. úÁÍÅÔÉÍ, ÞÔÏ × ÜÔÏÍ ÒÅÖÉÍÅ, ÚÁÐÒÏÓ
-   ÚÁ×ÅÒÛÁÅÔÓÑ ÓÉÍ×ÏÌÏÍ ÎÏ×ÏÊ ÓÔÒÏËÉ, Á ÎÅ ÔÏÞËÏÊ Ó ÚÁÐÑÔÏÊ. åÓÌÉ ×Ù
-   ÐÒÏÉÚ×ÏÄÉÌÉ ËÏÍÐÉÌÑÃÉÀ Ó ÏÔÌÁÄÏÞÎÙÍÉ ÓÉÍ×ÏÌÏÁÍÉ, ×Ù ÍÏÖÅÔÅ
-   ÉÓÐÏÌØÚÏ×ÁÔØ ÌÀÂÏÊ ÏÔÌÁÄÞÉË, ÞÔÏÂÙ ÐÏÓÍÏÔÒÅÔØ, ÞÔÏ ÓÌÕÞÉÌÏÓØ.
-   ðÏÓËÏÌØËÕ backend ÚÁÐÕÓËÁÅÔÓÑ ÎÅ ÉÚ postmaster, ÏΠÎÅ ÚÁÐÕÓËÁÅÔÓÑ ×
-   ÉÄÅÎÔÉÞÎÏÍ ÏËÒÕÖÅÎÉÉ É ÚÎÁÞÉÔ ÐÒÏÂÌÅÍÙ ÉÔÅÒÁÃÉÊ ÂÌÏËÉÒÏ×ÏË/backend ÎÅ
-   ÍÏÇÕÔ ÂÙÔØ ×ÏÓÐÒÏÉÚ×ÅÄÅÎÙ.
-   
-   åÓÌÉ postmaster ÚÁÐÕÝÅÎ, ÚÁÐÕÓÔÉÔÅ psql × ÏÄÎÏÍ ÏËÎÅ, ÚÁÔÅÍ ÎÁÊÄÉÔÅ
-   PID ÐÒÏÃÅÓÓÁ postgres, ÉÓÐÏÌØÚÕÅÍÙÊ psql. éÓÐÏÌØÚÕÊÔÅ ÏÔÄÁÄÞÉË ÄÌÑ
-   ÐÏÄËÌÀÞÅÎÉÑ Ë postgres PID. ÷Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ ÔÏÞËÉ ÐÒÅÒÙ×ÁÎÉÑ ×
-   ÏÔÌÁÄÞÉËÅ É ÚÁÐÕÓÔÉÔØ ÚÁÐÒÏÓ ÉÚ psql. åÓÌÉ ×Ù ÐÒÏÉÚ×ÏÄÉÔÅ ÏÔÌÁÄËÕ
-   ÚÁÐÕÓËÁ postgres, ×Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ PGOPTIONS="-W n", É ÚÁÔÅÍ
-   ÚÁÐÕÓÔÉÔØ psql. üÔÁ ÏÐÃÉÑ ÐÒÉ×ÏÄÉÔ Ë ÚÁÄÅÒÖËÅ ÐÒÏÃÅÓÓÁ ÚÁÐÕÓËÁ ÎÁ n
-   ÓÅËÕÎÄ, × ÔÅÞÅÎÉÅ ËÏÔÏÒÙÈ ×Ù ÍÏÖÅÔÅ ÐÏÄËÌÀÞÉÔØ Ë ÐÒÏÃÅÓÓÕ ÏÔÌÁÄÞÉË,
-   ÕÓÔÁÎÏ×ÉÔØ ÌÀÂÙÅ ÔÏÞËÉ ÐÒÅÒÙ×ÁÎÉÑ É ÐÒÏÄÏÌÖÉÔØ ÚÁÐÕÓË.
-   
-   ðÒÏÇÒÁÍÍÁ postgres ÉÍÅÅÔ ÏÐÃÉÉ -s, -A, É -t ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÏÞÅÎØ
-   ÐÏÌÅÚÎÙÍÉ ÄÌÑ ÏÔÌÁÄËÉ É ÉÚÍÅÒÅÎÉÑ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.
-   
-   ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÓËÏÍÐÉÌÉÒÏ×ÁÔØ PostgreSQL Ó ÐÒÏÆÉÌÉÒÏ×ÁÎÉÅÍ ÄÌÑ ÔÏÇÏ,
-   ÞÔÏÂÙ Õ×ÉÄÅÔØ ËÁËÉÅ ÆÕÎËÃÉÉ ÓËÏÌØËÏ ×ÒÅÍÅÎÉ ×ÙÐÏÌÎÑÀÔÓÑ. æÁÊÌÙ
-   ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ backend'Á ÎÁÈÏÄÑÔÓÑ × ËÁÔÁÌÏÇÅ pgsql/data/base/dbname.
-   æÁÊÌ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ ËÌÉÅÎÔÁ ÂÕÄÅÔ ÐÏÍÅÝÅΠנÔÅËÕÝÉÊ ËÁÔÁÌÏÇ ËÌÉÅÎÔÁ. ÷
-   Linux ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ ÔÒÅÂÕÅÔÓÑ ËÏÍÐÉÌÑÃÉÉ Ó
-   -DLINUX_PROFILE.
-   
-    3.8) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ "Sorry, too many clients" ËÏÇÄÁ ÐÙÔÁÀÓØ
-    ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ?
-    
-   ÷ÁÍ ÎÕÖÎÏ Õ×ÅÌÉÞÉÔØ ÏÇÒÁÎÉÞÅÎÉÅ ÎÁ ËÏÌÉÞÅÓÔ×Ï ËÏÎËÕÒÅÔÎÙÈ backend
-   ÐÒÏÃÅÓÓÏ× ÐÒÉ ÚÁÐÕÓËÅ postmaster.
-   
-   ðÏ ÕÍÏÌÞÁÎÉÀ ÕÓÔÁÎÏ×ÌÅΠÌÉÍÉÔ ÎÁ 32 ÐÒÏÃÅÓÓÁ. ÷Ù ÍÏÖÅÔÅ Õ×ÅÌÉÞÉÔØ ÜÔÏÔ
-   ÌÉÍÉÔ ÐÅÒÅÚÁÐÕÓÔÉ× postmaster Ó ÎÕÖÎÙÍ ÚÎÁÞÅÎÉÅÍ ÐÒÏÃÅÓÓÏ×, ËÏÔÏÒÏÅ
-   ÕËÁÚÙ×ÁÅÔÓÑ × ÏÐÃÉÉ -N ÉÌÉ ÉÚÍÅÎÉ× ÆÁÊÌ postgresql.conf.
-   
-   úÁÍÅÔÉÍ, ÞÔÏ ÅÓÌÉ ×Ù ÚÁÄÁÄÉÔÅ × ÏÐÃÉÉ -N ÚÎÁÞÅÎÉÅ ÂÏÌØÛÅ 32, ÔÏ ×Ù
-   ÔÁËÖÅ ÄÏÌÖÎÙ Õ×ÅÌÉÞÉÔØ ÚÎÁÞÅÎÉÅ × ÏÐÃÉÉ -B ËÏÔÏÒÏÅ ÐÏ ÕÍÏÌÞÁÎÉÀ
-   ÕÓÔÁÎÏ×ÌÅÎÏ × 64; úÎÁÞÅÎÉÅ ÏÐÃÉÉ -B ÄÏÌÖÎÏ ÂÙÔØ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ×Ä×ÏÅ
-   ÂÏÌØÛÅ ÚÎÁÞÅÎÉÑ ÏÐÃÉÉ -N, É ×ÏÚÍÏÖÎÏ ÅÝ£ ÂÏÌØÛÅ ÄÌÑ ÌÕÞÛÅÊ
-   ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ. äÌÑ ÂÏÌØÛÅÇÏ ËÏÌÉÞÅÓÔ×Á backend ÐÒÏÃÅÓÓÏ×, ×ÁÍ
-   ÔÁËÖÅ ÎÅÐÌÏÈÏ ÂÙÌÏ ÂÙ Õ×ÅÌÉÞÉÔØ ÎÅËÏÔÏÒÙÅ ÐÁÒÁÍÅÔÒÙ ÑÄÒÁ Unix. üÔÏ
-   ÔÁËÉÅ ÐÁÒÁÍÅÔÒÙ, ËÁË ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÂÌÏËÏ× ÒÁÚÄÅÌÑÅÍÏÊ
-   ÐÁÍÑÔÉ, SHMMAX; ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÓÅÍÁÆÏÒÏ×, SEMMNS É SEMMNI;
-   ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÐÒÏÃÅÓÓÏ×, NPROC; ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï
-   ÐÒÏÃÅÓÓÏ× ÎÁ ÐÏÌØÚÏ×ÁÔÅÌÑ, MAXUPRC; É ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÏÔËÒÙÔÙÈ
-   ÆÁÊÌÏ×, NFILE É NINODE. ðÒÉÞÉÎÁ ÓÏÚÄÁÎÉÑ ÏÇÒÁÎÉÞÅÎÉÑ ÎÁ ËÏÌÉÞÅÓÔ×Ï
-   backend ÐÒÏÃÅÓÓÏ× ËÁË ÒÁÚ É ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏÂÙ ×ÁÛÅÊ ÓÉÓÔÅÍÅ È×ÁÔÉÌÏ
-   ÒÅÓÕÒÓÏ×.
-   
-   ÷ PostgreSQL ÄÏ ×ÅÒÓÉÉ 6.5, ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ×
-   ÂÙÌÏ 64, É ÉÚÍÅÎÅÎÉÅ ÜÔÏÇÏ ËÏÌÉÞÅÓÔ×Á ÔÒÅÂÏ×ÁÌÏ ÐÅÒÅËÏÍÐÉÌÑÃÉÉ ÐÏÓÌÅ
-   ÕÓÔÁÎÏ×ËÉ ËÏÎÓÔÁÎÔÙ MaxBackendId × include/storage/sinvaladt.h.
-   
-    3.9) þÔÏ ÜÔÏ ÚÁ ÆÁÊÌÙ pg_sorttempNNN.NN × ÍÏÅÍ ËÁÔÁÌÏÇÅ Ó ÂÁÚÏÊ ÄÁÎÎÙÈ?
-    
-   üÔÏ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ, ÇÅÎÅÒÉÒÕÅÍÙÅ ×Ï ×ÒÅÍÑ ×ÙÐÏÌÎÅÎÉÑ ÚÁÐÒÏÓÁ.
-   îÁÐÒÉÍÅÒ, ÅÓÌÉ ÄÌÑ ÏÐÅÒÁÔÏÒÁ ORDER BY ÄÏÌÖÎÁ ÂÙÔØ ×ÙÐÏÌÎÅÎÁ
-   ÓÏÒÔÉÒÏ×ËÁ, ËÏÔÏÒÁÑ ÔÒÅÂÕÅÔ ÂÏÌØÛÅ ÍÅÓÔÁ ÞÅÍ ×ÙÄÅÌÅÎÎÏ ÄÌÑ backend
-   ÐÒÏÃÅÓÓÁ × ÏÐÃÉÉ -S, ÔÏ ÓÏÚÄÁÅÔÓÑ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ ÄÌÑ ÈÒÁÎÅÎÉÑ
-   ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÄÁÎÎÙÈ.
-   
-   ÷ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ ÄÏÌÖÎÙ ÕÄÁÌÑÔØÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÎÏ ÜÔÏÇÏ ÍÏÖÅÔ ÎÅ
-   ÐÒÏÉÓÈÏÄÉÔØ, ÅÓÌÉ backend ÐÒÏÃÅÓÓ ÐÁÄÁÅÔ ×Ï ×ÒÅÍÑ ÓÏÒÔÉÒÏ×ËÉ. åÓÌÉ Õ
-   ×ÁÓ ÎÅ ÚÁÐÕÝÅÎÏ ÎÉ ÏÄÎÏÇÏ backend ÐÒÏÃÅÓÓÁ, ÔÏ ×Ù ÍÏÖÅÔÅ ÓÐÏËÏÊÎÏ
-   ÕÄÁÌÉÔØ ÆÁÊÌÙ pg_tempNNN.NN.
-   3.10) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ×ÙÐÕÓËÏ×
-   PostgreSQL?
+   `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.
+   
+   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,
+   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'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.
+   
+   Vy takzhe mozhete skompilirovat' PostgreSQL s profilirovaniem dlya
+   togo, chtoby uvidet' kakie funkcii skol'ko vremeni vypolnyayutsya.
+   Fajly profilirovaniya backend'a nahodyatsya v kataloge
+   pgsql/data/base/dbname. Fajl profilirovaniya klienta budet pomeschen v
+   tekuschij katalog klienta. V Linux dlya vypolneniya profilirovaniya
+   trebuetsya kompilyacii s -DLINUX_PROFILE.
+   
+    3.8) 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.
+   
+   V PostgreSQL do versii 6.5, maksimal'noe kolichestvo backend processov
+   bylo 64, i izmenenie `etogo kolichestva trebovalo perekompilyacii
+   posle ustanovki konstanty MaxBackendId v include/storage/sinvaladt.h.
+   
+    3.9) CHto nahoditsya v kataloge pgsql_tmp?
+    
+   Dannyj katalog soderzhit vremennye fajly, generiruemye obrabotchikom
+   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.
    
-   òÁÚÒÁÂÏÔÞÉËÉ PostgreSQL ÄÅÌÁÀÔ ÔÏÌØËÏ ÎÅÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ ÍÅÖÄÕ
-   ÐÏÄ×ÙÐÕÓËÁÍÉ. ôÁËÉÍ ÏÂÒÁÚÏÍ ÏÂÎÏ×ÌÅÎÉÅ Ó ×ÅÒÓÉÉ 7.2 ÄÏ 7.2.1 ÎÅ
-   ÔÒÅÂÕÅÔ ×ÙÐÏÌÎÅÎÉÑ dump É restore. ïÄÎÁËÏ ÐÒÉ ×ÙÈÏÄÅ ÏÞÅÒÅÄÎÏÇÏ
-   ×ÙÐÕÓËÁ ÞÁÓÔÏ ÍÅÎÑÅÔÓÑ ×ÎÕÔÒÅÎÎÉÊ ÆÏÒÍÁÔ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉàɠÆÁÊÌÏ×
-   ÄÁÎÎÙÈ. üÔÉ ÉÚÍÅÎÅÎÉÑ ÞÁÓÔÏ ÎÏÓÑÔ ËÏÍÐÌÅËÓÎÙÊ ÈÁÒÁËÔÅÒ, ÔÁË ÞÔÏ ÎÅÔ
-   ×ÏÚÍÏÖÎÏÓÔÉ ÏÂÅÓÐÅÞÉÔØ ÏÂÒÁÔÎÕÀ ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÆÁÊÌÏ× ÄÁÎÎÙÈ. ÷ÙÐÏÌÅÎÉÅ
-   dump ÐÏÚ×ÏÌÑÅÔ ÐÏÌÕÞÉÔØ ÄÁÎÎÙÅ × ÏÂÝÅÍ ÆÏÒÍÁÔÅ, ËÏÔÏÒÙÊ ÚÁÔÅÍ ÍÏÖÅÔ
-   ÂÙÔØ ÚÁÇÒÕÖÅΠÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÎÏ×ÏÇÏ ×ÎÕÔÒÅÎÎÅÇÏ ÆÏÒÍÁÔÁ.
-   
-   ÷ ÔÅÈ ×ÙÐÕÓËÁÈ, ÇÄÅ ÆÏÒÍÁÔ ÄÁÎÎÙÈ ÎÁ ÄÉÓËÅ ÎÅ ÍÅÎÑÅÔÓÑ, ÄÌÑ ÐÒÏ×ÅÄÅÎÉÑ
-   ÏÂÎÏ×ÌÅÎÉÑ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁΠÓÃÅÎÁÒÉÊ pg_upgrade ÂÅÚ
-   ÉÓÐÏÌØÚÏ×ÁÎÉÑ dump/restore. ëÏÍÍÅÎÔÁÒÉÉ Ë ×ÙÐÕÓËÕ ÇÏ×ÏÒÉÔ ËÏÇÄÁ ÍÏÖÎÏ
-   ÉÓÐÏÌØÚÏ×ÁÔØ pg_upgrade ÄÌÑ ÜÔÏÇÏ ×ÙÐÕÓËÁ.
+    3.10) 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
+   trebuet vypolneniya dump i restore. Odnako pri vyhode ocherednogo
+   vypuska (t.e. pri obnovlenii naprimer, s 7.2 na 7.3) 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
+   pozvolyaet poluchit' dannye v obschem formate, kotoryj zatem mozhet
+   byt' zagruzhen pri ispol'zovanii novogo vnutrennego formata.
+   
+   V teh vypuskah, gde format dannyh na diske ne menyaetsya, dlya
+   provedeniya obnovleniya mozhet byt' ispol'zovan scenarij pg_upgrade
+   bez ispol'zovaniya dump/restore. Kommentarii k vypusku govorit kogda
+   mozhno ispol'zovat' pg_upgrade dlya `etogo vypuska.
      _________________________________________________________________
    
-                            ÷ÏÐÒÏÓÙ ÜËÓÐÌÕÁÔÁÃÉÉ
+                           Voprosy `ekspluatacii
                                       
-    4.1) ÷ ÞÅÍ ÏÔÌÉÞÉÅ ÍÅÖÄÕ ÂÉÎÁÒÎÙÍ É ÎÏÒÍÁÌØÎÙÍ ËÕÒÓÏÒÏÍ?
+    4.1) V chem otlichie mezhdu binarnym i normal'nym kursorom?
     
-   óÍÏÔÒÉÔÅ ÏÐÉÓÁÎÉÅ ÎÁ ÓÔÒÁÎÉÃÁÈ ÒÕËÏ×ÏÄÓÔ×Á ÐÏÓ×ÑÝÅÎÎÙÍ DECLARE.
+   Smotrite opisanie na stranicah rukovodstva posvyaschennym DECLARE.
    
-    4.2) ëÁË ×ÙÐÏÌÎÉÔØ SELECT ÔÏÌØËÏ ÄÌÑ ÎÅÓËÏÌØËÉÈ ÐÅÒ×ÙÈ ÓÔÒÏÞÅË ÚÁÐÒÏÓÁ?
+    4.2) Kak vypolnit' SELECT tol'ko dlya neskol'kih pervyh strochek zaprosa?
     
-   óÍÏÔÒÉÔÅ ÓÔÁÎÉÃÕ ÒÕËÏ×ÏÄÓÔ×Á ÐÏÓ×ÑÝÅÎÎÕÀ FETCH ÉÌÉ ÉÓÐÏÌØÚÕÊÔÅ SELECT
-   ... LIMIT....
+   Smotrite stanicu rukovodstva posvyaschennuyu FETCH ili ispol'zujte
+   SELECT ... LIMIT....
    
-   äÁÖÅ ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÏÌÕÞÉÔØ ÔÏÌØËÏ ÐÅÒ×ÙÅ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ, ÂÕÄÅÔ
-   ×ÙÐÏÌÎÅΠ×ÅÓØ ÚÁÐÒÏÓ. òÁÓÓÍÏÔÒÉÍ ÚÁÐÒÏÓ, ËÏÔÏÒÙÊ ÉÍÅÅÔ ORDER BY. åÓÌÉ
-   ÅÓÔØ ËÁËÏÊ-ÌÉÂÏ ÉÎÄÅËÓ, ËÏÔÏÒÙÊ ÓÏ×ÐÁÄÁÅÔ Ó ORDER BY, PostgreSQL ÍÏÖÅÔ
-   ×ÙÄÁÔØ ÔÏÌØËÏ ÎÅÓËÏÌØËÏ ÐÅÒ×ÙÈ ÚÁÐÒÏÛÅÎÎÙÈ ÚÁÐÉÓÅÊ ÉÌÉ ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØ
-   ÚÁÐÒÏÓ ÐÏËÁ ÎÅ ÂÕÄÕÔ ×ÙÄÁÎÙ ÖÅÌÁÅÍÙÅ ÚÁÐÉÓÉ.
+   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.
    
-    4.3) ëÁË ÐÏÌÕÞÉÔØ ÓÐÉÓÏË ÔÁÂÌÉàÉÌÉ ÄÒÕÇÉÈ ËÏÍÐÏÎÅÎÔÏ× × psql?
+    4.3) Kak poluchit' spisok tablic ili drugih komponentov v psql?
     
-   ÷Ù ÍÏÖÅÔÅ ÐÏÓÍÏÔÒÅÔØ ÉÓÈÏÄÎÙÊ ËÏÄ psql × ÆÁÊÌÅ
-   pgsql/src/bin/psql/describe.c. ïΠÓÏÄÅÒÖÉÔ ËÏÍÁÎÄÙ SQL ËÏÔÏÒÙÅ
-   ÇÅÎÅÒÉÒÕÀÔÓÑ ÐÒÉ ××ÏÄÅ × psql ËÏÍÁÎÄ, ÎÁÞÉÎÁÀÝÉÈÓÑ Ó ÏÂÒÁÔÎÏÊ ËÏÓÏÊ
-   ÞÅÒÔÙ. ÷Ù ÔÁËÖÅ ÍÏÅÖÅÔÅ ÚÁÐÕÓÔÉÔØ psql Ó ÏÐÃÉÅÊ -E ÔÁË, ÞÔÏÂÙ ÜÔÁ
-   ÐÒÏÇÒÁÍÍÁ ×ÙÄÁ×ÁÌÁ ÚÁÐÒÏÓÙ, ËÏÔÏÒÙÅ ÏÎÁ ÉÓÐÏÌØÚÕÅÔ ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ
-   ÚÁÄÁÎÎÙÈ ×ÁÍÉ ËÏÍÁÎÄ.
-   
-    4.4) ëÁË ÕÄÁÌÉÔØ ËÏÌÏÎËÕ ÉÚ ÔÁÂÌÉÃÙ?
+   Vy mozhete posmotret' ishodnyj kod psql v fajle
+   pgsql/src/bin/psql/describe.c. On soderzhit komandy SQL kotorye
+   generiruyutsya pri vvode v psql komand, nachinayuschihsya s obratnoj
+   kosoj cherty. Vy takzhe moezhete zapustit' psql s opciej -E tak,
+   chtoby `eta programma vydavala zaprosy, kotorye ona ispol'zuet dlya
+   vypolneniya zadannyh vami komand.
+   
+    4.4) Kak udalit' kolonku iz tablicy?
     
-   íÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÍ ALTER TABLE DROP COLUMN, ÎÏ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÔÁË:
+   `Eta 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 ...  -- ×ÙÂÏÒËÁ ×ÓÅÈ ËÏÌÏÎÏË ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÔÏÊ, ËÏÔÏÒÕÀ ÈÏÔÉÔÅ ÕÄÁÌ
-ÉÔØ
+    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;
 
-    4.5) ëÁËÏ×Ù ÍÁËÓÉÍÁÌØÎÙÅ ÒÁÚÍÅÒÙ ÄÌÑ ÚÁÐÉÓÅÊ, ÔÁÂÌÉàɠÂÁÚÙ ÄÁÎÎÙÈ?
-    
-   óÕÝÅÓÔ×ÕÀÔ ÓÌÅÄÕÀÝÉÅ ÏÇÒÁÎÉÞÅÎÉÑ:
-    íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÂÁÚÙ?              ÎÅÏÇÒÁÎÉÞÅΠ(ÓÕÝÅÓÔ×ÕÀÔ ÂÁÚÙ ÎÁ 1 TB
-)
-    íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ?           16 TB
-    íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÚÁÐÉÓÉ?            1.6 TB
-    íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÐÏÌÑ?              1 GB
-    íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÚÁÐÉÓÅÊ × ÔÁÂÌÉÃÅ?      ÎÅÏÇÒÁÎÉÞÅÎÏ
-    íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ËÏÌÏÎÏË × ÔÁÂÌÉÃÅ?    250-1600 × ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ÔÉÐ
-    íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÎÄÅËÓÏ× × ÔÁÂÌÉÃÅ?   ÎÅÏÇÒÁÎÉÞÅÎÏ
+    4.5) Kakovy maksimal'nye razmery dlya zapisej, tablic i bazy dannyh?
+    
+   Suschestvuyut sleduyuschie ogranicheniya:
+    Maksimal'nyj razmer bazy?              neogranichen (suschestvuyut bazy na
+1 TB)
+    Maksimal'nyj razmer tablicy?           16 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 ti
+pa
+    Maksimal'noe kolichestvo indeksov v tablice?   neogranicheno
 
-   òÁÚÕÍÅÅÔÓÑ, ÐÏÎÑÔÉÅ "ÎÅÏÇÒÁÎÉÞÅÎÏ" ÎÁ ÓÁÍÏÍ ÄÅÌÅ ÏÇÒÁÎÉÞÉ×ÁÅÔÓÑ
-   ÄÏÓÔÕÐÎÙÍ ÄÉÓËÏ×ÙÍ ÐÒÏÓÔÒÁÎÉÓÔ×ÏÍ É ÒÁÚÍÅÒÁÍÉ ÐÁÍÑÔÉ/Ó×ÏÐÐÉÎÇÁ. ëÏÇÄÁ
-   ÚÎÁÞÅÎÉÑ ÐÅÒÅÞÉÓÌÅÎÎÙÅ ×ÙÛÅ ÎÅÏÐÒÁ×ÄÁÎÏ ÂÏÌØÛÉÅ, ÍÏÖÅÔ ÐÏÓÔÒÁÄÁÔØ
-   ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ.
-   
-   íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ × 16 TB ÎÅ ÔÒÅÂÕÅÔ ÞÔÏÂÙ ÏÐÅÒÁÃÉÏÎÎÁÑ
-   ÓÉÓÔÅÍÁ ÐÏÄÄÅÒÖÉ×ÁÌÁ ÆÁÊÌÙ ÂÏÌØÛÉÈ ÒÁÚÍÅÒÏ×. âÏÌØÛÉÅ ÔÁÂÌÉÃÙ ÈÒÁÎÑÔÓÑ
-   ËÁË ÍÎÏÖÅÓÔ×Ï ÆÁÊÌÏ× ÒÁÚÍÅÒÏÍ × 1 GB, ÔÁË ÞÔÏ ÏÇÒÁÎÉÞÅÎÉÑ, ËÏÔÏÒÙÅ
-   ÎÁËÌÁÄÙ×ÁÅÔ ÆÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ ÎÅ ×ÁÖÎÙ.
-   
-   íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ É ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ËÏÌÏÎÏË ÍÏÇÕÔ
-   ÂÙÔØ Õ×ÅÌÉÞÅÎÙ, ÅÓÌÉ ÒÁÚÍÅÒ ÂÌÏËÁ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÕÄÅÔ Õ×ÅÌÉÞÅΠÄÏ 32k.
-   
-    4.6) ëÁË ÍÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÂÁÚÅ ÄÁÎÎÙÈ ÎÕÖÎÏ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ
-    ÄÁÎÎÙÈ ÉÚ ÏÂÙÞÎÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ?
-    
-   óõâä PostgreSQL ÍÏÖÅÔ ÐÏÔÒÅÂÏ×ÁÔØÓÑ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á ÄÏ 5 ÒÁÚ
-   ÂÏÌØÛÅ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÄÁÎÎÙÈ ÉÚ ÐÒÏÓÔÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ.
-   
-   ÷ ËÁÞÅÓÔ×Å ÐÒÉÍÅÒÁ, ÒÁÓÓÍÏÔÒÉÍ ÆÁÊÌ × 100,000 ÓÔÒÏË × ËÁÖÄÏÊ, ÉÚ
-   ËÏÔÏÒÙÈ ÃÅÌÏÅ ÞÉÓÌÏ É ÔÅËÓÔÏ×ÏÅ ÏÐÉÓÁÎÉÅ. ðÒÉ ÜÔÏÍ ÄÌÉÎÁ ÔÅËÓÔÁ, ×
-   ÓÒÅÄÎÅÍ, ÓÏÓÔÁ×ÌÑÅÔ 20 ÂÁÊÔ. òÁÚÍÅÒ ÐÒÏÓÔÏÇÏ ÆÁÊÌÁ ÓÏÓÔÁ×ÉÔ 2.8 MB.
-   òÁÚÍÅÒ ÂÁÚÙ PostgreSQL, ÓÏÄÅÒÖÁÝÅÊ ÜÔÉ ÖÅ ÄÁÎÎÙÅ ÓÏÓÔÁ×ÉÔ
-   ÐÒÉÂÌÉÚÉÔÅÌØÎÏ 6.4 MB ÉÚ ËÏÔÏÒÙÈ:
-    36 ÂÁÊÔ: ÎÁ ËÁÖÄÙÊ ÚÁÇÏÌÏ×ÏË ÚÁÐÉÓÉ (ÐÒÉÂÌÉÚÉÔÅÌØÎÏ)
-  + 24 ÂÁÊÔÁ: ÏÄÎÏ ÐÏÌÅ Ó ÃÅÌÏÞÉÓÌÅÎÎÙÍ ÔÉÐÏÍ É ÏÄÎÏ ÔÅËÓÔÏ×ÏÅ ÐÏÌÅ
-   + 4 ÂÁÊÔÁ: ÕËÁÚÁÔÅÌØ ÎÁ ÓÔÒÁÎÉÃÅ ÄÌÑ ×ÓÅÊ ÚÁÐÉÓÉ
+   Razumeetsya, ponyatie "neogranicheno" na samom dele ogranichivaetsya
+   dostupnym diskovym prostranistvom i razmerami pamyati/svoppinga. Kogda
+   znacheniya perechislennye vyshe neopravdano bol'shie, mozhet
+   postradat' proizvoditel'nost'.
+   
+   Maksimal'nyj razmer tablicy v 16 TB ne trebuet chtoby operacionnaya
+   sistema podderzhivala fajly bol'shih razmerov. Bol'shie tablicy
+   hranyatsya kak mnozhestvo fajlov razmerom v 1 GB, tak chto
+   ogranicheniya, kotorye nakladyvaet fajlovaya sistema ne vazhny.
+   
+   Maksimal'nyj razmer tablicy i maksimal'noe kolichestvo kolonok mogut
+   byt' uvelicheny, esli razmer bloka po umolchaniyu budet uvelichen do
+   32k.
+   
+    4.6) 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
+   bol'she dlya sohraneniya dannyh iz prostogo tekstovogo fajla.
+   
+   V kachestve primera, rassmotrim fajl v 100,000 strok v kazhdoj, iz
+   kotoryh celoe chislo i tekstovoe opisanie. Pri `etom dlina teksta, v
+   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:
+    36 bajt: na kazhdyj zagolovok zapisi (priblizitel'no)
+  + 24 bajta: odno pole s celochislennym tipom i odno tekstovoe pole
+   + 4 bajta: ukazatel' na stranice dlya vsej zapisi
    ----------------------------------------
-    64 ÂÁÊÔ ÎÁ ÚÁÐÉÓØ
+    64 bajt na zapis'
 
-   òÁÚÍÅÒ ÓÔÒÁÎÉÃÙ ÄÁÎÎÙÈ × PostgreSQL ÓÏÓÔÁ×ÌÑÅÔ 8192 ÂÁÊÔ (8 KB), ÔÁË ÞÔÏ:
+   Razmer stranicy dannyh v PostgreSQL sostavlyaet 8192 bajt (8 KB), tak chto:
 
-   8192 ÂÁÊÔ ÎÁ ÓÔÒÁÎÉÃÕ
-   -------------------   =  128 ÚÁÐÉÓÅÊ ÎÁ ÓÔÒÁÎÉÃÕ âä (Ó ÏËÒÕÇÌÅÎÉÅÍ)
-     64 ÂÁÊÔ ÎÁ ÚÁÐÉÓØ
+   8192 bajt na stranicu
+   -------------------   =  128 zapisej na stranicu BD (s okrugleniem)
+     64 bajt na zapis'
 
-   100000 ÓÔÒÏË ÄÁÎÎÙÈ
-   --------------------  =  782 ÓÔÒÁÎÉÃÙ × âä
-  128 ÚÁÐÉÓÅÊ ÎÁ ÓÔÒÁÎÉÃÕ
+   100000 strok dannyh
+   --------------------  =  782 stranicy v BD
+  128 zapisej na stranicu
 
-782 ÓÔÒÁÎÉÃÙ âä * 8192 ÂÁÊÔ ÎÁ ÓÔÒÁÎÉÃÕ  =  6,406,144 ÂÁÊÔ (6.4 MB)
+782 stranicy BD * 8192 bajt na stranicu  =  6,406,144 bajt (6.4 MB)
 
-   éÎÄÅËÓÙ ÎÅ ÔÒÅÂÕÀÔ ÔÁË ÍÎÏÇÏ, ÎÏ ÐÏÓËÏÌØËÕ ÏÎÉ ÓÏÚÄÁÀÔÓÑ ÄÌÑ ÂÏÌØÛÏÇÏ
-   ËÏÌÉÞÅÓÔ×Á ÄÁÎÎÙÈ, ÏÎÉ ÔÁËÖÅ ÍÏÇÕÔ ÂÙÔØ ×ÅÌÉËÉ.
-   
-   úÎÁÞÅÎÉÑ NULL ÓÏÈÒÁÎÑÀÔÓÑ × ÂÉÔÁÈ É ÐÏÜÔÏÍÕ ÏÎÉ ÚÁÎÉÍÁÀÔ ÏÞÅÎØ ÍÁÌÏ
-   ÍÅÓÔÁ.
-   
-    4.7) ëÁË ÍÎÅ ÕÂÅÄÉÔØÓÑ, ÞÔÏ ÓÕÝÅÓÔ×ÕÀÔ ÎÕÖÎÙÅ ÍÎÅ ÔÁÂÌÉÃÙ, ÉÎÄÅËÓÙ, ÂÁÚÙ
-    ÄÁÎÎÙÈ É ÐÏÌØÚÏ×ÁÔÅÌÉ?
-    
-   psql ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ËÏÍÁÎÄ, ÎÁÞÉÎÁÀÝÉÈÓÑ Ó ÏÂÒÁÔÎÏÊ ËÏÓÏÊ ÞÅÒÔÙ, ÄÌÑ
-   ÔÏÇÏ ÞÔÏÂÙ ÐÒÏÓÍÁÔÒÉ×ÁÔØ ÔÁËÕÀ ÉÎÆÏÒÍÁÃÉÀ. éÓÐÏÌØÚÕÊÔÅ \? ÄÌÑ ÔÏÇÏ,
-   ÞÔÏÂÙ Õ×ÉÄÅÔØ ÜÔÉ ËÏÍÁÎÄÙ. ôÁËÖÅ ÓÕÝÅÓÔ×ÕÀÔ ÓÉÓÔÅÍÎÙÅ ÔÁÂÌÉÃÙ, ÉÍÑ
-   ËÏÔÏÒÙÈ ÎÁÞÉÎÁÅÔÓÑ ÎÁ pg_ É × ËÏÔÏÒÙÈ ÔÁËÖÅ ÓÏÄÅÒÖÉÔÓÑ ÜÔÁ ÉÎÆÏÒÍÁÃÉÑ.
-   åÝ£, psql -l ÐÏËÁÖÅÔ ÓÐÉÓÏË ×ÓÅÈ ÂÁÚ ÄÁÎÎÙÈ.
-   
-   ôÁËÖÅ ÓÍÏÔÒÉÔÅ ÆÁÊÌ pgsql/src/tutorial/syscat.source. ÷ ÎÅÍ
-   ÐÒÅÄÓÔÁ×ÌÅÎÙ ÍÎÏÇÉÅ ÏÐÅÒÁÔÏÒÙ SELECT ËÏÔÏÒÙÅ ÎÕÖÎÙ ÄÌÑ ÐÏÌÕÞÅÎÉÑ
-   ÉÎÆÏÒÍÁÃÉÉ ÉÚ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉàÂÁÚÙ ÄÁÎÎÙÈ.
-   
-    4.8) õ ÍÅÎÑ ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÀÔ ÚÁÐÒÏÓÙ ÉÌÉ ÎÅ ÐÒÏÉÓÈÏÄÉÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ
-    ÉÎÄÅËÓÏ×. ðÏÞÅÍÕ?
-    
-   éÎÄÅËÓÙ ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ ËÁÖÄÏÇÏ ÚÁÐÒÏÓÁ Á×ÔÏÍÁÔÉÞÅÓËÉ. ïÎÉ
-   ÉÓÐÏÌØÚÕÀÔÓÑ ÔÏÌØËÏ ÅÓÌÉ ÔÁÂÌÉÃÁ ÂÏÌØÛÅ ÍÉÎÉÍÁÌØÎÏÇÏ ÒÁÚÍÅÒÁ É ÚÁÐÒÏÓ
-   ×ÙÂÉÒÁÅÔ ÔÏÌØËÏ ÍÁÌÅÎØËÉÊ ÐÒÏÃÅÎÔ ÚÁÐÉÓÅÊ × ÔÁÂÌÉÃÅ. ôÁË ÕÓÔÒÏÅÎÏ,
-   ÐÏÔÏÍÕ ÞÔÏ ÄÏÓÔÕРˠÄÉÓËÕ Ó ÐÒÉÍÅÎÅÎÉÅÍ ÒÁÎÄÏÍÉÚÁÃÉÉ ÐÒÉ ÓËÁÎÉÒÏ×ÁÎÉÉ
-   ÉÎÄÅËÓÏ× ÍÏÖÅÔ ÂÙÔØ ÍÅÄÌÅÎÎÅÅ, ÞÅÍ ÐÒÏÓÔÏÅ ÞÔÅÎÉÅ ÔÁÂÌÉÃÙ ÉÌÉ ÅÅ
-   ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÅ ÓËÁÎÉÒÏ×ÁÎÉÅ.
-   
-   þÔÏÂÙ ÏÐÒÅÄÅÌÉÔØ ÎÅÏÂÈÏÄÉÍÏÓÔØ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÉÎÄÅËÓÁ ÄÌÑ ËÁËÏÊ-ÌÉÂÏ
-   ÔÁÂÌÉÃÙ, PostgreSQL ÄÏÌÖÅΠÉÍÅÔØ ÓÔÁÔÉÓÔÉËÕ ÐÏ ÜÔÏÊ ÔÁÂÌÉÃÅ. üÔÁ
-   ÓÔÁÔÉÓÔÉËÁ ÓÏÂÉÒÁÅÔÓÑ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ VACUUM ANALYZE ÉÌÉ ÐÒÏÓÔÏ
-   ANALYZE. éÓÐÏÌØÚÕÑ ÓÔÁÔÉÓÔÉËÕ, ÏÐÔÉÍÉÚÁÔÏÒ ÕÚÎÁÅÔ Ï ÔÏÍ ËÁË ÍÎÏÇÏ
-   ÚÁÐÉÓÅÊ × ÔÁÂÌÉÃÅ É ÅÓÌÉ ÏΠÄÏÌÖÅΠÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÄÅËÓÙ, ÔÏ ÏΠÍÏÖÅÔ
-   ÐÒÉÎÉÍÁÔØ ÌÕÞÛÉÅ ÒÅÛÅÎÉÑ. óÔÁÔÉÓÔÉËÁ ÔÁËÖÅ ×ÌÉÑÅÔ ÎÁ ÏÐÒÅÄÅÌÅÎÉÅ
-   ÏÐÔÉÍÁÌØÎÏÇÏ ÐÏÒÑÄËÁ Ó×ÑÚÙ×ÁÎÉÑ É ÍÅÔÏÄÁ Ó×ÑÚÙ×ÁÎÉÑ. óÂÏÒ ÓÔÁÔÉÓÔÉËÉ
-   ÄÏÌÖÅΠÐÅÒÉÏÄÉÞÅÓËÉ ×ÙÐÏÌÎÑÔÓÑ ÐÒÉ ÉÚÍÅÎÅÎÉÉ ÓÏÄÅÒÖÉÍÏÇÏ ÔÁÂÌÉÃÙ.
-   
-   ïÂÙÞÎÏ ÉÎÄÅËÓÙ ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ ORDER BY ÉÌÉ ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ
-   Ó×ÑÚÙ×ÁÎÉÊ. ðÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ ÐÅÒÅÂÏÒ ÓÌÅÄÕÀÝÉÊ ÚÁ Ñ×ÎÏÊ ÓÏÒÔÉÒÏ×ËÏÊ
-   ÏÂÙÞÎÏ ÂÙÓÔÒÅÅ, ÞÅÍ ÐÏÉÓË ÐÏ ÉÎÄÅËÓÁÍ × ÂÏÌØÛÏÊ ÔÁÂÌÉÃÅ. ïÄÎÁËÏ, ORDER
-   BY ÞÁÓÔÏ ËÏÍÂÉÎÉÒÕÅÔÓÑ Ó LIMIT É × ÜÔÏÍ ÓÌÕÞÁÅ ÉÎÄÅËÓ ÂÕÄÅÔ
-   ÉÓÐÏÌØÚÏ×ÁÔØÓÑ, ÐÏÓËÏÌØËÕ ÐÒÉ ×ÙÐÏÌÎÅÎÉÉ ÂÕÄÅÔ ×ÏÚ×ÒÁÝÁÔØÓÑ ÎÅÂÏÌØÛÁÑ
-   ÞÁÓÔØ ÔÁÂÌÉÃÙ. æÁËÔÉÞÅÓËÉ MAX() É MIN() ÎÅ ÉÓÐÏÌØÚÕÀÔ ÉÎÄÅËÓÙ, ÎÏ
-   ÉÎÄÅËÓ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÒÉ ÐÏÓÔÒÏÅÎÉÉ ÚÁÐÒÏÓÏ× Ó ORDER BY É LIMIT:
+   Indeksy ne trebuyut tak mnogo, no poskol'ku oni sozdayutsya dlya
+   bol'shogo kolichestva dannyh, oni takzhe mogut byt' veliki.
+   
+   Znacheniya NULL sohranyayutsya v bitah 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?
+    
+   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
+   ustroeno, potomu chto dostup k disku s primeneniem randomizacii pri
+   skanirovanii indeksov mozhet byt' medlennee, chem prostoe chtenie
+   tablicy ili ee posledovatel'noe skanirovanie.
+   
+   CHtoby opredelit' neobhodimost' ispol'zovaniya indeksa dlya kakoj-libo
+   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
+   prinimat' luchshie resheniya. Statistika takzhe vliyaet na opredelenie
+   optimal'nogo poryadka svyazyvaniya i metoda svyazyvaniya. Sbor
+   statistiki dolzhen periodicheski vypolnyatsya pri izmenenii
+   soderzhimogo tablicy.
+   
+   Obychno indeksy ne ispol'zuyutsya dlya ORDER BY ili dlya vypolneniya
+   svyazyvanij. Posledovatel'nyj perebor sleduyuschij za yavnoj
+   sortirovkoj obychno bystree, chem poisk po indeksam v bol'shoj
+   tablice. Odnako, ORDER BY chasto kombiniruetsya s LIMIT i v `etom
+   sluchae indeks budet ispol'zovat'sya, poskol'ku pri vypolnenii budet
+   vozvraschat'sya nebol'shaya chast' tablicy. Fakticheski MAX() i MIN()
+   ne ispol'zuyut indeksy, no indeks ispol'zuetsya pri postroenii
+   zaprosov s ORDER BY i LIMIT:
     SELECT col
     FROM tab
     ORDER BY col [ DESC ]
-    LIMIT 1
+    LIMIT 1;
 
-   ëÏÇÄÁ ÉÓÐÏÌØÚÕÀÔÓÑ ÏÐÅÒÁÃÉÉ Ó ÛÁÂÌÏÎÁÍÉ, ÎÁÐÒÉÍÅÒ LIKE ÉÌÉ ~, ÉÎÄÅËÓÙ
-   ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ × ÓÌÅÄÕÀÝÉÈ ÓÌÕÞÁÑÈ:
-     * îÁÞÁÌÏ ÓÔÒÏËÉ ÐÏÉÓËÁ ÄÏÌÖÎÏ ÓÏ×ÐÁÄÁÔØ Ó ÎÁÞÁÌÏÍ ÉÓËÏÍÏÊ ÓÔÒÏËÉ,
-       Ô.Å.:
+   Kogda ispol'zuyutsya operacii s shablonami, naprimer LIKE ili ~,
+   indeksy mogut byt' ispol'zovany v sleduyuschih sluchayah:
+     * Nachalo stroki poiska dolzhno sovpadat' s nachalom iskomoj stroki,
+       t.e.:
+          + LIKE shablony ne dolzhny nachinat'sya s %..
+          + ~ shablony regulyarnyh vyrazhenij dolzhna nachinat'sya na ^.
+     * 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.
+     * Vo vremya initdb dolzhna ispol'zovat'sya lokal' po umolchaniyu C.
        
-     * LIKE ÛÁÂÌÏÎÙ ÎÅ ÄÏÌÖÎÙ ÎÁÞÉÎÁÔØÓÑ Ó %.
-     *
-     * ~ ÛÁÂÌÏÎÙ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ ÄÏÌÖÎÁ ÎÁÞÉÎÁÔØÓÑ ÎÁ ^.
-     *
-       
-     óÔÒÏËÁ ÐÏÉÓËÁ ÎÅ ÄÏÌÖÎÁ ÎÁÞÉÎÁÔØÓÑ Ó ÓÉÍ×ÏÌÁ ËÌÁÓÓÁ, Ô.Å. [a-e].
-   
-     îÅ ÄÏÌÖÅΠÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÏÉÓË ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ÔÁËÏÊ ËÁË
-   ILIKE É ~. ÷ÍÅÓÔÏ ÎÅÇÏ ÉÓÐÏÌØÚÕÊÔÅ ÆÕÎËÃÉÏÎÁÌØÎÙÅ ÉÎÄÅËÓÙ, ËÏÔÏÒÙÅ
-   ÏÐÉÓÁÎÙ × ÜÔÏÍ FAQ ÎÉÖÅ.
-   
-     ÷Ï ×ÒÅÍÑ initdb ÄÏÌÖÎÁ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÌÏËÁÌØ ÐÏ ÕÍÏÌÞÁÎÉÀ C.
-   
-    4.9) ëÁË ÐÏÓÍÏÔÒÅÔØ ÎÁ ÔÏ, ËÁË ÏÐÔÉÍÉÚÁÔÏÒ ×ÙÐÏÌÎÑÅÔ ÍÏÊ ÚÁÐÒÏÓ?
+    4.9) Kak posmotret' na to, kak optimizator vypolnyaet moj zapros?
     
-   óÍÏÔÒÉÔÅ ÓÔÒÁÎÉÃÕ ÒÕËÏ×ÏÄÓÔ×Á ÐÏÓ×ÑÝÅÎÎÕÀ EXPLAIN.
+   Smotrite stranicu rukovodstva posvyaschennuyu EXPLAIN.
    
-    4.10) þÔÏ ÔÁËÏÅ R-tree ÉÎÄÅËÓ?
+    4.10) CHto takoe R-tree indeks?
     
-   R-tree ÉÎÄÅËÓ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÉÎÄÅËÓÉÒÏ×ÁÎÉÑ ÐÒÏÓÔÒÁÎÓÔ×ÅÎÎÙÈ ÄÁÎÎÙÈ.
-   éÎÄÅËÓ ÈÜÛÁ ÎÅ ÍÏÖÅÔ ÕÐÒÁ×ÌÑÔØ ÐÏÉÓËÁÍÉ ÄÉÁÐÁÚÏÎÁ. B-tree ÉÎÄÅËÓ
-   ÕÐÒÁ×ÌÑÅÔ ÔÏÌØËÏ ÐÏÉÓËÁÍÉ ÄÉÁÐÁÚÏÎÁ × ÏÄÎÏÍ ÉÚÍÅÒÅÎÉÉ. R-tree ÉÎÄÅËÓ
-   ÍÏÖÅÔ ÕÐÒÁ×ÌÑÔØ ÍÎÏÇÏÒÁÚÍÅÒÎÙÍÉ ÄÁÎÎÙÍÉ. îÁÐÒÉÍÅÒ, ÅÓÌÉ R-tree ÉÎÄÅËÓ
-   ÍÏÖÅÔ ÂÙÔØ ×ÓÔÒÏÅΠנÁÔÒÉÂÕÔ ÔÉÐÁ point, ÔÏ ÓÉÓÔÅÍÁ ÍÏÖÅÔ ÂÏÌÅÅ
-   ÜÆÆÅËÔÉ×ÎÏ ÏÔ×ÅÔÉÔØ ÎÁ ÚÁÐÒÏÓ ÔÉÐÁ "×ÙÂÒÁÔØ ×ÓÅ ÔÏÞËÉ ×ÎÕÔÒÉ ÚÁÄÁÎÎÏÇÏ
-   ÞÅÔÙÒÅÈÕÇÏÌØÎÉËÁ."
+   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."
    
-   ëÁÎÏÎÉÞÅÓËÉÊ ÉÓÔÏÞÎÉË, ÏÐÉÓÙ×ÁÀÝÉÊ ÐÅÒ×ÏÎÁÞÁÌØÎÏÅ ÓÏÚÄÁÎÉÅ R-tree ÜÔÏ:
+   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.
    
-   ÷Ù ÍÏÖÅÔÅ ÎÁÊÔÉ ÜÔÏÔ ÄÏËÕÍÅÎÔ × ËÎÉÇÅ Stonebraker'Á "Readings in
+   Vy mozhete najti `etot dokument v knige Stonebraker'a "Readings in
    Database Systems".
    
-   ÷ÓÔÒÏÅÎÎÎÙÅ R-tree ÍÏÇÕÔ ÕÐÒÁ×ÌÑÔØ ÐÏÌÉÇÏÎÁÍÉ É ÂÏËÓÁÍÉ. ÷ ÔÅÏÒÉÉ,
-   R-tree ÍÏÇÕÔ ÂÙÔØ ÒÁÓÛÉÒÅÎÙ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ ÂÏÌØÛÉÍ ËÏÌÉÞÅÓÔ×ÏÍ
-   ÉÚÍÅÒÅÎÉÊ. îÁ ÐÒÁËÔÉËÅ, ÒÁÓÛÉÒÅÎÉÅ R-tree ÔÒÅÂÕÅÔ ÎÅËÏÔÏÒÙÈ ÕÓÉÌÉÊ É Õ
-   ÎÁÓ, × ÄÁÎÎÙÊ ÍÏÍÅÎÔ, ÎÅÔ ËÁËÏÊ-ÌÉÂÏ ÄÏËÕÍÅÎÔÁÃÉÉ Ï ÔÏÍ, ËÁË ÜÔÏ
-   ÓÄÅÌÁÔØ.
+   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) þÔÏ ÔÁËÏÅ Genetic Query Optimizer?
+    4.11) CHto takoe Genetic Query Optimizer?
     
-   íÏÄÕÌØ GEQO ÐÒÏÉÚ×ÏÄÉÔ ÂÙÓÔÒÕÀ ÏÐÔÉÍÉÚÁÃÉÀ ÚÁÐÒÏÓÁ, ËÏÇÄÁ ÐÒÏÉÓÈÏÄÉÔ
-   Ó×ÑÚÙ×ÁÎÉÅ ÍÎÏÇÉÈ ÔÁÂÌÉàÞÅÒÅÚ Genetic Algorithm (GA). üÔÏ ÐÏÚ×ÏÌÑÅÔ
-   ÕÐÒÁ×ÌÑÔØ ÂÏÌØÛÉÍÉ ÚÁÐÒÏÓÁÍÉ ÎÁ Ó×ÑÚÙ×ÁÎÉÅ ÞÅÒÅÚ ÎÅÉÓÔÏÝÁÀÝÉÊ ÐÏÉÓË.
-   
-    4.12) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ É ÐÏÉÓË ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ
-    ÒÅÇÉÓÔÒÁ ÂÕË× ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ? ëÁË ÍÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÎÄÅËÓ ÄÌÑ
-    ÐÏÉÓËÁ ÎÅÚÁ×ÉÓÉÍÏÇÏ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË×?
+   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
+    ot registra bukv poisk regulyarnogo vyrazheniya? Kak mne ispol'zovat'
+    indeks dlya poiska nezavisimogo ot registra bukv?
     
-   ïÐÅÒÁÔÏÒ ~ ÐÒÏÉÚ×ÏÄÉÔ ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ, Á ÏÐÅÒÁÔÏÒ ~*
-   ÐÒÏÉÚ×ÏÄÉÔ ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ÂÕË× ÐÏÉÓË ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ.
-   îÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ×ÁÒÉÁÎÔ LIKE ÎÁÚÙ×ÁÅÔÓÑ ILIKE.
+   Operator ~ proizvodit poisk regulyarnogo vyrazheniya, a operator ~*
+   proizvodit nezavisimyj ot registra bukv poisk regulyarnogo
+   vyrazheniya. Nezavisimyj ot registra variant LIKE nazyvaetsya ILIKE.
    
-   îÅÚÁ×ÉÓÉÍÏÅ ÏÔ ÒÅÇÉÓÔÒÁ ÓÒÁ×ÎÅÎÉÅ ÏÂÙÞÎÏ ×ÙÒÁÖÁÅÔÓÑ ÔÁË:
+   Nezavisimoe ot registra sravnenie obychno vyrazhaetsya tak:
     SELECT *
     FROM tab
-    WHERE lower(col) = 'abc'
+    WHERE lower(col) = 'abc';
 
-   üÔÁ ËÏÎÓÔÒÕËÃÉÑ ÎÅ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÔÁÎÄÁÒÔÎÙÊ ÉÎÄÅËÓ. ïÄÎÁËÏ, ÅÓÌÉ
-   ×Ù ÓÏÚÄÁÄÉÔÅ ÆÕÎËÃÉÏÎÁÌØÎÙÊ ÉÎÄÅËÓ, ÏΠÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎ:
-    CREATE INDEX tabindex on tab (lower(col));
+   `Eta konstrukciya ne budet ispol'zovat' standartnyj indeks. Odnako,
+   esli vy sozdadite funkcional'nyj indeks, on budet ispol'zovan:
+    CREATE INDEX tabindex ON tab (lower(col));
 
-    4.13) ëÁË Ñ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ, ÞÔÏ ÚÎÁÞÅÎÉÅ ÐÏÌÑ ÒÁ×ÎÏ NULL × ËÁËÏÍ-ÌÉÂÏ
-    ÚÁÐÒÏÓÅ?
+    4.13) Kak ya mogu opredelit', chto znachenie polya ravno NULL v kakom-libo
+    zaprose?
     
-   ÷Ù ÐÒÏÓÔÏ ÓÒÁ×ÎÉ×ÁÅÔÅ ÚÎÁÞÅÎÉÅ Ó IS NULL É IS NOT NULL.
+   Vy prosto sravnivaete znachenie s IS NULL i IS NOT NULL.
    
-    4.14) ëÁËÏ×Ù ÏÔÌÉÞÉÑ ÍÅÖÄÕ ÒÁÚÎÙÍÉ ÓÉÍ×ÏÌØÎÙÍÉ ÔÉÐÁÍÉ?
+    4.14) Kakovy otlichiya mezhdu raznymi simvol'nymi tipami?
     
-ôÉР           ÷ÎÕÔÒÅÎÎÅÅ ÉÍÑ   úÁÍÅÞÁÎÉÑ
+Tip            Vnutrennee imya   Zamechaniya
 --------------------------------------------------
-"char"          char            1 ÓÉÍ×ÏÌ
-CHAR(#)         bpchar          ÚÁÐÏÌÎÑÅÔÓÑ ÐÕÓÔÏÔÏÊ ÄÏ ÆÉËÓÉÒÏ×ÁÎÎÏÊ ÄÌÉÎÙ
-VARCHAR(#)      varchar         ÒÁÚÍÅÒ ÚÁÄÁÅÔ ÍÁËÓÉÍÁÌØÎÕÀ ÄÌÉÎÕ, ÎÅÔ ÚÁÐÏÌÎÅÎÉ
-TEXT            text            ÎÅÔ ÚÁÄÁ×ÁÅÍÏÇÏ ×ÅÒÈÎÅÇÏ ÏÇÒÁÎÉÞÅÎÉÑ ÉÌÉ ÄÌÉÎÙ
-BYTEA           bytea           ÍÁÓÓÉ× ÂÁÊÔ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ (ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔ
-Ø null-ÂÁÊÔ ÂÅÚ ÏÐÁÓËÉ)
+"char"          char            1 simvol
+CHAR(n)         bpchar          zapolnyaetsya pustotoj do fiksirovannoj dliny
+VARCHAR(n)      varchar         razmer zadaet maksimal'nuyu dlinu, net zapolnen
+iya
+TEXT            text            net zadavaemogo verhnego ogranicheniya ili dlin
+y
+BYTEA           bytea           massiv bajt peremennoj dliny (mozhno ispol'zova
+t' null-bajt bez opaski)
 
-   ÷ÎÕÔÒÅÎÎÅÅ ÉÍÑ ×Ù ÍÏÖÅÔÅ Õ×ÉÄÅÔØ, ËÏÇÄÁ ÓÍÏÔÒÉÔÅ ÓÉÓÔÅÍÎÙÅ ËÁÔÁÌÏÇÉ É
-   × ÎÅËÏÔÏÒÙÈ ÓÏÏÂÝÅÎÉÑÈ Ï ÏÛÉÂËÁÈ.
-   
-   ðÏÓÌÅÄÎÉÅ ÞÅÔÙÒÅ ÔÉÐÁ Ñ×ÌÑÀÔÓÑ "varlena" ÔÉÐÁÍÉ (Ô.Å., ÐÅÒ×ÙÅ ÞÅÔÙÒÅ
-   ÂÁÊÔÁ ÎÁ ÄÉÓËÅ Ñ×ÌÑÀÔÓÑ ÄÌÉÎÎÏÊ, ÚÁ ËÏÔÏÒÏÊ ÓÌÅÄÕÀÔ ÄÁÎÎÙÅ). ôÁËÉÍ
-   ÏÂÒÁÚÏÍ, ÆÁËÔÉÞÅÓËÉ ÉÓÐÏÌØÚÕÅÍÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÂÏÌØÛÅ, ÞÅÍ ÏÂÏÚÎÁÞÅÎÎÙÊ
-   ÒÁÚÍÅÒ. ïÄÎÁËÏ, ÜÔÉ ÔÉÐÙ ÄÁÎÎÙÈ ÔÁËÖÅ ÐÏÄÄÁÀÔÓÑ ÓÖÁÔÉÀ ÉÌÉ ÍÏÇÕÔ ÂÙÔØ
-   ÓÏÈÒÁÎÅÎÙ ÎÅ × ÓÔÒÏËÏÍ ×ÉÄÅ ÞÅÒÅÚ TOAST, ÔÁË ÞÔÏ ÚÁÎÉÍÁÅÍÏÅ ÄÉÓËÏ×ÏÅ
-   ÐÒÏÓÔÒÁÎÓÔ×Ï ÍÏÖÅÔ ÔÁËÖÅ ÂÙÔØ É ÍÅÎØÛÅ, ÞÅÍ ÏÖÉÄÁÌÏÓØ.
-   
-   CHAR() - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ ÄÌÑ ÈÒÁÎÅÎÉÑ ÓÔÒÏË, ËÏÔÏÒÙÅ ÏÂÙÞÎÏ ÉÍÅÀÔ
-   ÏÄÉÎÁËÏ×ÕÀ ÄÌÉÎÕ. VARCHAR() - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ, ËÏÇÄÁ ÎÕÖÎÏ ÈÒÁÎÉÔØ
-   ÓÔÒÏËÉ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ, ÎÏ ÎÅ ÐÒÅ×ÙÛÁÀÝÉÅ ÏÐÒÅÄÅÌÅÎÎÏÇÏ ÒÁÚÍÅÒÁ. TEXT
-   - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ ÄÌÑ ÓÔÒÏË ÎÅÏÇÒÁÎÉÞÅÎÎÏÊ ÄÌÉÎÙ, Ó ÍÁËÓÉÍÁÌØÎÏ
-   ÄÏÐÕÓÔÉÍÏÊ ÄÌÉÎÏÊ × 1 ÇÉÇÁÂÁÊÔ. BYTEA ÄÌÑ ÈÒÁÎÅÎÉÑ ÂÉÎÁÒÎÙÈ ÄÁÎÎÙÈ,
-   ÚÎÁÞÅÎÉÑ ËÏÔÏÒÙÈ ÍÏÇÕÔ ×ËÌÀÞÁÔØ NULL ÂÁÊÔÙ.
-   
-    4.15.1) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ÐÏÌÅ serial/Ó-Á×ÔÏ-Õ×ÅÌÉÞÅÎÉÅÍ?
-    
-   PostgreSQL ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÉРÄÁÎÎÙÈ SERIAL. ïΠÁ×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÚÄÁÅÔ
-   ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ É ÉÎÄÅËÓ ÄÌÑ ËÏÌÏÎËÉ. îÁÐÒÉÍÅÒ:
+   Vnutrennee imya vy mozhete uvidet', kogda smotrite sistemnye katalogi
+   i v nekotoryh soobscheniyah ob oshibkah.
+   
+   Poslednie chetyre tipa yavlyayutsya "varlena" tipami (t.e., pervye
+   chetyre bajta na diske yavlyayutsya dlinnoj, za kotoroj sleduyut
+   dannye). Takim obrazom, fakticheski ispol'zuemoe prostranstvo bol'she,
+   chem oboznachennyj razmer. Odnako, `eti tipy dannyh takzhe poddayutsya
+   szhatiyu ili mogut byt' sohraneny ne v strokom vide cherez TOAST, tak
+   chto zanimaemoe diskovoe prostranstvo mozhet takzhe byt' i men'she,
+   chem ozhidalos'.
+   
+   CHAR(n) - `eto luchshee reshenie dlya hraneniya strok, kotorye obychno
+   imeyut odinakovuyu dlinu. VARCHAR(n) - `eto luchshee reshenie, kogda
+   nuzhno hranit' stroki peremennoj dliny, no ne prevyshayuschie
+   opredelennogo razmera. TEXT - `eto luchshee reshenie dlya strok
+   neogranichennoj dliny, s maksimal'no dopustimoj dlinoj v 1 gigabajt.
+   BYTEA dlya hraneniya binarnyh dannyh, znacheniya kotoryh mogut
+   vklyuchat' NULL bajty. `Eti tipy imeyut shodnye harakteristiki
+   proizvoditel'nosti.
+   
+    4.15.1) Kak mne sozdat' pole serial/s-avto-uvelicheniem?
+    
+   PostgreSQL podderzhivaet tip dannyh SERIAL. On avtomaticheski sozdaet
+   posledovatel'nost' i indeks dlya kolonki. Naprimer:
     CREATE TABLE person (
         id   SERIAL,
         name TEXT
     );
 
-   Á×ÔÏÍÁÔÉÞÅÓËÉ ÔÒÁÎÓÌÉÒÕÅÔÓÑ ×:
+   avtomaticheski transliruetsya v:
     CREATE SEQUENCE person_id_seq;
     CREATE TABLE person (
         id   INT4 NOT NULL DEFAULT nextval('person_id_seq'),
@@ -949,97 +976,100 @@ BYTEA           bytea           
     );
     CREATE UNIQUE INDEX person_id_key ON person ( id );
 
-   óÍÏÔÒÉÔÅ ÐÏÄÒÏÂÎÏÓÔÉ Ï ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÑÈ ÎÁ ÓÔÒÁÎÉÃÅ ÒÕËÏ×ÏÄÓÔ×Á
-   ÐÏÓ×ÑÝÅÎÎÏÊ create_sequence. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÁÖÄÏÅ ÐÏÌÅ
-   OID × ÚÁÐÉÓÉ ËÁË ÕÎÉËÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ. ïÄÎÁËÏ, ÅÓÌÉ ×ÁÍ ÎÕÖÅΠÄÁÍРÉ
-   ÐÅÒÅÚÁÇÒÕÚËÁ ÂÁÚÙ ÄÁÎÎÙÈ, ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ pg_dump
-   Ó ÏÐÃÉÅÊ -o ÉÌÉ ÏÐÃÉÀ COPY WITH OIDS ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÚÎÁÞÅÎÉÊ ÐÏÌÑ OID.
-   
-    4.15.2) ëÁË ÍÎÅ ÐÏÌÕÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÒÉ ×ÓÔÁ×ËÅ SERIAL?
-    
-   ïÄÉΠÉÚ ÓÐÏÓÏÂÏ× ÓÏÓÔÏÉÔ × ÐÏÌÕÞÅÎÉÉ ÓÌÅÄÕÀÝÅÇÏ ÚÎÁÞÅÎÉÑ SERIAL ÉÚ
-   ÏÂßÅËÔÁ sequence Ó ÐÏÍÏÝØÀ ÆÕÎËÃÉÉ nextval() ÐÅÒÅÄ ×ÓÔÁ×ËÏÊ É ÚÁÔÅÍ
-   ×ÓÔÁ×ÌÑÔØ ÜÔÏ ÚÎÁÞÅÎÉÅ Ñ×ÎÏ. éÓÐÏÌØÚÕÊÔÅ ÔÁÂÌÉÃÕ-ÐÒÉÍÅÒ × 4.15.1,
-   ÞÔÏÂÙ Õ×ÉÄÅÔØ ËÁË ÜÔÏ ÄÅÌÁÅÔÓÑ × Perl:
-    new_id = output of "SELECT nextval('person_id_seq')"
-    INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal');
+   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.
+   
+    4.15.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:
+    new_id = execute("SELECT nextval('person_id_seq')");
+    execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
 
-   úÁÔÅÍ ×Ù ÄÏÌÖÎÙ ÔÁËÖÅ ÓÏÈÒÁÎÉÔØ ÎÏ×ÏÅ ÚÎÁÞÅÎÉÅ × ÐÅÒÅÍÅÎÎÏÊ new_id ÄÌÑ
-   ÅÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ × ÄÒÕÇÉÈ ÚÁÐÒÏÓÁÈ (ÎÁÐÒÉÍÅÒ ÔÁËÉÈ ËÁË ×ÎÅÛÎÉÊ ËÌÀÞ
-   ÄÌÑ ÔÁÂÌÉÃÙ person). úÁÍÅÔÉÍ, ÞÔÏ ÉÍÑ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÚÄÁÎÎÏÇÏ ÏÂßÅËÔÁ
-   SEQUENCE ÂÕÄÅÔ <table>_<serialcolumn>_seq, ÇÄÅ table É serialcolumn
-   Ñ×ÌÑÀÔÓÑ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ ÉÍÅÎÁÍÉ ×ÁÛÅÊ ÔÁÂÌÉÃÙ É ×ÁÛÅÊ ËÏÌÏÎËÉ SERIAL.
-   
-   ÷ ËÁÞÅÓÔ×Å ÁÌØÔÅÒÎÁÔÉ×Ù, ×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÎÁÚÎÁÞÅÎÎÏÅ ÚÎÁÞÅÎÉÅ
-   SERIAL Ó ÐÏÍÏÝØÀ ÆÕÎËÃÉÉ currval() ÐÏÓÌÅ ÐÒÏ×ÅÄÅÎÉÑ ÏÂÙÞÎÏÊ ÏÐÅÒÁÃÉÉ
-   ×ÓÔÁ×ËÉ, ÎÁÐÒÉÍÅÒ
-    INSERT INTO person (name) VALUES ('Blaise Pascal');
-    new_id = output of "SELECT currval('person_id_seq')";
+   Zatem vy dolzhny takzhe sohranit' novoe znachenie v peremennoj new_id
+   dlya ego ispol'zovaniya v drugih zaprosah (naprimer takih kak vneshnij
+   klyuch dlya tablicy person). Zametim, chto imya avtomaticheski
+   sozdannogo ob"ekta SEQUENCE budet <table>_<serialcolumn>_seq, gde
+   table i serialcolumn yavlyayutsya sootvetstvenno imenami vashej
+   tablicy i vashej kolonki SERIAL.
+   
+   V kachestve al'ternativy, vy mozhete poluchit' naznachennoe znachenie
+   SERIAL s pomosch'yu funkcii currval() posle provedeniya obychnoj
+   operacii vstavki, naprimer
+    execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
+    new_id = execute("SELECT currval('person_id_seq')");
 
-   é ÎÁËÏÎÅÃ, ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÚÎÁÞÅÎÉÅ OID, ×ÏÚÒÁÝÁÅÍÏÅ ÉÚ
-   ÏÐÅÒÔÏÒÁ INSERT ÞÔÏÂÙ Õ×ÉÄÅÔØ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÞÔÏ
-   ÐÒÅÄÐÏÌÏÖÉÔÅÌØÎÏ Ñ×ÌÑÅÔÓÑ ÎÁÉÍÅÎÅÅ ÐÅÒÅÎÏÓÉÍÙÍ ÎÁ ÄÒÕÇÉÅ ÐÌÁÔÆÏÒÍÙ
-   ÒÅÛÅÎÉÅÍ. ÷ Perl, ÉÓÐÏÌØÚÕÑ DBI Ó ÍÏÄÕÌÅÉ Edmund Mergl'Ñ DBD::Pg,
-   ÚÎÁÞÅÎÉÅ oid ÓÔÁÎÏ×ÉÔÓÑ ÄÏÓÔÕÐÎÙÍ ÞÅÒÅÚ $sth->{pg_oid_status} ÐÏÓÌÅ
+   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. V Perl, ispol'zuya DBI s modulei Edmund Mergl'ya DBD::Pg,
+   znachenie oid stanovitsya dostupnym cherez $sth->{pg_oid_status} posle
    $sth->execute().
    
-    4.15.3) îÅ ÍÏÖÅÔ ÌÉ ÐÏÌÕÞÉÔØÓÑ ÔÁË, ÞÔÏ ÉÓÐÏÌØÚÏ×ÁÎÉÅ currval() É nextval()
-    ÐÒÉ×ÅÄÅÔ Ë ÚÁÃÉËÌÉÒÏ×ÁÎÉÀ Ó ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ?
-    
-   îÅÔ. Currval() ×ÏÚ×ÒÁÝÁÅÔ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ, ÎÁÚÎÁÞÅÎÎÏÅ ×ÁÛÅÍ
-   backend'ÏÍ, Á ÎÅ ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ.
-   
-    4.15.4) ðÏÞÅÍÕ ÞÉÓÌÁ ÉÚ ÍÏÅÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÎÏ×Á ÐÒÉ
-    ÏÔÍÅÎÅ ÔÒÁÎÚÁËÃÉÉ? ðÏÞÅÍÕ ÓÏÚÄÁÀÔÓÑ ÒÁÚÒÙ×Ù ÐÒÉ ÎÕÍÅÒÁÃÉÉ × ËÏÌÏÎËÅ, ÇÄÅ Ñ
-    ÉÓÐÏÌØÚÕÀ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ/SERIAL?
-    
-   äÌÑ ÒÅÁÌÉÚÁÃÉÉ ËÏÎËÕÒÅÔÎÏÓÔÉ, ÚÎÁÞÅÎÉÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÅÊ, ÐÒÉ
-   ÎÅÏÂÈÏÄÉÍÏÓÔÉ ×ÙÄÁÀÔÓÑ ×Ï ×ÒÅÍÑ ÚÁÐÕÓËÁ ÔÒÁÎÚÁËÃÉÊ É ÎÅ ÂÌÏËÉÒÕÀÔÓÑ ÄÏ
-   ÐÏÌÎÏÇÏ ×ÙÐÏÌÎÅÎÉÑ ÔÒÁÎÚÁËÃÉÊ. üÔÏ ÍÏÖÅÔ ×ÙÚÙ×ÁÔØ ÒÁÚÒÙ×Ù × ÎÕÍÅÒÁÃÉÉ
-   ÐÒÉ ÏÔÍÅÎÅ ÔÒÁÎÚÁËÃÉÊ.
-   
-    4.16) þÔÏ ÔÁËÏÅ OID? þÔÏ ÔÁËÏÅ TID?
-    
-   ðÏÌÑ OID ÓÌÕÖÁÔ ÕÎÉËÁÌØÎÙÍÉ ÉÄÅÔÉÆÉËÁÔÏÒÁÍÉ ÚÁÐÉÓÅÊ × PostgreSQL.
-   ëÁÖÄÁÑ ÚÁÐÉÓØ, ËÏÔÏÒÁÑ ÓÏÚÄÁ£ÔÓÑ × PostgreSQL ÐÏÌÕÞÁÅÔ ÕÎÉËÁÌØÎÙÊ OID.
-   ÷ÓÅ ÚÎÁÞÅÎÉÑ OID ÇÅÎÅÒÉÒÕÅÍÙÅ ×Ï ×ÒÅÍÑ initdb ÉÍÅÀÔ ÚÎÁÞÅÎÉÑ ÍÅÎØÛÅ
-   16384 (ÉÚ backend/access/transam.h). ÷ÓÅ ÓÏÚÄÁÎÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ OID
-   ÉÍÅÀÔ ÂïÌØÛÉÅ ÚÎÁÞÅÎÉÅ. ðÏ ÕÍÏÌÞÁÎÉÀ, ×ÓÅ ÜÔÉ OID Ñ×ÌÑÀÔÓÑ ÕÎÉËÁÌØÎÙÍÉ
-   ÎÅ ÔÏÌØËÏ ×ÎÕÔÒÉ ËÁËÏÊ-ÌÉÂÏ ÔÁÂÌÉÃÙ ÉÌÉ ÂÁÚÙ ÄÁÎÎÙÈ, ÎÏ É ×ÎÕÔÒÉ ×ÓÅÊ
-   óõâä PostgreSQL.
-   
-   PostgreSQL ÉÓÐÏÌØÚÕÅÔ OID × Ó×ÏÉÈ ×ÎÕÔÒÅÎÎÉÈ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉÃÁÈ ÄÌÑ
-   Ó×ÑÚÉ ÚÁÐÉÓÅÊ É ÔÁÂÌÉÃ. úÎÁÞÅÎÉÑ OID ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ ÄÌÑ
-   ÉÄÅÎÔÉÆÉËÁÃÉÉ ÚÁÄÁÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÚÁÐÉÓÅÊ, Á ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ
-   ÐÒÉ Ó×ÑÚÙ×ÁÎÉÑÈ. òÅËÏÍÅÎÄÕÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÉРËÏÌÏÎËÉ OID ÄÌÑ
-   ÈÒÁÎÅÎÉÑ ÚÎÁÞÅÎÉÊ OID ÷Ù ÍÏÖÅÔÅ ÓÏÚÄÁÔØ ÉÎÄÅËÓ ÎÁ ÐÏÌÅ OID ÄÌÑ ÂÏÌÅÅ
-   ÂÙÓÔÒÏÇÏ ÄÏÓÔÕÐÁ.
-   
-   úÎÁÞÅÎÉÑ OID ÎÁÚÎÁÞÁÀÔÓÑ ÄÌÑ ×ÓÅÈ ÎÏ×ÙÈ ÚÁÐÉÓÅÊ ÉÚ ÃÅÎÔÒÁÌØÎÏÊ
-   ÏÂÌÁÓÔÉ, ËÏÔÏÒÙÅ ÉÓÐÏÌØÚÕÀÔÓÑ ×ÓÅÍÉ ×ÓÅÍÉ ÂÁÚÁÍÉ ÄÁÎÎÙÈ. åÓÌÉ ×Ù
-   ÈÏÔÉÔÅ ÉÚÍÅÎÉÔØ OID ÎÁ ËÁËÏÅ-ÌÉÂÏ ÄÒÕÇÏÅ ÚÎÁÞÅÎÉÅ ÉÌÉ ÅÓÌÉ ×Ù ÈÏÔÉÔÅ
-   ÓÏÚÄÁÔØ ËÏÐÉÀ ÔÁÂÌÉÃÙ Ó ÔÁËÉÍÉÖÅ OID, ÔÏ ÜÔÏ ÍÏÖÎÏ ÓÄÅÌÁÔØ ÔÁË:
+    4.15.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.
+   
+    4.15.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?
+    
+   Dlya realizacii konkuretnosti, znacheniya posledovatel'nostej, pri
+   neobhodimosti vydayutsya vo vremya zapuska tranzakcij i ne
+   blokiruyutsya do polnogo vypolneniya tranzakcij. `Eto mozhet vyzyvat'
+   razryvy v numeracii pri otmene tranzakcij.
+   
+    4.16) 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(old_oid oid, mycol int);
         SELECT old_oid, mycol INTO new FROM old;
         COPY new TO '/tmp/pgtable';
         DELETE FROM new;
         COPY new WITH OIDS FROM '/tmp/pgtable';
 
-   OID ÈÒÁÎÉÔÓÑ ËÁË 4-È ÂÁÊÔÎÏÅ ÃÅÌÏÅ É ÎÅ ÍÏÖÅÔ ÐÒÅ×ÙÛÁÔØ ÚÎÁÞÅÎÉÅ × 4
-   ÍÉÌÌÉÁÒÄÁ. ïÄÎÁËÏ, ÅÝÅ ÎÉËÔÏ ÎÅ ÓÏÏÂÝÉÌ Ï ÔÏÍ, ÞÔÏ ÔÁËÏÅ ÐÒÏÉÚÏÛÌÏ, ÎÏ
-   ÍÙ ÐÌÁÎÉÒÕÅÍ ÄÏ ÔÏÇÏ ËÁË ÜÔÏ ÓÌÕÞÉÔØÓÑ ÉÚÂÁ×ÉÔÓÑ ÏÔ ÜÔÏÇÏ ÏÇÒÁÎÉÞÅÎÉÑ.
+   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.
    
-   TID ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÉÄÅÎÔÉÆÉËÁÃÉÉ ÓÐÅÃÉÁÌØÎÙÈ ÆÉÚÉÞÅÓËÉÈ ÚÁÐÉÓÅÊ Ó
-   ÂÌÏÞÎÙÍÉ É offset ÚÎÁÞÅÎÉÑÍÉ. TID ÉÚÍÅÎÑÅÔÓÑ ÐÏÓÌÅ ÔÏÇÏ ËÁË ÚÁÐÉÓÉ
-   ÂÙÌÉ ÉÚÍÅÎÅÎÙ ÉÌÉ ÐÅÒÅÇÒÕÖÅÎÙ.
+   TID ispol'zuetsya dlya identifikacii special'nyh fizicheskih zapisej s
+   blochnymi i offset znacheniyami. TID izmenyaetsya posle togo kak
+   zapisi byli izmeneny ili peregruzheny.
    
-   TID ÉÓÐÏÌØÚÕÅÔÓÑ ÉÎÄÅËÓÎÙÍÉ ÚÁÐÉÓÑÍÉ × ËÁÞÅÓÔ×Å ÕËÁÚÁÔÅÌÑ ÎÁ
-   ÆÉÚÉÞÅÓËÉÅ ÚÁÐÉÓÉ.
+   TID ispol'zuetsya indeksnymi zapisyami v kachestve ukazatelya na
+   fizicheskie zapisi.
    
-    4.17) þÔÏ ÏÚÎÁÞÁÀÔ ÎÅËÏÔÏÒÙÅ ÔÅÒÍÉÎÙ ÉÓÐÏÌØÚÕÅÍÙÅ × PostgreSQL?
+    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
@@ -1050,94 +1080,99 @@ BYTEA           bytea           
      * portal, cursor
      * range variable, table name, table alias
        
-   óÐÉÓÏË ÏÂÝÉÈ ÔÅÒÍÉÎÏ× ÐÏ ÂÁÚÁÍ ÄÁÎÎÙÈ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ
-   http://www.comptechnews.com/~reaster/dbdesign.html
+   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) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ "ERROR: Memory exhausted in AllocSetAlloc()"?
+    4.18) Pochemu ya poluchayu oshibku "ERROR: Memory exhausted in
+    AllocSetAlloc()"?
     
-   ðÒÅÄÐÏÌÏÖÉÔÅÌØÎÏ Õ ×ÁÓ ÚÁËÏÎÞÉÌÁÓØ ×ÉÒÔÕÁÌØÎÁÑ ÐÁÍÑÔØ ÉÌÉ ÞÔÏ ×ÁÛÅ
-   ÑÄÒÏ ÉÍÅÅÔ ÍÁÌÅÎØËÉÊ ÌÉÍÉÔ ÎÁ ÏÐÒÅÄÅÌÅÎÎÙÅ ÒÅÓÕÒÓÙ. ðÏÐÙÔÁÊÔÅÓØ ÐÅÒÅÄ
-   ÚÁÐÕÓËÏÍ postmaster ×ÙÐÏÌÎÉÔØ ÓÌÅÄÕÀÝÉÅ ËÏÍÁÎÄÙ:
+   Predpolozhitel'no u vas zakonchilas' virtual'naya pamyat' ili chto
+   vashe yadro imeet malen'kij limit na opredelennye resursy. Popytajtes'
+   pered zapuskom postmaster vypolnit' sleduyuschie komandy:
     ulimit -d 262144
     limit datasize 256m
 
-   ÷ ÚÁ×ÉÓÉÍÏÓÔÉ ÏÔ ËÏÍÁÎÄÎÏÇÏ ÉÎÔÅÒÐÒÅÔÁÔÏÒÁ shell, ÔÏÌØËÏ ÏÄÎÁ ÉÚ
-   ÄÁÎÎÙÈ ËÏÍÁÎÄ ×ÙÐÏÌÎÉÔÓÑ ÕÓÐÅÛÎÏ, ÎÏ ÏÎÁ ÐÏÚ×ÏÌÉÔ ×ÁÍ ÕÓÔÁÎÏ×ÉÔØ
-   ÂÏÌØÛÉÊ ÓÅÇÍÅÎÔ ÄÁÎÎÙÈ ÐÒÏÃÅÓÓÁ É ×ÏÚÍÏÖÎÏ ÒÅÛÉÔ ÐÒÏÂÌÅÍÕ. üÔÁ ËÏÍÁÎÄÁ
-   ÉÚÍÅÎÑÅÔ ÐÁÒÁÍÅÔÒÙ ÔÅËÕÝÅÇÏ ÐÒÏÃÅÓÓÁ É ×ÓÅÈ ÅÇÏ ÐÏÔÏÍËÏ×, ÓÏÚÄÁÎÎÙÈ
-   ÐÏÓÌŠţ ÚÁÐÕÓËÁ. åÓÌÉ Õ ×ÁÓ ×ÏÚÎÉËÌÁ ÐÒÏÂÌÅÍÁ Ó SQL ËÌÉÅÎÔÏÍ, ÐÏÔÏÍÕ
-   ÞÔÏ backend ×ÏÚ×ÒÁÝÁÅÔ ÓÌÉÛËÏÍ ÂÏÌØÛÏÊ ÏÂßÅÍ ÄÁÎÎÙÈ, ÐÏÐÙÔÁÊÔÅÓØ
-   ×ÙÐÏÌÎÉÔØ ÜÔÕ ËÏÍÁÎÄÕ ÐÅÒÅÄ ÚÁÐÕÓËÏÍ ËÌÉÅÎÔÁ.
-   
-    4.19) ëÁË ÍÎÅ ÕÚÎÁÔØ, ËÁËÁÑ ×ÅÒÓÉÑ PostgreSQL ÚÁÐÕÝÅÎÁ?
+   V zavisimosti ot komandnogo interpretatora shell, tol'ko odna iz
+   dannyh komand vypolnitsya uspeshno, no ona pozvolit vam ustanovit'
+   bol'shij segment dannyh processa i vozmozhno reshit problemu. `Eta
+   komanda izmenyaet parametry tekuschego processa i vseh ego potomkov,
+   sozdannyh posle eio zapuska. Esli u vas voznikla problema s SQL
+   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?
     
-   éÚ psql, ÎÁÂÅÒÉÔÅ select version();
+   Iz psql, naberite SELECT version();
    
-    4.20) ðÏÞÅÍÕ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÏÉÍ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ "invalid
-    large obj descriptor"?
+    4.20) Pochemu pri rabote s moim bol'shim ob"ektom ya poluchayu oshibku
+    "invalid large obj descriptor"?
     
-   ÷ÁÍ ÎÕÖÎÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÂÏÌØÛÏÇÏ ÏÂßÅËÔÁ ÐÏÍÅÓÔÉÔØ × ÎÁÞÁÌÅ BEGIN
-   WORK É × ËÏÎÃÅ COMMIT, Á ×ÎÕÔÒÉ ÐÏÌÕÞÉ×ÛÅÇÏÓÑ ÂÌÏËÁ lo_open ...
-   lo_close.
-   
-   ÷ ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ PostgreSQL ÔÒÅÂÕÅÔ, ÞÔÏÂÙ ÐÒÉ ÚÁËÒÙÔÉÉ ÂÏÌØÛÏÇÏ
-   ÏÂßÅËÔÁ ÐÒÏÉÓÈÏÄÉÌÏ ×ÙÐÏÌÎÅÎÉÅ ÔÒÁÎÚÁËÃÉÉ. ôÁËÉÍ ÏÂÒÁÚÏÍ, ÐÅÒ×ÁÑ ÖÅ
-   ÐÏÐÙÔËÁ ÓÄÅÌÁÔØ ÞÔÏ-ÌÉÂÏ Ó ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ, ÎÅ ÓÏÂÌÀÄÁÑ ÄÁÎÎÏÇÏ
-   ÐÒÁ×ÉÌÁ ÐÒÉ×ÅÄÅÔ Ë ÓÏÏÂÝÅÎÉÀ invalid large obj descriptor, ÔÁË ËÁË ËÏÄ
-   ×ÙÐÏÌÎÑÀÝÉÊ ÒÁÂÏÔÕ ÎÁÄ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ (ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ × ÎÁÓÔÏÑÝÉÊ
-   ÍÏÍÅÎÔ) ÂÕÄÅÔ ÇÅÎÅÒÉÒÏ×ÁÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ ÅÓÌÉ ×Ù ÎÅ ÉÓÐÏÌØÚÕÅÔÅ
-   ÔÒÁÎÚÁËÃÉÀ.
-   
-   åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ ÔÁËÏÊ ÉÎÔÅÒÆÅÊÓ ËÌÉÅÎÔÁ ËÁË ODBC, ×ÁÍ ×ÏÚÍÏÖÎÏ
-   ÐÏÎÁÄÏÂÉÔÓÑ ÕÓÔÁÎÏ×ÉÔØ auto-commit off.
-   
-    4.21) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ËÏÌÏÎËÕ ËÏÔÏÒÁÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÕÄÅÔ ÓÏÄÅÒÖÁÔØ ÔÅËÕÝÅÅ
-    ×ÒÅÍÑ?
+   Vam nuzhno pri ispol'zovanii bol'shogo ob"ekta pomestit' v nachale
+   BEGIN WORK i v konce COMMIT, a vnutri poluchivshegosya bloka lo_open
+   ... lo_close.
+   
+   V nastoyaschij moment PostgreSQL trebuet, chtoby pri zakrytii
+   bol'shogo ob"ekta proishodilo vypolnenie tranzakcii. Takim obrazom,
+   pervaya zhe popytka sdelat' chto-libo s bol'shim ob"ektom, ne
+   soblyudaya dannogo pravila privedet k soobscheniyu invalid large obj
+   descriptor, tak kak kod vypolnyayuschij rabotu nad bol'shim ob"ektom
+   (po krajnej mere v nastoyaschij moment) budet generirovat' soobschenie
+   ob oshibke esli vy ne ispol'zuete tranzakciyu.
+   
+   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'
+    tekuschee vremya?
     
-   éÓÐÏÌØÚÕÊÔÅ CURRENT_TIMESTAMP:
+   Ispol'zujte CURRENT_TIMESTAMP:
 CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
 
-    4.22) ðÏÞÅÍÕ ÍÏÉ ÐÏÄÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ IN ÔÁË ÍÅÄÌÅÎÎÏ ÒÁÂÏÔÁÅÀÔ?
-    
-   ÷ ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ, ÍÙ Ó×ÑÚÙ×ÁÅÍ ÐÏÚÁÐÒÏÓÙ ÄÌÑ ×ÎÅÛÎÉÈ ÚÁÐÒÏÓÏ× ÞÅÒÅÚ
-   ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÙÊ ÐÅÒÅÂÏÒ ÒÅÚÕÌØÔÁÔÁ ÐÏÄÚÁÐÒÏÓÁ ÄÌÑ ËÁÖÄÏÊ ÚÁÐÉÓÉ
-   ×ÎÅÛÎÅÇÏ ÚÁÐÒÏÓÁ. åÓÌÉ ÐÏÄÚÁÐÒÏÓ ×ÏÚ×ÒÁÝÁÅÔ ÔÏÌØËÏ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ É
-   ×ÎÅÛÎÉÊ ÚÁÐÒÏÓ ×ÏÚ×ÒÁÝÁÅÔ ÍÎÏÇÏ ÚÁÐÉÓÅÊ, IN ÒÁÂÏÔÁÅÔ ÎÁÉÂÏÌÅÅ ÂÙÓÔÒÏ.
-   þÔÏÂÙ Õ×ÅÌÉÞÉÔØ ÓËÏÒÏÓÔØ × ÄÒÕÇÉÈ ÚÁÐÒÏÓÁÈ, ÚÁÍÅÎÉÔÅ IN ÎÁ EXISTS:
-SELECT *
+    4.22) Pochemu moi podzaprosy, ispol'zuyuschie IN tak medlenno rabotaeyut?
+    
+   V nastoyaschij moment, my svyazyvaem pozaprosy dlya vneshnih zaprosov
+   cherez posledovatel'nyj perebor rezul'tata podzaprosa dlya kazhdoj
+   zapisi vneshnego zaprosa. Esli podzapros vozvraschaet tol'ko neskol'ko
+   zapisej i vneshnij 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)
+    WHERE col IN (SELECT subcol FROM subtab);
 
-   ÎÁ:
-SELECT *
+   na:
+    SELECT *
     FROM tab
-    WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col)
+    WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
 
-   þÔÏÂÙ ÔÁËÁÑ ËÏÎÓÔÒÕËÃÉÑ ÒÁÂÏÔÁÌÁ ÂÙÓÔÒÏ, ËÏÌÏÎËÁ subcol ÄÏÌÖÎÁ ÂÙÔØ
-   ÐÒÏÉÎÄÅËÓÉÒÏ×ÁÎÁ. íÙ ÎÁÄÅÅÍÓÑ ÕÂÒÁÔØ ÜÔÏ ÏÇÒÁÎÉÞÅÎÉÅ × ÂÕÄÕÝÅÍ
-   ×ÙÐÕÓËÅ.
+   CHtoby takaya konstrukciya rabotala bystro, kolonka subcol dolzhna
+   byt' proindeksirovana. My nadeemsya ubrat' `eto ogranichenie v
+   buduschem vypuske.
    
-    4.23) ëÁË ÍÎÅ ×ÙÐÏÌÎÉÔØ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ?
+    4.23) Kak mne vypolnit' vneshnee svyazyvanie?
     
-   PostgreSQL ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ, ÉÓÐÏÌØÚÕÑ ÓÔÁÎÄÁÒÔÎÙÊ
-   ÓÉÎÔÁËÓÉÓ SQL. ÷ÏÔ Ä×Á ÐÒÉÍÅÒÁ:
+   PostgreSQL podderzhivaet vneshnee svyazyvanie, ispol'zuya standartnyj
+   sintaksis SQL. Vot dva primera:
     SELECT *
     FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
 
-   ÉÌÉ
+   ili
     SELECT *
     FROM t1 LEFT OUTER JOIN t2 USING (col);
 
-   üÔÏ ÉÄÅÎÔÉÞÎÙÅ ÚÁÐÒÏÓÙ Ó×ÑÚÙ×ÁÎÉÑ t1.col É t2.col, ÔÁËÖÅ ×ÏÚ×ÒÁÝÁÀÔ
-   ÌÀÂÙÅ ÎÅÓ×ÑÚÁÎÎÙÅ ÚÁÐÉÓÉ × t1 (ËÏÔÏÒÙÅ ÎÅ ÓÏ×ÐÁÄÁÀÔ Ó t2). RIGHT
-   Ó×ÑÚÙ×ÁÎÉÅ ÄÏÌÖÎÏ ÄÏÂÁ×ÉÔØ ÎÅÓ×ÑÚÁÎÎÙÅ ÚÁÐÉÓÉ t2. FULL Ó×ÑÚÙ×ÁÎÉÅ
-   ÄÏÌÖÎÏ ×ÏÚ×ÒÁÔÉÔØ ÓÏ×ÐÁ×ÛÉÅ ÚÁÐÉÓÉ ÐÌÀÓ ×ÓÅ ÎÅÓ×ÑÚÁÎÎÙÅ ÚÁÐÉÓÉ ÉÚ t1 É
-   t2. óÌÏ×Ï OUTER Ñ×ÌÑÅÔÓÑ ÎÅÏÂÑÚÁÔÅÌØÎÙÍ É ÎÁÚÎÁÞÁÅÔÓÑ × LEFT, RIGHT É
-   FULL Ó×ÑÚÙ×ÁÎÉÑÈ. ïÂÙÞÎÙÅ Ó×ÑÚÙ×ÁÎÉÑ ÎÁÚÙ×ÁÀÔÓÑ INNER Ó×ÑÚÙ×ÁÎÉÑ.
-   
-   ÷ ÐÒÅÄÙÄÕÝÉÈ ×ÅÒÓÉÑÈ, ×ÎÅÛÎÉÅ Ó×ÑÚÙ×ÁÎÉÑ ÍÏÇÌÉ ÂÙÔØ ÜÍÕÌÉÒÏ×ÁÎÙ
-   ÉÓÐÏÌØÚÕÑ UNION É NOT IN. îÁÐÒÉÍÅÒ, ËÏÇÄÁ ÐÒÏÉÓÈÏÄÉÔ Ó×ÑÚÙ×ÁÎÉÅ tab1 É
-   tab2, ÓÌÅÄÕÀÝÉÊ ÚÁÐÒÏÓ ×ÙÐÏÌÎÑÅÔ ×ÎÅÛÎÅÅ Ó×ÑÚÙ×ÁÎÉÅ Ä×ÕÈ ÔÁÂÌÉÃ:
+   `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
+   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
@@ -1147,67 +1182,86 @@ SELECT *
     WHERE tab1.col1 NOT IN (SELECT tab2.col1 FROM tab2)
     ORDER BY col1
 
-    4.24) ëÁË ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ, ÉÓÐÏÌØÚÕÀÝÉÅ ÎÅÓËÏÌØËÏ ÂÁÚ ÄÁÎÎÙÈ?
-    
-   îÅ ÓÕÝÅÓÔ×ÕÅÔ ÓÐÏÓÏÂÁ ÓÏÚÄÁÔØ ÚÁÐÒÏÓ Ë ÂÁÚÁÍ ÄÁÎÎÙÈ ÏÔÌÉÞÎÙÍ ÏÔ
-   ÔÅËÕÝÅÊ. ðÏÓËÏÌØËÕ PostgreSQL ÚÁÇÒÕÖÁÅÔ ÓÉÓÔÅÍÎÙÅ ËÁÔÁÌÏÇÉ ÓÐÅÃÉÆÉÞÎÙÅ
-   ÄÌÑ ÂÁÚÙ ÄÁÎÎÙÈ, ÎÅÐÏÎÑÔÎÏ ÄÁÖÅ, ËÁË ÄÏÌÖÅΠÓÅÂÑ ×ÅÓÔÉ ÔÁËÏÊ
-   ÍÅÖÂÁÚÏ×ÙÊ ÚÁÐÒÏÓ.
-   
-   /contrib/dblink ÐÏÚ×ÏÌÑÅÔ ÚÁÐÒÏÓÙ ÍÅÖÄÕ ÂÁÚÁÍÉ, ÉÓÐÏÌØÚÕÑ ×ÙÚÏ×Ù
-   ÆÕÎËÃÉÊ. òÁÚÕÍÅÅÔÓÑ, ËÌÉÅÎÔ ÍÏÖÅÔ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ
-   ÓÏÅÄÉÅÎÅÎÉÑ Ó ÒÁÚÌÉÞÎÙÍÉ ÂÁÚÁÍÉ ÄÁÎÎÙÈ É ÔÁËÉÈ ÏÂÒÁÚÏÍ ÏÂßÅÄÉÎÑÔØ
-   ÉÎÆÏÒÍÁÃÉÀ ÉÚ ÎÉÈ.
-   
-    4.25) ëÁË ÍÎÅ ×ÅÒÎÕÔØ ÉÚ ÆÕÎËÃÉÉ ÎÅÓËÏÌØËÏ ÚÁÐÉÓÅÊ?
-    
-   ÷Ù ÍÏÖÅÔÅ ×ÏÚ×ÒÁÝÁÔØ ÉÚ ÆÕÎËÃÉÊ PL/pgSQL ÓÐÉÓËÉ ÒÅÚÕÌØÔÁÔÏ×, ÉÓÐÏÌØÚÕÑ
-   refcursors. óÍÏÔÒÉÔÅ
-   http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html,
-   ÓÅËÃÉÀ 23.7.3.3.
-   
-    4.26) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ ×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ ×
-    ÆÕÎËÃÉÑÈ PL/PgSQL?
-    
-   PL/PgSQL ËÜÛÉÒÕÅÔ ÓÏÄÅÒÖÉÍÏÅ ÆÕÎËÃÉÉ É ÏÄÉΠÉÚ ÎÅÇÁÔÉ×ÎÙÈ ÜÆÆÅËÔÏ×
-   ÜÔÏÇÏ ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏ ÅÓÌÉ ÆÕÎËÃÉÑ PL/PgSQL ÏÂÒÁÝÁÅÔÓÑ Ë ×ÒÅÍÅÎÎÏÊ
-   ÔÁÂÌÉÃÅ É ÜÔÁ ÔÁÂÌÉÃÁ ÐÏÚÄÎÅÅ ÕÄÁÌÑÅÔÓÑ É ÐÅÒÅÓÏÚÄÁÅÔÓÑ, Á ÆÕÎËÃÉÑ
-   ÚÁÔÅÍ ×ÙÚÙ×ÁÅÔÓÑ ÓÎÏ×Á, ÔÏ ÅÅ ×ÙÚÏ× ÐÒÉ×ÅÄÅÔ Ë ÏÛÉÂËÅ, ÐÏÔÏÍÕ ÞÔÏ
-   ÓËÜÛÉÒÏ×ÁÎÎÏÅ ÓÏÄÅÒÖÉÍÏÅ ÆÕÎËÃÉÉ ÓÏÄÅÒÖÉÔ ÕËÁÚÁÔÅÌØ ÎÁ ÓÔÁÒÕÀ
-   ×ÒÅÍÅÎÎÕÀ ÔÁÂÌÉÃÕ. þÔÏÂÙ ÒÅÛÉÔØ ÜÔÕ ÐÒÏÂÌÅÍÕ, ÉÓÐÏÌØÚÕÊÔÅ EXECUTE ÄÌÑ
-   ÄÏÓÔÕÐÁ Ë ×ÒÅÍÅÎÎÙÍ ÔÁÂÌÉÃÁÍ × PL/PgSQL. éÓÐÏÌØÚÏ×ÁÎÉÅ ÜÔÏÇÏ ÏÐÅÒÁÔÏÒÁ
-   ÚÁÓÔÁ×ÉÔ ÚÁÐÒÏÓ ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÔØÓÑ ËÁÖÄÙÊ ÒÁÚ.
-   
-    4.27) ëÁËÉÅ ÏÐÃÉÉ ÒÅÐÌÉËÁÃÉÉ ÓÕÝÅÓÔ×ÕÀÔ?
-    
-   åÓÔØ ÎÅÓËÏÌØËÏ ÒÅÛÅÎÉÊ ÄÌÑ ÒÅÐÌÉËÁÃÉÉ ÔÉÐÁ master/slave. ïÎÉ ÄÏÐÕÓËÁÀÔ
-   ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÔÏÌØËÏ ÏÄÎÏÇÏ ÓÅÒ×ÅÒÁ ÄÌÑ ×ÎÅÓÅÎÉÑ ÉÚÍÅÎÅÎÉÊ × ÂÁÚÕ
-   ÄÁÎÎÙÈ, Á slave ÓÅÒ×ÅÒÙ ÐÒÏÓÔÏ ÐÏÚ×ÏÌÑÀÔ ÞÉÔÁÔØ ÄÁÎÎÙÅ ÉÚ ÂÁÚÙ.
+    4.24) 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
+   specifichnye dlya bazy dannyh, neponyatno dazhe, kak dolzhen sebya
+   vesti takoj mezhbazovyj zapros.
+   
+   contrib/dblink pozvolyaet zaprosy mezhdu bazami, ispol'zuya vyzovy
+   funkcij. Razumeetsya, klient mozhet odnovremenno ustanavlivat'
+   soedieneniya s razlichnymi bazami dannyh i takih obrazom ob"edinyat'
+   informaciyu iz nih.
+   
+    4.25) Kak mne vernut' iz funkcii neskol'ko zapisej?
+    
+   Vy mozhete vozvraschat' iz funkcij PL/pgSQL spiski rezul'tatov,
+   ispol'zuya refcursors. Smotrite
+   http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html,
+   sekciyu 23.7.3.3.
+   
+    4.26) Pochemu ya ne mogu nadezhno sozdavat'/udalyat' vremennye tablicy v
+    funkciyah PL/PgSQL?
+    
+   PL/PgSQL k`eshiruet soderzhimoe 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,
+   potomu chto sk`eshirovannoe soderzhimoe funkcii soderzhit ukazatel' na
+   staruyu vremennuyu tablicu. CHtoby reshit' `etu problemu, ispol'zujte
+   EXECUTE dlya dostupa k vremennym tablicam v PL/PgSQL. Ispol'zovanie
+   `etogo operatora zastavit zapros peregenerirovat'sya kazhdyj raz.
+   
+    4.27) Kakie opcii replikacii suschestvuyut?
+    
+   Est' neskol'ko opcij dlya replikacii tipa master/slave. Oni dopuskayut
+   ispol'zovanie tol'ko master servera dlya vneseniya izmenenij v bazu
+   dannyh, a slave servery prosto pozvolyayut chitat' dannye iz bazy. Ob
+   `etom chitajte zdes':
+   http://gborg.PostgreSQL.org/genpage?replication_research. O replikacii
+   s neskol'kimi master serverami chitajte zdes':
+   http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php.
+   
+    4.28) Kakie opcii shifrovaniya suschestvuyut?
+    
+     * contrib/pgcrypto soderzhit mnogo funkcij shifrovaniya dlya
+       ispol'zovaniya v SQL zaprosah.
+     * Est' tol'ko odin sposob shifrovaniya dannyh, peredavaemyh ot
+       klienta k serveru, cherez ispol'zovanie hostssl v pg_hba.conf.
+     * 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.
+     * Server mozhno zapustit', ispol'zuya shifrovannuyu fajlovuyu
+       sistemu.
      _________________________________________________________________
    
-                           òÁÓÛÉÒÅÎÉÑ PostgreSQL
+                          Rasshireniya PostgreSQL
                                       
-    5.1) ñ ÎÁÐÉÓÁÌ ÆÕÎËÃÉÀ ÏÐÒÅÄÅÌÑÅÍÕÀ ÐÏÌØÚÏ×ÁÔÅÌÅÍ. ëÏÇÄÁ Ñ ÚÁÐÕÓËÁÀ ÅÅ ×
-    psql, ÐÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ dump core?
+    5.1) YA napisal funkciyu opredelyaemuyu pol'zovatelem. Kogda ya zapuskayu
+    ee v psql, pochemu ya poluchayu dump core?
     
-   ðÒÏÂÌÅÍÁ ÍÏÖÅÔ ÚÁËÌÀÞÁÔØÓÑ × ÎÅÓËÏÌØËÉÈ ×ÅÝÁÈ. ðÏÐÙÔÁÊÔÅÓØ ÓÐÅÒ×Á
-   ÐÒÏÔÅÓÔÉÒÏ×ÁÔØ ×ÁÛÕ ÆÕÎËÃÉÀ × ÏÔÄÅÌØÎÏÊ ÓÁÍÏÓÔÏÑÔÅÌØÎÏÊ ÐÒÏÇÒÁÍÍÅ.
+   Problema mozhet zaklyuchat'sya v neskol'kih veschah. Popytajtes'
+   sperva protestirovat' vashu funkciyu v otdel'noj samostoyatel'noj
+   programme.
    
-    5.2) ëÁË Ñ ÍÏÇÕ ×ÎÅÓÔÉ ÎÅËÏÔÏÒÙÅ ËÌÁÓÓÎÙÅ ÎÏ×ÙÅ ÔÉÐÙ É ÆÕÎËÃÉÉ ×
+    5.2) Kak ya mogu vnesti nekotorye klassnye novye tipy i funkcii v
     PostgreSQL?
     
-   ïÔÐÒÁ×ØÔÅ ×ÁÛÉ ÒÁÓÛÉÒÅÎÉÑ × ÓÐÉÓÏË ÒÁÓÓÙÌËÉ pgsql-hackers É ÏÎÉ ÐÏ
-   ×ÏÚÍÏÖÎÏÓÔÉ ÂÕÄÕÔ ÐÏÍÅÝÅÎÙ × ÐÏÄËÁÔÁÌÏÇ contrib/.
+   Otprav'te vashi rasshireniya v spisok rassylki pgsql-hackers i oni po
+   vozmozhnosti budut pomescheny v podkatalog contrib/.
    
-    5.3) ëÁË ÍÎÅ ÎÁÐÉÓÁÔØ C ÆÕÎËÃÉÀ, ×ÏÚ×ÒÁÝÁÀÝÕÀ ÚÁÐÉÓØ?
+    5.3) Kak mne napisat' C funkciyu, vozvraschayuschuyu zapis'?
     
-   üÔÏ ÔÒÅÂÕÅÔ ÎÅËÏÅÇÏ ÛÁÍÁÎÓÔ×Á ÔÁË ËÁË Á×ÔÏÒÙ ÎÉËÏÇÄÁ ÎÅ ÐÒÏÂÏ×ÁÌÉ
-   ÄÅÌÁÔØ ÜÔÏ, ÈÏÔÑ × ÐÒÉÎÉÃÐÅ ÜÔÏ ×ÏÚÍÏÖÎÏ.
+   V versiyah PostgreSQL, nachinaya s 7.3, funkcii, vozvraschayuschie
+   tablicy polnost'yu podderzhivayutsya v C, PL/PgSQL i SQL. Podrobnosti
+   smotrite v Rukovodstve Programmista. Primer vozvraschayuschej tablicu
+   funkcii, napisannoj na C, mozhno najti v contrib/tablefunc.
    
-    5.4) ñ ÉÚÍÅÎÉÌ ÉÓÈÏÄÎÙÊ ÆÁÊÌ. ðÏÞÅÍÕ ÐÏÓÌÅ ÐÅÒÅËÏÍÐÉÌÑÃÉÉ Ñ ÎÅ ×ÉÖÕ
-    ÉÚÍÅÎÅÎÉÊ?
+    5.4) YA izmenil ishodnyj fajl. Pochemu posle perekompilyacii ya ne vizhu
+    izmenenij?
     
-   æÁÊÌÙ Makefile ÎÅ ÉÍÅÀÔ ÐÒÁ×ÉÌØÎÙÈ ÚÁ×ÉÓÉÍÏÓÔÅÊ ÄÌÑ include ÆÁÊÌÏ×. ÷Ù
-   ÄÏÌÖÎÙ ×ÙÐÏÌÎÉÔØ make clean É ÚÁÔÅÍ make. åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ GCC ×Ù
-   ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÐÃÉÀ --enable-depend × configure ÞÔÏÂÙ ÐÏÒÕÞÉÔØ
-   ËÏÍÐÉÌÑÔÏÒÕ Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÔÓÌÅÖÉ×ÁÔØ ÚÁ×ÉÓÉÍÏÓÔÉ.
+   Fajly Makefile ne imeyut pravil'nyh zavisimostej dlya include fajlov.
+   Vy dolzhny vypolnit' make clean i zatem make. Esli vy ispol'zuete GCC
+   vy mozhete ispol'zovat' opciyu --enable-depend v configure chtoby
+   poruchit' kompilyatoru avtomaticheski otslezhivat' zavisimosti.
index a5c22f0..ffe0a22 100644 (file)
@@ -2,11 +2,10 @@
 
 <HTML>
   <!-- DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN" -->
-  <!-- HTML -->
 
   <HEAD>
     <META name="generator" content="HTML Tidy, see www.w3.org">
-
+    <META http-equiv="Content-Type" content="text/html; charset=koi8-r">
     <TITLE>PostgreSQL FAQ</TITLE>
   </HEAD>
 
@@ -14,7 +13,7 @@
   alink="#0000ff">
     <H1>ïÔ×ÅÔÙ ÎÁ ÞÁÓÔÏ ÚÁÄÁ×ÁÅÍÙÅ ×ÏÐÒÏÓÙ ÐÏ PostgreSQL</H1>
 
-    <P>äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: óÒÅÄÁ 9 ïËÔÑÂÒÑ 23:14:53 EDT 2002</P>
+    <P>äÁÔÁ ÐÏÓÌÅÄÎÅÇÏ ÏÂÎÏ×ÌÅÎÉÑ: ÷ÏÓËÒÅÓÅÎØÅ 20 ïËÔÑÂÒÑ 20:47:14 EDT 2002</P>
 
     <P>áÎÇÌÉÊÓËÉÊ ×ÁÒÉÁÎÔ ÓÏÐÒÏ×ÏÖÄÁÅÔ: âÒÀÓ íÏÍØÑΠ(Bruce Momjian) (<A href=
     "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
@@ -32,8 +31,7 @@
     <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>
@@ -80,8 +78,7 @@
      <A href="#3.7">3.7</A>) ëÁËÉÅ ×ÏÚÍÏÖÎÏÓÔÉ ÄÌÑ ÏÔÌÁÄËÉ ÅÓÔØ × ÎÁÌÉÞÉÉ?<BR>
      <A href="#3.8">3.8</A>) ðÏÞÅÍÕ Ñ ÐÏÌÕÞÁÀ ÓÏÏÂÝÅÎÉÅ <I>"Sorry, too many
     clients"</I> ËÏÇÄÁ ÐÙÔÁÀÓØ ÐÏÄËÌÀÞÉÔØÓÑ Ë ÂÁÚÅ?<BR>
-     <A href="#3.9">3.9</A>) þÔÏ ÜÔÏ ÚÁ ÆÁÊÌÙ <I>pg_sorttempNNN.NN</I>
-    × ÍÏÅÍ ËÁÔÁÌÏÇÅ Ó ÂÁÚÏÊ ÄÁÎÎÙÈ?<BR>
+     <A href="#3.9">3.9</A>) þÔÏ ÎÁÈÏÄÉÔÓÑ × ËÁÔÁÌÏÇÅ <I>pgsql_tmp</I>?<BR>
      <A href="#3.10">3.10</A>) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ
     ÏÂÎÏ×ÌÅÎÉÉ ×ÙÐÕÓËÏ× PostgreSQL?<BR>
      
      <A href="#4.26">4.26</A>) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ
      ×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ × ÆÕÎËÃÉÑÈ PL/PgSQL?<BR>
      <A href="#4.27">4.27</A>) ëÁËÉÅ ÏÐÃÉÉ ÒÅÐÌÉËÁÃÉÉ ÓÕÝÅÓÔ×ÕÀÔ?<BR>
+     <A href="#4.28">4.28</A>) ëÁËÉÅ ÏÐÃÉÉ ÛÉÆÒÏ×ÁÎÉÑ ÓÕÝÅÓÔ×ÕÀÔ?<BR>
 
     <H2 align="center">òÁÓÛÉÒÅÎÉÑ PostgreSQL</H2>
     <A href="#5.1">5.1</A>) ñ ÎÁÐÉÓÁÌ ÆÕÎËÃÉÀ ÏÐÒÅÄÅÌÑÅÍÕÀ ÐÏÌØÚÏ×ÁÔÅÌÅÍ.
 
     <H2 align="center">ïÂÝÉÅ ×ÏÐÒÏÓÙ</H2>
 
-    <H4><A name="1.1">1.1</A>) þÔÏ ÔÁËÏÅ PostgreSQL?</H4>
+    <H4><A name="1.1">1.1</A>) þÔÏ ÔÁËÏÅ PostgreSQL? ëÁË ÐÒÏÉÚÎÏÓÉÔÓÑ ÜÔÏ ÎÁÚ×ÁÎÉÅ?</H4>
 
     <P>PostgreSQL ÐÒÏÉÚÎÏÓÉÔÓÑ <I>Post-Gres-Q-L (ðÏÓÔ-çÒÅÓ-ëØÀ-üÌ)</I>.</P>
 
     ÒÁÓÛÉÒÅÎÎÏÅ ÐÏÄÍÎÏÖÅÓÔ×Ï <SMALL>SQL</SMALL>. PostgreSQL - ÜÔÏ
     Ó×ÏÂÏÄÎÏÅ É ÐÏÌÎÏÓÔØÀ ÏÔËÒÙÔÏÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ.</P>
 
-    <P>òÁÚÒÁÂÏÔËÕ PostgreSQL ×ÙÐÏÌÎÑÅÔ ËÏÍÁÎÄÁ,
-    Ó×ÑÚÁÎÎÁÑ ÞÅÒÅÚ Internet, ×ÓÅ ÕÞÁÓÔÎÉËÉ ËÏÔÏÒÏÊ ÐÏÄÐÉÓÁÎÙ ÎÁ ÓÐÉÓÏË
-    ÒÁÓÓÙÌËÉ ÒÁÚÒÁÂÏÔÞÉËÏ×. ÷ ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ, ÉÈ ËÏÏÒÄÉÎÁÔÏÒÏÍ
-    Ñ×ÌÑÅÔÓÑ íÁÒË æÏÒÎÁÊ (Marc G. Fournier) (<A href=
+    <P>òÁÚÒÁÂÏÔËÕ PostgreSQL ×ÙÐÏÌÎÑÅÔ ËÏÍÁÎÄÁ ÒÁÚÒÁÂÏÔÞÉËÏ×, ×ÓÅ ÕÞÁÓÔÎÉËÉ
+    ËÏÔÏÒÏÊ ÐÏÄÐÉÓÁÎÙ ÎÁ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÒÁÚÒÁÂÏÔÞÉËÏ×. ÷ ÎÁÓÔÏÑÝÅÅ ×ÒÅÍÑ,
+    ÉÈ ËÏÏÒÄÉÎÁÔÏÒÏÍ Ñ×ÌÑÅÔÓÑ íÁÒË æÏÒÎÁÊ (Marc G. Fournier) (<A href=
     "mailto:scrappy@PostgreSQL.org">scrappy@PostgreSQL.org</A>). (óÍ.
-    ÎÉÖÅ Ï ÔÏÍ, ËÁË ÐÏÄËÌÀÞÉÔØÓÑ Ë ÒÁÚÒÁÂÏÔËÅ). üÔÁ ËÏÍÁÎÄÁ ÔÅÐÅÒØ
-    ÏÔ×ÅÞÁÅÔ ÚÁ ×ÓÀ ÒÁÚÒÁÂÏÔËÕ PostgreSQL.</P>
+    ÓÅËÃÉÀ <A href="#1.6">1.6</A> Ï ÔÏÍ, ËÁË ÐÏÄËÌÀÞÉÔØÓÑ Ë ÒÁÚÒÁÂÏÔËÅ).
+    üÔÁ ËÏÍÁÎÄÁ ÔÅÐÅÒØ ÏÔ×ÅÞÁÅÔ ÚÁ ×ÓÀ ÒÁÚÒÁÂÏÔËÕ PostgreSQL.</P>
 
     <P>á×ÔÏÒÁÍÉ PostgreSQL 1.01 Ñ×ÌÑÀÔÓÑ üÎÄÒÀ à (Andrew Yu) É äÖÏÌÉ þÅΠ
     (Jolly Chen). íÎÏÇÉÅ ÄÒÕÇÉÅ ×ÎÅÓÌÉ Ó×ÏÊ ×ËÌÁÄ × ÐÅÒÅÎÏÓ ÎÁ ÄÒÕÇÉÅ
     <P><STRONG>ëÌÉÅÎÔ</STRONG></P>
 
     <P>äÌÑ ÚÁÐÕÓËÁ ÎÁ ÐÌÁÔÆÏÒÍÁÈ MS Windows ×ÏÚÍÏÖÎÁ ËÏÍÐÉÌÑÃÉÑ C
-    ÂÉÂÌÉÏÔÅËÉ <I>libpq</I>, psql É ÄÒÕÇÉÈ ÉÎÔÅÒÆÅÓÏ× É ÂÉÎÁÒÎÙÈ ÆÁÊÌÏ×.
+    ÂÉÂÌÉÏÔÅËÉ <I>libpq</I>, psql, ÄÒÕÇÉÈ ÉÎÔÅÒÆÅÓÏ× É ËÌÉÅÎÔÓËÉÈ ÐÒÉÌÏÖÅÎÉÊ.
     ÷ ÜÔÏÍ ÓÌÕÞÁÅ, ËÌÉÅÎÔ ÚÁÐÕÓËÁÅÔÓÑ ÎÁ MS Windows É Ó×ÑÚÙ×ÁÅÔÓÑ ÐÏ
     TCP/IP Ó ÓÅÒ×ÅÒÏÍ, ÚÁÐÕÝÅÎÎÙÍ ÎÁ ÏÄÎÏÊ ÉÚ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ Unix
-    ÐÌÁÔÆÏÒÍ. ÷ ÄÉÓÔÒÉÂÕÔÉ× ×ËÌÀÞÁÅÔÓÑ ÆÁÊÌ <I>win31.mak</I> ÄÌÑ ÔÏÇÏ,
+    ÐÌÁÔÆÏÒÍ. ÷ ÄÉÓÔÒÉÂÕÔÉ× ×ËÌÀÞÁÅÔÓÑ ÆÁÊÌ <I>win32.mak</I> ÄÌÑ ÔÏÇÏ,
     ÞÔÏÂÙ ÍÏÖÎÏ ÂÙÌÏ ÐÒÏ×ÅÓÔÉ ÓÂÏÒËÕ ÂÉÂÌÉÏÔÅËÉ <I>libpq</I> É
     <I>psql</I> ÄÌÑ Win32. PostgreSQL ÔÁËÖÅ ÒÁÂÏÔÁÅÔ ÞÅÒÅÚ
     <SMALL>ODBC</SMALL>.</P>
 
     <P>óÅÒ×ÅÒ âä ÍÏÖÅÔ ÂÙÔØ ÚÁÐÕÝÅΠÎÁ Windows NT É Win2k, ÉÓÐÏÌØÚÕÑ
     ÂÉÂÌÉÏÔÅËÕ Cygwin, ÒÁÚÒÁÂÏÔÁÎÎÕÀ ÄÌÑ ÐÅÒÅÎÏÓÁ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ Unix
-    × NT. óÍÏÔÒÉÔÅ <I>pgsql/doc/FAQ_MSWIN</I> × ÄÉÓÔÒÉÂÕÔÉ×Å ÉÌÉ <A href=
-    "http://www.postgresql.org/docs/faq-mswin.html">MS Windows FAQ</A>
-    ÎÁ ÎÁÛÅÍ ÓÁÊÔÅ. íÙ ÎÅ ÐÌÁÎÉÒÕÅÍ ÓÐÅÃÉÁÌØÎÏ ÐÅÒÅÎÏÓÉÔØ PostgreSQL
-    ÎÁ ËÁËÕÀ-ÌÉÂÏ ÐÌÁÔÆÏÒÍÕ Microsoft.</P>
+    × NT. óÍÏÔÒÉÔÅ <I>pgsql/doc/FAQ_MSWIN</I> × ÄÉÓÔÒÉÂÕÔÉ×Å ÉÌÉ
+    MS Windows FAQ ÎÁ <A href="http://www.postgresql.org/docs/faq-mswin.html">
+    http://www.PostgreSQL.org/docs/faq-mswin.html</A>.</P>
+
+    <P>PostgreSQL, ÓÐÏÒÔÉÒÏ×ÁÎÎÙÊ ÓÐÅÃÉÁÌØÎÏ ÄÌÑ MS Win NT/2000/XP ×
+    ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ ÎÁÞÁÌ ÒÁÂÏÔÁÔØ.</P>
 
     <H4><A name="1.5">1.5</A>) çÄÅ ÍÏÖÎÏ ×ÚÑÔØ PostgreSQL?</H4>
 
 
     <P>óÐÉÓÏË ËÏÍÍÅÒÞÅÓËÏÊ ÐÏÄÄÅÒÖËÉ ËÏÍÐÁÎÉÊ ÄÏÓÔÕÐÅΠÎÁ
     <A href=
-    "http://www.postgresql.org/users-lounge/commercial-support.html">http://www.postgresql.org/users-lounge/commercial-support.html</A>.</P>
+    "http://www.postgresql.org/users-lounge/commercial-support.html">http://www.PostgreSQL.org/users-lounge/commercial-support.html</A>.</P>
 
     <H4><A name="1.7">1.7</A>) ëÁËÁÑ ÐÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ?</H4>
 
     "http://www.PostgreSQL.org/docs/awbook.html">http://www.PostgreSQL.org/docs/awbook.html</A>
      É <a href="http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</a>.
      óÐÉÓÏË ËÎÉÇ ÐÏ PostgreSQL, ËÏÔÏÒÙÅ ÍÏÖÎÏ ËÕÐÉÔØ ÄÏÓÔÕÐÅΠÐÏ ÁÄÒÅÓÕ
-     <a href="http://www.postgresql.org/books/">http://www.postgresql.org/books/</a>.
-     ëÒÏÍÅ ÔÏÇÏ, ÐÏ ÁÄÒÅÓÕ <a href="http://techdocs.postgresql.org">http://techdocs.postgresql.org/</a>
+     <a href="http://www.ca.postgresql.org/books/">http://www.ca.PostgreSQL.org/books/</a>.
+     ëÒÏÍÅ ÔÏÇÏ, ÐÏ ÁÄÒÅÓÕ <a href="http://techdocs.postgresql.org">http://techdocs.PostgreSQL.org/</a>
      ×Ù ÍÏÖÅÔÅ ÎÁÊÔÉ ËÏÌÌÅËÃÉÀ ÔÅÈÎÉÞÅÓËÉÈ ÓÔÁÔÅÊ ÐÏÓ×ÑÝÅÎÎÙÈ PostgreSQL.</p>
 
 
 
     <H4><A name="1.13">1.13</A>) ëÁË ÏÔÒÁ×ÉÔØ ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ??</H4>
 
-    <P>ðÏÖÁÌÕÊÓÔÁ ÐÏÓÅÔÉÔÅ ÓÔÒÁÎÉÞËÕ <A href=
-    "http://www.postgresql.org/bugs/bugs.php">PostgreSQL BugTool</A>,
+    <P>ðÏÖÁÌÕÊÓÔÁ ÐÏÓÅÔÉÔÅ ÓÔÒÁÎÉÞËÕ PostgreSQL BugTool ÎÁ <A href=
+    "http://www.postgresql.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</A>,
     ÎÁ ËÏÔÏÒÏÊ ÐÒÅÄÏÓÔÁ×ÌÅÎÙ ÄÅÔÁÌØÎÙÅ ÉÎÓÔÒÕËÃÉÉ Ï ÔÏÍ ËÁË ÏÔÐÒÁ×ÉÔØ
     ÓÏÏÂÝÅÎÉÅ Ï ÏÛÉÂËÅ.</P>
 
       íÙ ÄÅÌÁÅÍ ÕÐÏÒ ÎÁ ÎÁÄÅÖÎÏÓÔØ É ÒÁÓÛÉÒÅÎÎÙÅ ×ÏÚÍÏÖÎÏÓÔÉ, ÎÏ ÍÙ ÔÁËÖÅ
       ÐÒÏÄÏÌÖÁÅÍ Õ×ÅÌÉÞÉ×ÁÔØ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØ Ó ËÁÖÄÙÍ ×ÙÐÕÓËÏÍ. óÕÝÅÓÔ×ÕÅÔ
       ÉÎÔÅÒÅÓÎÁÑ ÓÔÒÁÎÉÞËÁ × éÎÔÅÒÎÅÔ, ÓÒÁ×ÎÉ×ÁÀÝÁÑ PostgreSQL É MySQL ÎÁ
-      <A href="http://openacs.org/why-not-mysql.html">
-      
-      http://openacs.org/why-not-mysql.html</A><BR>
+      <A href="http://openacs.org/philosophy/why-not-mysql.html">
+      http://openacs.org/philosophy/why-not-mysql.html</A><BR>
 
       <BR>
       </DD>
 
       <DT><B>ðÏÄÄÅÒÖËÁ</B></DT>
 
-      <DD>îÁÛ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÐÒÅÄÓÔÁ×ÌÅΠÂÏÌØÛÏÊ ÇÒÕÐÐÏÊ ÒÁÚÒÁÂÏÔÞÉËÏ×
-      É ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÐÏÍÏÞØ ÒÅÛÉÔØ ÌÀÂÙÅ ×ÏÚÎÉËÛÉÅ
-      ÐÒÏÂÌÅÍÙ. ÷ ÔÏ ÖÅ ×ÒÅÍÑ, ÍÙ ÎÅ ÇÁÒÁÎÔÉÒÕÅÍ ËÁËÉÅ-ÌÉÂÏ ÉÓÐÒÁ×ÌÅÎÉÑ,
-      ÎÏ É ÒÁÚÒÁÂÏÔÞÉËÉ ËÏÍÍÅÒÞÅÓËÉÈ <SMALL>óõâä</SMALL> ÎÅ ×ÓÅÇÄÁ ÄÅÌÁÀÔ
-      ÉÓÐÒÁ×ÌÅÎÉÑ. ðÒÑÍÏÊ ÄÏÓÔÕРˠÒÁÚÒÁÂÏÔÞÉËÁÍ, ÓÏÏÂÝÅÓÔ×Õ ÐÏÌØÚÏ×ÁÔÅÌÅÊ,
-      ÒÕËÏ×ÏÄÓÔ×ÁÍ É ÉÓÈÏÄÎÙÍ ÔÅËÓÔÁÍ ÞÁÓÔÏ ÄÅÌÁÀÔ ÐÏÄÄÅÒÖËÕ PostgreSQL
-      ÐÒÅ×ÏÓÈÏÄÑÝÅÊ ÄÒÕÇÉÅ <SMALL>óõâä</SMALL>. óÕÝÅÓÔ×ÕÅÔ ËÏÍÍÅÒÞÅÓËÁÑ
-      ÐÏÄÄÅÒÖËÁ ÐÏ ÒÅÚÕÌØÔÁÍ ×ÏÚÎÉËÛÉÈ ÉÎÃÉÄÅÎÔÏ×, ËÏÔÏÒÁÑ ÄÏÓÔÕÐÎÁ ÄÌÑ
-      ÔÅÈ ËÏÍÕ ÏÎÁ ÎÕÖÎÁ. (óÍÏÔÒÉÔÅ <A href="#1.6">ëÁË ÐÏÌÕÞÉÔØ ÐÏÄÄÅÒÖËÕ?</A>.)<BR>
+      <DD>îÁÛ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÏÚÍÏÖÍÏÖÎÏÓÔØ ÏÂÝÅÎÉÑ Ó
+      ÂÏÌØÛÏÊ ÇÒÕÐÐÏÊ ÒÁÚÒÁÂÏÔÞÉËÏ× É ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÐÏÍÏÞØ ÒÅÛÉÔØ
+      ÌÀÂÙÅ ×ÏÚÎÉËÛÉÅ ÐÒÏÂÌÅÍÙ. ÷ ÔÏ ÖÅ ×ÒÅÍÑ, ÍÙ ÎÅ ÇÁÒÁÎÔÉÒÕÅÍ ËÁËÉÅ-ÌÉÂÏ
+      ÉÓÐÒÁ×ÌÅÎÉÑ, ÎÏ É ÒÁÚÒÁÂÏÔÞÉËÉ ËÏÍÍÅÒÞÅÓËÉÈ <SMALL>óõâä</SMALL> ÎÅ ×ÓÅÇÄÁ
+      ÄÅÌÁÀÔ ÉÓÐÒÁ×ÌÅÎÉÑ. ðÒÑÍÏÊ ÄÏÓÔÕРˠÒÁÚÒÁÂÏÔÞÉËÁÍ, ÓÏÏÂÝÅÓÔ×Õ
+      ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÒÕËÏ×ÏÄÓÔ×ÁÍ É ÉÓÈÏÄÎÙÍ ÔÅËÓÔÁÍ ÞÁÓÔÏ ÄÅÌÁÀÔ ÐÏÄÄÅÒÖËÕ
+      PostgreSQL ÐÒÅ×ÏÓÈÏÄÑÝÅÊ ÄÒÕÇÉÅ <SMALL>óõâä</SMALL>. óÕÝÅÓÔ×ÕÅÔ
+      ËÏÍÍÅÒÞÅÓËÁÑ ÐÏÄÄÅÒÖËÁ ÐÏ ÒÅÚÕÌØÔÁÍ ×ÏÚÎÉËÛÉÈ ÉÎÃÉÄÅÎÔÏ×, ËÏÔÏÒÁÑ
+      ÄÏÓÔÕÐÎÁ ÄÌÑ ÔÅÈ ËÏÍÕ ÏÎÁ ÎÕÖÎÁ. (óÍÏÔÒÉÔÅ <A href="#1.6">óÅËÃÉÀ 1.6</A>.)<BR>
       <BR>
       </DD>
 
     PostgreSQL?</H4>
 
     <P>PostgreSQL ÉÍÅÅÔ ÏÄÎÏÒÁÎÇÏ×ÕÀ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ Ó ÔÏÇÏ ÓÁÍÏÇÏ ×ÒÅÍÅÎÉ
-    ËÁË ÍÙ ÎÁÞÁÌÉ ÒÁÚÒÁÂÏÔËÕ 6 ÌÅÔ ÎÁÚÁÄ. íÙ ÄÏÌÖÎÙ ÂÌÁÇÏÄÁÒÉÔØ ÚÁ
+    ËÁË ÍÙ ÎÁÞÁÌÉ ÒÁÚÒÁÂÏÔËÕ × 1996 ÇÏÄÕ. íÙ ÄÏÌÖÎÙ ÂÌÁÇÏÄÁÒÉÔØ ÚÁ
     ÜÔÏ íÁÒËÁ æÏÎÁÑ (Marc Fournier), ËÏÔÏÒÙÊ ÓÏÚÄÁÌ ÜÔÕ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ É
     ÕÐÒÁ×ÌÑÅÔ ÅÊ ÎÁ ÐÒÏÔÑÖÅÎÉÉ ÜÔÉÈ ÌÅÔ.</P>
 
     ÎÅËÏÔÏÒÏÅ ËÏÌÉÞÅÓÔ×Ï ÅÖÅÍÅÓÑÞÎÙÈ É ÏÄÎÏÒÁÚÏ×ÙÈ ÒÁÓÈÏÄÏ×, ËÏÔÏÒÙÅ
     ÔÒÅÂÕÀÔ ÄÅÎÅÇ. åÓÌÉ ×Ù ÉÌÉ ×ÁÛÁ ËÏÍÐÁÎÉÑ ÉÍÅÅÔ ÄÅÎØÇÉ, ËÏÔÏÒÙÅ
     ÍÏÖÎÏ ÐÅÒÅÄÁÔØ × ÐÏÍÏÝØ ÎÁÛÉÍ ÕÓÉÌÉÑÍ, ÐÏÖÁÌÕÊÓÔÁ ÐÏÓÅÔÉÔÅ ÓÔÒÁÎÉÞËÕ
-    <A href="https://store.pgsql.com/shopping/index.php?id=1"> 
-    https://store.pgsql.com/shopping/index.php?id=1</A>
+    <A href="https://store.pgsql.com/shopping/"> 
+    https://store.pgsql.com/shopping/</A>
     É ÓÄÅÌÁÊÔÅ Ó×ÏÊ ×ËÌÁÄ.</P>
 
     <P>èÏÔÑ ÎÁ ÓÔÒÁÎÉÞËÅ ÇÏ×ÏÒÉÔÓÑ Ï PostgreSQL, Inc, ÐÕÎËÔ
     <P>ðÒÅËÒÁÓÎÏÅ ××ÅÄÅÎÉÅ ×Ï ×ÚÁÉÍÏÄÅÊÓÔ×ÉÅ ÂÁÚ ÄÁÎÎÙÈ É Web ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ:
     <A href="http://www.webreview.com">http://www.webreview.com</A></P>
 
-    <P>ôÁËÖÅ ÚÁÇÌÑÎÉÔÅ ÎÁ <A href=
-    "http://www.phone.net/home/mwm/hotlist/">http://www.phone.net/home/mwm/hotlist/.</A></P>
-
     <P>äÌÑ ÉÎÔÅÇÒÁÃÉÉ Ó Web, ÏÄÎÉÍ ÉÚ ÐÒÅ×ÏÓÈÏÄÎÙÈ ÉÎÓÔÒÕÍÅÎÔÏ× Ñ×ÌÑÅÔÓÑ PHP.
-    äÏÍÁÛÎÑÑ ÓÔÁÎÉÞËÁ <A
-    href="http://www.php.net">http://www.php.net</A>.</P>
+    äÏÍÁÛÎÑÑ ÓÔÁÎÉÞËÁ <A href="http://www.php.net">http://www.php.net</A>.</P>
 
-    <P>äÌÑ ËÏÍÐÌÅËÓÎÙÈ ÒÅÛÅÎÉÊ, ÍÎÏÇÉÅ ÐÏÌØÚÕÀÔÓÑ Perl ÉÎÔÅÒÆÅÊÓÏÍ É CGI.pm.</P>
+    <P>äÌÑ ËÏÍÐÌÅËÓÎÙÈ ÒÅÛÅÎÉÊ, ÍÎÏÇÉÅ ÐÏÌØÚÕÀÔÓÑ Perl ÉÎÔÅÒÆÅÊÓÏÍ É CGI.pm ÉÌÉ mod_perl.</P>
 
     <H4><A name="2.3">2.3</A>) åÓÔØ ÌÉ Õ PostgreSQL ÇÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ
     ÐÏÌØÚÏ×ÁÔÅÌÑ? çÅÎÅÒÁÔÏÒ ÏÔÞÅÔÏ×? ÷ÓÔÒÏÅÎÎÙÊ ÉÎÔÅÒÆÅÊÓ ÄÌÑ ÑÚÙËÁ
     ÚÁÐÒÏÓÏ×?</H4>
 
     <P>õ ÎÁÓ ÅÓÔØ ÐÒÅËÒÁÓÎÙÊ ÇÏÒÁÆÉÞÅÓËÉÊ ÉÎÔÅÒÆÅÊÓ, ÎÁÚÙ×ÁÅÍÙÊ
-    <I>pgaccess</I>, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ ÄÉÓÔÒÉÂÕÔÉ×Á. <I>pgaccess</I>
-    ÔÁËÖÅ ÅÍÅÅÔ ÇÅÎÅÒÁÔÏÒ ÏÔÞÅÔÏ×. åÇÏ ÓÔÒÁÎÉÞËÁ <A href=
-    "http://www.flex.ro/pgaccess">http://www.flex.ro/pgaccess</A></P>
+    PgAccess, ËÏÔÏÒÙÊ ÔÁËÖÅ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÁË ÇÅÎÅÒÁÔÏÒ ÏÔÞÅÔÏ×.
+    åÇÏ ÓÔÒÁÎÉÞËÁ <A href="http://www.pgaccess.org">http://www.pgaccess.org/</A></P>
 
     <P>íÙ ÔÁËÖÅ ×ËÌÀÞÁÅÍ <I>ecpg</I>, ËÏÔÏÒÙÊ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ×ÓÔÒÏÅÎÎÙÊ
     ÉÎÔÅÒÆÅÊÓ Ë ÑÚÙËÕ ÚÁÐÒÏÓÏ× SQL ÉÚ C.</P>
 
-    <H4><A name="2.4">2.4</A>) ëÁËÉÅ ÑÚÙËÉ ÍÏÇÕÔ ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó
-    PostgreSQL?</H4>
+    <H4><A name="2.4">2.4</A>) ëÁËÉÅ ÑÚÙËÉ ÍÏÇÕÔ ×ÚÁÉÍÏÄÅÊÓÔ×Ï×ÁÔØ Ó PostgreSQL?</H4>
 
     <P>÷ÏÔ ÜÔÉ:</P>
 
 
       <LI>Java (jdbc)</LI>
 
-      <LI>Perl (perl5)</LI>
+      <LI>Perl (DBD::Pg É perl5)</LI>
 
       <LI>ODBC (odbc)</LI>
 
 
       <LI>C Easy API (libpgeasy)</LI>
 
-      <LI>Embedded <SMALL>HTML</SMALL> (<A href=
-      "http://www.php.net">PHP from http://www.php.net</A>)</LI>
+      <LI>PHP ('pg_' functions, Pear::DB)</LI>
     </UL>
-    <P>äÏÐÏÌÎÉÔÅÌØÎÙÅ ÉÎÔÅÒÆÅÊÓÙ ÄÏÓÔÕÐÎÙ ÐÏ ÁÄÒÅÓÕ <A href="http://www.postgresql.org/interfaces.html">
-    http://www.postgresql.org/interfaces.html.</A>
+    <P>äÏÐÏÌÎÉÔÅÌØÎÙÅ ÉÎÔÅÒÆÅÊÓÙ ÄÏÓÔÕÐÎÙ ÐÏ ÁÄÒÅÓÕ
+    <A href="http://www.postgresql.org/interfaces.html">http://www.PostgreSQL.org/interfaces.html.</A>
+    É
+    <A href="http://gborg.postgresql.org/">http://gborg.PostgreSQL.org</a>.
     </P>
     <HR>
 
     <P>åÓÌÉ ×Ù ×ÙÐÏÌÎÑÅÔÅ ÍÎÏÇÏ ÏÐÅÒÁÔÏÒÏ× <SMALL>INSERT</SMALL>,
     ÒÁÓÓÍÏÔÒÉÔÅ ×ÏÚÍÏÖÎÏÓÔØ ×ÙÐÏÌÎÑÔØ ÉÈ × ÂÏÌØÛÏÊ ÐÁÞËÅ, ÉÓÐÏÌØÚÕÑ
     ËÏÍÁÎÄÕ <SMALL>COPY</SMALL>. üÔÏ ÚÎÁÞÉÔÅÌØÎÏ ÂÙÓÔÒÅÅ, ÞÅÍ ÏÔÄÅÌØÎÙÅ
-    <SMALL>INSERT.</SMALL> ÷Ï-×ÔÏÒÙÈ, ÏÐÅÒÁÔÏÒÙ ×ÎÅ ÂÌÏËÁ ÔÒÁÎÚÁËÃÉÉ
+    <SMALL>INSERT</SMALL>. ÷Ï-×ÔÏÒÙÈ, ÏÐÅÒÁÔÏÒÙ ×ÎÅ ÂÌÏËÁ ÔÒÁÎÚÁËÃÉÉ
     <SMALL>BEGIN WORK/COMMIT</SMALL> ÓÁÍÉ ×ÙÐÏÌÎÑÀÔ ÔÒÁÎÚÁËÃÉÀ. ðÏÄÕÍÁÊÔÅ
     ÎÁÄ ×ÙÐÏÌÎÅÎÉÅÍ ÎÅÓËÏÌØËÉÈ ÏÐÅÒÁÔÏÒÏ× × ÏÄÎÏÍ ÂÌÏËÅ ÔÒÁÎÚÁËÃÉÉ.
     üÔÏ ÕÍÅÎØÛÉÔ ËÏÌÉÞÅÓÔ×Ï ÔÒÁÎÚÁËÃÉÊ. ôÁËÖÅ, ÚÁÄÕÍÁÊÔÅÓØ ÎÁÄ ÕÄÁÌÅÎÉÅÍ
     <P>åÓÌÉ <I>postmaster</I> ÚÁÐÕÝÅÎ, ÚÁÐÕÓÔÉÔÅ <I>psql</I> × ÏÄÎÏÍ
     ÏËÎÅ, ÚÁÔÅÍ ÎÁÊÄÉÔÅ <SMALL>PID</SMALL> ÐÒÏÃÅÓÓÁ <I>postgres</I>,
     ÉÓÐÏÌØÚÕÅÍÙÊ <I>psql</I>. éÓÐÏÌØÚÕÊÔÅ ÏÔÄÁÄÞÉË ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ Ë
-    <I>postgres</I> <SMALL>PID.</SMALL> ÷Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ ÔÏÞËÉ
+    <I>postgres</I> <SMALL>PID</SMALL>. ÷Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ ÔÏÞËÉ
     ÐÒÅÒÙ×ÁÎÉÑ × ÏÔÌÁÄÞÉËÅ É ÚÁÐÕÓÔÉÔØ ÚÁÐÒÏÓ ÉÚ <I>psql</I>. åÓÌÉ
     ×Ù ÐÒÏÉÚ×ÏÄÉÔÅ ÏÔÌÁÄËÕ ÚÁÐÕÓËÁ <I>postgres</I>, ×Ù ÍÏÖÅÔÅ ÕÓÔÁÎÏ×ÉÔØ
     PGOPTIONS="-W n", É ÚÁÔÅÍ ÚÁÐÕÓÔÉÔØ <I>psql</I>. üÔÁ ÏÐÃÉÑ ÐÒÉ×ÏÄÉÔ
     ÓÅÍÁÆÏÒÏ×, <SMALL>SEMMNS</SMALL> É <SMALL>SEMMNI;</SMALL> ÍÁËÓÉÍÁÌØÎÏÅ
     ËÏÌÉÞÅÓÔ×Ï ÐÒÏÃÅÓÓÏ×, <SMALL>NPROC;</SMALL> ÍÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï
     ÐÒÏÃÅÓÓÏ× ÎÁ ÐÏÌØÚÏ×ÁÔÅÌÑ, <SMALL>MAXUPRC;</SMALL> É ÍÁËÓÉÍÁÌØÎÏÅ
-    ËÏÌÉÞÅÓÔ×Ï ÏÔËÒÙÔÙÈ ÆÁÊÌÏ×, <SMALL>NFILE</SMALL> É <SMALL>NINODE.</SMALL>
+    ËÏÌÉÞÅÓÔ×Ï ÏÔËÒÙÔÙÈ ÆÁÊÌÏ×, <SMALL>NFILE</SMALL> É <SMALL>NINODE</SMALL>.
     ðÒÉÞÉÎÁ ÓÏÚÄÁÎÉÑ ÏÇÒÁÎÉÞÅÎÉÑ ÎÁ ËÏÌÉÞÅÓÔ×Ï backend ÐÒÏÃÅÓÓÏ× ËÁË
     ÒÁÚ É ÓÏÓÔÏÉÔ × ÔÏÍ, ÞÔÏÂÙ ×ÁÛÅÊ ÓÉÓÔÅÍÅ È×ÁÔÉÌÏ ÒÅÓÕÒÓÏ×.</P>
 
     ÂÙÌÏ 64, É ÉÚÍÅÎÅÎÉÅ ÜÔÏÇÏ ËÏÌÉÞÅÓÔ×Á ÔÒÅÂÏ×ÁÌÏ ÐÅÒÅËÏÍÐÉÌÑÃÉÉ ÐÏÓÌÅ
     ÕÓÔÁÎÏ×ËÉ ËÏÎÓÔÁÎÔÙ MaxBackendId × <I>include/storage/sinvaladt.h</I>.</P>
 
-    <H4><A name="3.9">3.9</A>) þÔÏ ÜÔÏ ÚÁ ÆÁÊÌÙ <I>pg_sorttempNNN.NN</I>
-    × ÍÏÅÍ ËÁÔÁÌÏÇÅ Ó ÂÁÚÏÊ ÄÁÎÎÙÈ?</H4>
-
-    <P>üÔÏ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ, ÇÅÎÅÒÉÒÕÅÍÙÅ ×Ï ×ÒÅÍÑ ×ÙÐÏÌÎÅÎÉÑ ÚÁÐÒÏÓÁ.
-    îÁÐÒÉÍÅÒ, ÅÓÌÉ ÄÌÑ ÏÐÅÒÁÔÏÒÁ <SMALL>ORDER BY</SMALL> ÄÏÌÖÎÁ ÂÙÔØ
-    ×ÙÐÏÌÎÅÎÁ ÓÏÒÔÉÒÏ×ËÁ, ËÏÔÏÒÁÑ ÔÒÅÂÕÅÔ ÂÏÌØÛÅ ÍÅÓÔÁ ÞÅÍ ×ÙÄÅÌÅÎÎÏ
-    ÄÌÑ backend ÐÒÏÃÅÓÓÁ × ÏÐÃÉÉ <I>-S</I>, ÔÏ ÓÏÚÄÁÅÔÓÑ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ ÄÌÑ
-    ÈÒÁÎÅÎÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÄÁÎÎÙÈ.</P>
+    <H4><A name="3.9">3.9</A>) þÔÏ ÎÁÈÏÄÉÔÓÑ × ËÁÔÁÌÏÇÅ <I>pgsql_tmp</I>?</H4>
 
-    <P>÷ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ ÄÏÌÖÎÙ ÕÄÁÌÑÔØÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÎÏ ÜÔÏÇÏ ÍÏÖÅÔ
-    ÎÅ ÐÒÏÉÓÈÏÄÉÔØ, ÅÓÌÉ backend ÐÒÏÃÅÓÓ ÐÁÄÁÅÔ ×Ï ×ÒÅÍÑ ÓÏÒÔÉÒÏ×ËÉ.
-    åÓÌÉ Õ ×ÁÓ ÎÅ ÚÁÐÕÝÅÎÏ ÎÉ ÏÄÎÏÇÏ backend ÐÒÏÃÅÓÓÁ, ÔÏ ×Ù ÍÏÖÅÔÅ
-    ÓÐÏËÏÊÎÏ ÕÄÁÌÉÔØ ÆÁÊÌÙ pg_tempNNN.NN.</P>
+    <P>äÁÎÎÙÊ ËÁÔÁÌÏÇ ÓÏÄÅÒÖÉÔ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ, ÇÅÎÅÒÉÒÕÅÍÙÅ ÏÂÒÁÂÏÔÞÉËÏÍ
+    ÚÁÐÒÏÓÁ. îÁÐÒÉÍÅÒ, ÅÓÌÉ ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ <small>ORDER BY</small> ÎÕÖÎÁ
+    ÓÏÒÔÉÒÏ×ËÁ É ÜÔÁ ÓÏÒÔÉÒÏ×ËÁ ÔÒÅÂÕÅÔ ÐÁÍÑÔÉ ÂÏÌØÛÅ, ÞÅÍ ÄÏÐÕÓËÁÅÔ ÐÁÒÁÍÅÔÒ <i>-S</i>
+    Õ backend'Á, ÔÏ ÄÌÑ ÈÒÁÎÅÎÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÄÁÎÎÙÈ ÓÏÚÄÁÀÔÓÑ ×ÒÅÍÅÎÎÙÅ
+    ÆÁÊÌÙ.</P>
+    
+    <P>üÔÉ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ ÄÏÌÖÎÙ ÕÄÁÌÑÔØÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÎÏ ÜÔÏÇÏ ÍÏÖÅÔ ÎÅ
+    ÐÒÏÉÚÏÊÔÉ, ÅÓÌÉ backend ÒÕÈÎÕÌ ×Ï ×ÒÅÍÑ ÓÏÒÔÉÒÏ×ËÉ. ïÓÔÁÎÏ× É ÚÁÐÕÓË
+    ÓÅÒ×ÅÒÎÏÇÏ ÐÒÏÃÅÓÓÁ ÏÂÅÓÐÅÞÉÔ ÉÈ ÕÄÁÌÅÎÉÅ ÉÚ ËÁÔÁÌÏÇÁ.</P>
 
-     <A name="3.10">3.10</A>) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ
-    ÏÂÎÏ×ÌÅÎÉÉ ×ÙÐÕÓËÏ× PostgreSQL?<BR>
+    <H4><A name="3.10">3.10</A>) ðÏÞÅÍÕ ÎÅÏÂÈÏÄÉÍÏ ÄÅÌÁÔØ dump É restore ÐÒÉ
+    ÏÂÎÏ×ÌÅÎÉÉ ×ÙÐÕÓËÏ× PostgreSQL?</H4>
     
     <P>òÁÚÒÁÂÏÔÞÉËÉ PostgreSQL ÄÅÌÁÀÔ ÔÏÌØËÏ ÎÅÂÏÌØÛÉÅ ÉÚÍÅÎÅÎÉÑ ÍÅÖÄÕ
     ÐÏÄ×ÙÐÕÓËÁÍÉ. ôÁËÉÍ ÏÂÒÁÚÏÍ ÏÂÎÏ×ÌÅÎÉÅ Ó ×ÅÒÓÉÉ 7.2 ÄÏ 7.2.1 ÎÅ ÔÒÅÂÕÅÔ
-    ×ÙÐÏÌÎÅÎÉÑ dump É restore. ïÄÎÁËÏ ÐÒÉ ×ÙÈÏÄÅ ÏÞÅÒÅÄÎÏÇÏ ×ÙÐÕÓËÁ ÞÁÓÔÏ
-    ÍÅÎÑÅÔÓÑ ×ÎÕÔÒÅÎÎÉÊ ÆÏÒÍÁÔ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉàɠÆÁÊÌÏ× ÄÁÎÎÙÈ. üÔÉ
-    ÉÚÍÅÎÅÎÉÑ ÞÁÓÔÏ ÎÏÓÑÔ ËÏÍÐÌÅËÓÎÙÊ ÈÁÒÁËÔÅÒ, ÔÁË ÞÔÏ ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ
-    ÏÂÅÓÐÅÞÉÔØ ÏÂÒÁÔÎÕÀ ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÆÁÊÌÏ× ÄÁÎÎÙÈ. ÷ÙÐÏÌÅÎÉÅ dump
-    ÐÏÚ×ÏÌÑÅÔ ÐÏÌÕÞÉÔØ ÄÁÎÎÙÅ × ÏÂÝÅÍ ÆÏÒÍÁÔÅ, ËÏÔÏÒÙÊ ÚÁÔÅÍ ÍÏÖÅÔ ÂÙÔØ
-    ÚÁÇÒÕÖÅΠÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÎÏ×ÏÇÏ ×ÎÕÔÒÅÎÎÅÇÏ ÆÏÒÍÁÔÁ.</P>
+    ×ÙÐÏÌÎÅÎÉÑ dump É restore. ïÄÎÁËÏ ÐÒÉ ×ÙÈÏÄÅ ÏÞÅÒÅÄÎÏÇÏ ×ÙÐÕÓËÁ
+    (Ô.Å. ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ÎÁÐÒÉÍÅÒ, Ó 7.2 ÎÁ 7.3) ÞÁÓÔÏ ÍÅÎÑÅÔÓÑ ×ÎÕÔÒÅÎÎÉÊ
+    ÆÏÒÍÁÔ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉàɠÆÁÊÌÏ× ÄÁÎÎÙÈ. üÔÉ ÉÚÍÅÎÅÎÉÑ ÞÁÓÔÏ ÎÏÓÑÔ
+    ËÏÍÐÌÅËÓÎÙÊ ÈÁÒÁËÔÅÒ, ÔÁË ÞÔÏ ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ÏÂÅÓÐÅÞÉÔØ ÏÂÒÁÔÎÕÀ
+    ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÆÁÊÌÏ× ÄÁÎÎÙÈ. ÷ÙÐÏÌÅÎÉÅ dump ÐÏÚ×ÏÌÑÅÔ ÐÏÌÕÞÉÔØ ÄÁÎÎÙÅ
+    × ÏÂÝÅÍ ÆÏÒÍÁÔÅ, ËÏÔÏÒÙÊ ÚÁÔÅÍ ÍÏÖÅÔ ÂÙÔØ ÚÁÇÒÕÖÅΠÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ
+    ÎÏ×ÏÇÏ ×ÎÕÔÒÅÎÎÅÇÏ ÆÏÒÍÁÔÁ.</P>
     
-    <P>
-    ÷ ÔÅÈ ×ÙÐÕÓËÁÈ, ÇÄÅ ÆÏÒÍÁÔ ÄÁÎÎÙÈ ÎÁ ÄÉÓËÅ ÎÅ ÍÅÎÑÅÔÓÑ, ÄÌÑ ÐÒÏ×ÅÄÅÎÉÑ
+    <P>÷ ÔÅÈ ×ÙÐÕÓËÁÈ, ÇÄÅ ÆÏÒÍÁÔ ÄÁÎÎÙÈ ÎÁ ÄÉÓËÅ ÎÅ ÍÅÎÑÅÔÓÑ, ÄÌÑ ÐÒÏ×ÅÄÅÎÉÑ
     ÏÂÎÏ×ÌÅÎÉÑ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁΠÓÃÅÎÁÒÉÊ <i>pg_upgrade</i> ÂÅÚ
     ÉÓÐÏÌØÚÏ×ÁÎÉÑ dump/restore. ëÏÍÍÅÎÔÁÒÉÉ Ë ×ÙÐÕÓËÕ ÇÏ×ÏÒÉÔ ËÏÇÄÁ ÍÏÖÎÏ
-    ÉÓÐÏÌØÚÏ×ÁÔØ <i>pg_upgrade</i> ÄÌÑ ÜÔÏÇÏ ×ÙÐÕÓËÁ.
-    </P>
+    ÉÓÐÏÌØÚÏ×ÁÔØ <i>pg_upgrade</i> ÄÌÑ ÜÔÏÇÏ ×ÙÐÕÓËÁ.</P>
     <HR>
 
     <H2 align="center">÷ÏÐÒÏÓÙ ÜËÓÐÌÕÁÔÁÃÉÉ</H2>
 
     <H4><A name="4.4">4.4</A>) ëÁË ÕÄÁÌÉÔØ ËÏÌÏÎËÕ ÉÚ ÔÁÂÌÉÃÙ?</H4>
 
-    <P>íÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÍ <SMALL>ALTER TABLE DROP COLUMN,</SMALL> ÎÏ
+    <P>üÔÁ ÆÕÎËÃÉÏÎÁÌØÎÏÓÔØ ÂÙÌÁ ÄÏÂÁ×ÌÅÎÁ × ×ÙÐÕÓË 7.3 Ó ÏÐÅÒÁÔÏÒÏÍ
+    <small>ALTER TABLE DROP COLUMN</small>. ÷ ÒÁÎÎÉÈ ×ÅÒÓÉÑÈ,
     ÍÏÖÎÏ ÓÄÅÌÁÔØ ÔÁË:</P>
 <PRE>
     BEGIN;
     SELECT col
     FROM tab
     ORDER BY col [ DESC ]
-    LIMIT 1
+    LIMIT 1;
 </pre>
 
     <P>ëÏÇÄÁ ÉÓÐÏÌØÚÕÀÔÓÑ ÏÐÅÒÁÃÉÉ Ó ÛÁÂÌÏÎÁÍÉ, ÎÁÐÒÉÍÅÒ <SMALL>LIKE</SMALL>
-    ÉÌÉ <I>~</I>, ÉÎÄÅËÓÙ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ × ÓÌÅÄÕÀÝÉÈ ÓÌÕÞÁÑÈ:
-    </P><UL>
-    <LI>îÁÞÁÌÏ ÓÔÒÏËÉ ÐÏÉÓËÁ ÄÏÌÖÎÏ ÓÏ×ÐÁÄÁÔØ Ó ÎÁÞÁÌÏÍ ÉÓËÏÍÏÊ ÓÔÒÏËÉ, Ô.Å.:</LI>
+    ÉÌÉ <I>~</I>, ÉÎÄÅËÓÙ ÍÏÇÕÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÙ × ÓÌÅÄÕÀÝÉÈ ÓÌÕÞÁÑÈ:</P>
     <UL>
-    <LI><small>LIKE</small> ÛÁÂÌÏÎÙ ÎÅ ÄÏÌÖÎÙ ÎÁÞÉÎÁÔØÓÑ Ó <i>%.</i><LI>
-    <LI><i>~</i> ÛÁÂÌÏÎÙ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ ÄÏÌÖÎÁ ÎÁÞÉÎÁÔØÓÑ ÎÁ <i>^.</i><LI>
-    </UL>
+    <LI>îÁÞÁÌÏ ÓÔÒÏËÉ ÐÏÉÓËÁ ÄÏÌÖÎÏ ÓÏ×ÐÁÄÁÔØ Ó ÎÁÞÁÌÏÍ ÉÓËÏÍÏÊ ÓÔÒÏËÉ, Ô.Å.:
+    <UL>
+    <LI><small>LIKE</small> ÛÁÂÌÏÎÙ ÎÅ ÄÏÌÖÎÙ ÎÁÞÉÎÁÔØÓÑ Ó <i>%.</i>.</LI>
+    <LI><i>~</i> ÛÁÂÌÏÎÙ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ ÄÏÌÖÎÁ ÎÁÞÉÎÁÔØÓÑ ÎÁ <i>^</i>.</LI>
+    </UL></LI>
     <LI>óÔÒÏËÁ ÐÏÉÓËÁ ÎÅ ÄÏÌÖÎÁ ÎÁÞÉÎÁÔØÓÑ Ó ÓÉÍ×ÏÌÁ ËÌÁÓÓÁ, Ô.Å. [a-e].</LI>
-    <LI>îÅ ÄÏÌÖÅΠÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÏÉÓË ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ ÔÁËÏÊ ËÁË
-    <small>ILIKE</small> É <i>~</i>. ÷ÍÅÓÔÏ ÎÅÇÏ ÉÓÐÏÌØÚÕÊÔÅ ÆÕÎËÃÉÏÎÁÌØÎÙÅ
-    ÉÎÄÅËÓÙ, ËÏÔÏÒÙÅ ÏÐÉÓÁÎÙ × ÜÔÏÍ FAQ ÎÉÖÅ.</LI>
+    <LI>ðÏÉÓË ÎÅÚÁ×ÉÓÉÍÙÊ ÏÔ ÒÅÇÉÓÔÒÁ, ÔÁËÏÊ ËÁË <small>ILIKE</small> É
+    <i>~*</i> ÎÅ ÉÓÐÏÌØÚÕÅÔ ÉÎÄÅËÓÙ. ÷ÍÅÓÔÏ ÎÅÇÏ, ÉÓÐÏÌØÚÕÊÔÅ ÆÕÎËÃÉÏÎÁÌØÎÙÅ
+    ÉÎÄÅËÓÙ, ËÏÔÏÒÙÅ ÏÐÉÓÙ×ÁÀÔÓÑ × ÓÅËÃÉÉ <A href="#4.12">4.12</A>.</LI>
     <LI>÷Ï ×ÒÅÍÑ <i>initdb</i> ÄÏÌÖÎÁ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÌÏËÁÌØ ÐÏ ÕÍÏÌÞÁÎÉÀ
     <i>C</i>.
     </UL>
 <PRE>
     SELECT *
     FROM tab
-    WHERE lower(col) = 'abc'
+    WHERE lower(col) = 'abc';
 </PRE>
 
     üÔÁ ËÏÎÓÔÒÕËÃÉÑ ÎÅ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÔÁÎÄÁÒÔÎÙÊ ÉÎÄÅËÓ. ïÄÎÁËÏ, ÅÓÌÉ
     ×Ù ÓÏÚÄÁÄÉÔÅ ÆÕÎËÃÉÏÎÁÌØÎÙÊ ÉÎÄÅËÓ, ÏΠÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎ:
 <PRE>
-    CREATE INDEX tabindex on tab (lower(col));
+    CREATE INDEX tabindex ON tab (lower(col));
 </PRE>
 
     <H4><A name="4.13">4.13</A>) ëÁË Ñ ÍÏÇÕ ÏÐÒÅÄÅÌÉÔØ, ÞÔÏ ÚÎÁÞÅÎÉÅ ÐÏÌÑ
 ôÉР           ÷ÎÕÔÒÅÎÎÅÅ ÉÍÑ   úÁÍÅÞÁÎÉÑ
 --------------------------------------------------
 "char"          char            1 ÓÉÍ×ÏÌ
-CHAR(#)         bpchar          ÚÁÐÏÌÎÑÅÔÓÑ ÐÕÓÔÏÔÏÊ ÄÏ ÆÉËÓÉÒÏ×ÁÎÎÏÊ ÄÌÉÎÙ
-VARCHAR(#)      varchar         ÒÁÚÍÅÒ ÚÁÄÁÅÔ ÍÁËÓÉÍÁÌØÎÕÀ ÄÌÉÎÕ, ÎÅÔ ÚÁÐÏÌÎÅÎÉÑ
+CHAR(n)         bpchar          ÚÁÐÏÌÎÑÅÔÓÑ ÐÕÓÔÏÔÏÊ ÄÏ ÆÉËÓÉÒÏ×ÁÎÎÏÊ ÄÌÉÎÙ
+VARCHAR(n)      varchar         ÒÁÚÍÅÒ ÚÁÄÁÅÔ ÍÁËÓÉÍÁÌØÎÕÀ ÄÌÉÎÕ, ÎÅÔ ÚÁÐÏÌÎÅÎÉÑ
 TEXT            text            ÎÅÔ ÚÁÄÁ×ÁÅÍÏÇÏ ×ÅÒÈÎÅÇÏ ÏÇÒÁÎÉÞÅÎÉÑ ÉÌÉ ÄÌÉÎÙ
 BYTEA           bytea           ÍÁÓÓÉ× ÂÁÊÔ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ (ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ null-ÂÁÊÔ ÂÅÚ ÏÐÁÓËÉ)
 </PRE>
@@ -1091,13 +1082,14 @@ BYTEA           bytea           
     ÔÁË ÞÔÏ ÚÁÎÉÍÁÅÍÏÅ ÄÉÓËÏ×ÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÍÏÖÅÔ ÔÁËÖÅ ÂÙÔØ É ÍÅÎØÛÅ,
     ÞÅÍ ÏÖÉÄÁÌÏÓØ.</P>
 
-    <P><SMALL>CHAR()</SMALL> - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ ÄÌÑ ÈÒÁÎÅÎÉÑ ÓÔÒÏË, ËÏÔÏÒÙÅ
-    ÏÂÙÞÎÏ ÉÍÅÀÔ ÏÄÉÎÁËÏ×ÕÀ ÄÌÉÎÕ. <SMALL>VARCHAR()</SMALL> - ÜÔÏ ÌÕÞÛÅÅ
+    <P><SMALL>CHAR(n)</SMALL> - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ ÄÌÑ ÈÒÁÎÅÎÉÑ ÓÔÒÏË, ËÏÔÏÒÙÅ
+    ÏÂÙÞÎÏ ÉÍÅÀÔ ÏÄÉÎÁËÏ×ÕÀ ÄÌÉÎÕ. <SMALL>VARCHAR(n)</SMALL> - ÜÔÏ ÌÕÞÛÅÅ
     ÒÅÛÅÎÉÅ, ËÏÇÄÁ ÎÕÖÎÏ ÈÒÁÎÉÔØ ÓÔÒÏËÉ ÐÅÒÅÍÅÎÎÏÊ ÄÌÉÎÙ, ÎÏ ÎÅ ÐÒÅ×ÙÛÁÀÝÉÅ
     ÏÐÒÅÄÅÌÅÎÎÏÇÏ ÒÁÚÍÅÒÁ. <SMALL>TEXT</SMALL> - ÜÔÏ ÌÕÞÛÅÅ ÒÅÛÅÎÉÅ ÄÌÑ ÓÔÒÏË
     ÎÅÏÇÒÁÎÉÞÅÎÎÏÊ ÄÌÉÎÙ, Ó ÍÁËÓÉÍÁÌØÎÏ ÄÏÐÕÓÔÉÍÏÊ ÄÌÉÎÏÊ × 1 ÇÉÇÁÂÁÊÔ.
     <SMALL>BYTEA</SMALL> ÄÌÑ ÈÒÁÎÅÎÉÑ ÂÉÎÁÒÎÙÈ ÄÁÎÎÙÈ, ÚÎÁÞÅÎÉÑ ËÏÔÏÒÙÈ
-    ÍÏÇÕÔ ×ËÌÀÞÁÔØ <SMALL>NULL</SMALL> ÂÁÊÔÙ.</P>
+    ÍÏÇÕÔ ×ËÌÀÞÁÔØ <SMALL>NULL</SMALL> ÂÁÊÔÙ. üÔÉ ÔÉÐÙ ÉÍÅÀÔ ÓÈÏÄÎÙÅ
+    ÈÁÒÁËÔÅÒÉÓÔÉËÉ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ.</P>
 
     <H4><A name="4.15.1">4.15.1</A>) ëÁË ÍÎÅ ÓÏÚÄÁÔØ ÐÏÌÅ
     serial/Ó-Á×ÔÏ-Õ×ÅÌÉÞÅÎÉÅÍ?</H4>
@@ -1136,11 +1128,11 @@ BYTEA           bytea           
     <P>ïÄÉΠÉÚ ÓÐÏÓÏÂÏ× ÓÏÓÔÏÉÔ × ÐÏÌÕÞÅÎÉÉ ÓÌÅÄÕÀÝÅÇÏ ÚÎÁÞÅÎÉÑ
     <SMALL>SERIAL</SMALL> ÉÚ ÏÂßÅËÔÁ sequence Ó ÐÏÍÏÝØÀ ÆÕÎËÃÉÉ
     <I>nextval()</I> <I>ÐÅÒÅÄ</I> ×ÓÔÁ×ËÏÊ É ÚÁÔÅÍ ×ÓÔÁ×ÌÑÔØ ÜÔÏ ÚÎÁÞÅÎÉÅ
-    Ñ×ÎÏ. éÓÐÏÌØÚÕÊÔÅ ÔÁÂÌÉÃÕ-ÐÒÉÍÅÒ × <A href="#4.15.1">4.15.1</A>, ÞÔÏÂÙ
-    Õ×ÉÄÅÔØ ËÁË ÜÔÏ ÄÅÌÁÅÔÓÑ × Perl:</P>
+    Ñ×ÎÏ. éÓÐÏÌØÚÕÊÔÅ ÔÁÂÌÉÃÕ-ÐÒÉÍÅÒ × <A href="#4.15.1">4.15.1</A>, ÐÒÉÍÅÒ
+    × ÐÓÅ×ÄÏÑÚÙËÅ ÐÏËÁÖÅÔ ËÁË ÜÔÏ ÄÅÌÁÅÔÓÑ:</P>
 <PRE>
-    new_id = output of "SELECT nextval('person_id_seq')"
-    INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal');
+    new_id = execute("SELECT nextval('person_id_seq')");
+    execute("INSERT INTO person (id, name) VALUES (new_id, 'Blaise Pascal')");
 </PRE>
 
     úÁÔÅÍ ×Ù ÄÏÌÖÎÙ ÔÁËÖÅ ÓÏÈÒÁÎÉÔØ ÎÏ×ÏÅ ÚÎÁÞÅÎÉÅ × ÐÅÒÅÍÅÎÎÏÊ
@@ -1152,11 +1144,11 @@ BYTEA           bytea           
     ÉÍÅÎÁÍÉ ×ÁÛÅÊ ÔÁÂÌÉÃÙ É ×ÁÛÅÊ ËÏÌÏÎËÉ <SMALL>SERIAL</SMALL>. 
 
     <P>÷ ËÁÞÅÓÔ×Å ÁÌØÔÅÒÎÁÔÉ×Ù, ×Ù ÍÏÖÅÔÅ ÐÏÌÕÞÉÔØ ÎÁÚÎÁÞÅÎÎÏÅ ÚÎÁÞÅÎÉÅ
-    <SMALL>SERIAL</SMALL> Ó ÐÏÍÏÝØÀ ÆÕÎËÃÉÉ <I>currval</I>()
+    <SMALL>SERIAL</SMALL> Ó ÐÏÍÏÝØÀ ÆÕÎËÃÉÉ <I>currval()</I>
     <I>ÐÏÓÌÅ</I> ÐÒÏ×ÅÄÅÎÉÑ ÏÂÙÞÎÏÊ ÏÐÅÒÁÃÉÉ ×ÓÔÁ×ËÉ, ÎÁÐÒÉÍÅÒ</P>
 <PRE>
-    INSERT INTO person (name) VALUES ('Blaise Pascal');
-    new_id = output of "SELECT currval('person_id_seq')";
+    execute("INSERT INTO person (name) VALUES ('Blaise Pascal')");
+    new_id = execute("SELECT currval('person_id_seq')");
 </PRE>
 
     é ÎÁËÏÎÅÃ, ×Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÚÎÁÞÅÎÉÅ
@@ -1171,7 +1163,7 @@ BYTEA           bytea           
     ÉÓÐÏÌØÚÏ×ÁÎÉÅ <I>currval()</I> É <I>nextval()</I> ÐÒÉ×ÅÄÅÔ Ë
     ÚÁÃÉËÌÉÒÏ×ÁÎÉÀ Ó ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ?</H4>
 
-    <P>îÅÔ. Currval() ×ÏÚ×ÒÁÝÁÅÔ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ, ÎÁÚÎÁÞÅÎÎÏÅ ×ÁÛÅÍ
+    <P>îÅÔ. <i>currval()</i> ×ÏÚ×ÒÁÝÁÅÔ ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ, ÎÁÚÎÁÞÅÎÎÏÅ ×ÁÛÅÍ
     backend'ÏÍ, Á ÎÅ ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ.</P>
 
     <H4><A name="4.15.4">4.15.4</A>) ðÏÞÅÍÕ ÞÉÓÌÁ ÉÚ ÍÏÅÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ
@@ -1191,7 +1183,7 @@ BYTEA           bytea           
     × PostgreSQL. ëÁÖÄÁÑ ÚÁÐÉÓØ, ËÏÔÏÒÁÑ ÓÏÚÄÁ£ÔÓÑ × PostgreSQL ÐÏÌÕÞÁÅÔ
     ÕÎÉËÁÌØÎÙÊ <SMALL>OID</SMALL>. ÷ÓÅ ÚÎÁÞÅÎÉÑ <SMALL>OID</SMALL>
     ÇÅÎÅÒÉÒÕÅÍÙÅ ×Ï ×ÒÅÍÑ <I>initdb</I> ÉÍÅÀÔ ÚÎÁÞÅÎÉÑ ÍÅÎØÛÅ 16384 (ÉÚ
-    <I>backend/access/transam.h</I>). ÷ÓÅ ÓÏÚÄÁÎÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ
+    <I>include/access/transam.h</I>). ÷ÓÅ ÓÏÚÄÁÎÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ
     <SMALL>OID</SMALL> ÉÍÅÀÔ ÂïÌØÛÉÅ ÚÎÁÞÅÎÉÅ. ðÏ ÕÍÏÌÞÁÎÉÀ, ×ÓÅ ÜÔÉ
     <SMALL>OID</SMALL> Ñ×ÌÑÀÔÓÑ ÕÎÉËÁÌØÎÙÍÉ ÎÅ ÔÏÌØËÏ ×ÎÕÔÒÉ ËÁËÏÊ-ÌÉÂÏ
     ÔÁÂÌÉÃÙ ÉÌÉ ÂÁÚÙ ÄÁÎÎÙÈ, ÎÏ É ×ÎÕÔÒÉ ×ÓÅÊ óõâä PostgreSQL.</P>
@@ -1215,13 +1207,12 @@ BYTEA           bytea           
         COPY new TO '/tmp/pgtable';
         DELETE FROM new;
         COPY new WITH OIDS FROM '/tmp/pgtable';
+</PRE>
 <!--
     CREATE TABLE new_table (mycol int);
     INSERT INTO new_table (oid, mycol) SELECT oid, mycol FROM old_table;
 -->
-</PRE>
-
-    <P><SMALL>OID</SMALL> ÈÒÁÎÉÔÓÑ ËÁË 4-È ÂÁÊÔÎÏÅ ÃÅÌÏÅ É ÎÅ ÍÏÖÅÔ ÐÒÅ×ÙÛÁÔØ
+    <P>O<SMALL>ID</SMALL> ÈÒÁÎÉÔÓÑ ËÁË 4-È ÂÁÊÔÎÏÅ ÃÅÌÏÅ É ÎÅ ÍÏÖÅÔ ÐÒÅ×ÙÛÁÔØ
     ÚÎÁÞÅÎÉÅ × 4 ÍÉÌÌÉÁÒÄÁ. ïÄÎÁËÏ, ÅÝÅ ÎÉËÔÏ ÎÅ ÓÏÏÂÝÉÌ Ï ÔÏÍ, ÞÔÏ ÔÁËÏÅ
     ÐÒÏÉÚÏÛÌÏ, ÎÏ ÍÙ ÐÌÁÎÉÒÕÅÍ ÄÏ ÔÏÇÏ ËÁË ÜÔÏ ÓÌÕÞÉÔØÓÑ ÉÚÂÁ×ÉÔÓÑ ÏÔ
     ÜÔÏÇÏ ÏÇÒÁÎÉÞÅÎÉÑ.</P>
@@ -1258,8 +1249,7 @@ BYTEA           bytea           
       <LI>range variable, table name, table alias</LI>
     </UL>
 
-    <P>óÐÉÓÏË ÏÂÝÉÈ ÔÅÒÍÉÎÏ× ÐÏ ÂÁÚÁÍ ÄÁÎÎÙÈ ÍÏÖÎÏ ÎÁÊÔÉ ÎÁ <A href=
-    "http://www.comptechnews.com/~reaster/dbdesign.html">http://www.comptechnews.com/~reaster/dbdesign.html</A></P>
+    <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
     exhausted in AllocSetAlloc()"</I>?</H4>
@@ -1284,7 +1274,7 @@ BYTEA           bytea           
     <H4><A name="4.19">4.19</A>) ëÁË ÍÎÅ ÕÚÎÁÔØ, ËÁËÁÑ ×ÅÒÓÉÑ PostgreSQL
     ÚÁÐÕÝÅÎÁ?</H4>
 
-    <P>éÚ <I>psql</I>, ÎÁÂÅÒÉÔÅ <CODE>select version();</CODE></P>
+    <P>éÚ <I>psql</I>, ÎÁÂÅÒÉÔÅ <CODE>SELECT version();</CODE></P>
 
     <H4><A name="4.20">4.20</A>) ðÏÞÅÍÕ ÐÒÉ ÒÁÂÏÔÅ Ó ÍÏÉÍ ÂÏÌØÛÉÍ ÏÂßÅËÔÏÍ
      Ñ ÐÏÌÕÞÁÀ ÏÛÉÂËÕ <I>"invalid large obj descriptor"</I>?</H4>
@@ -1324,18 +1314,16 @@ BYTEA           bytea           
     Õ×ÅÌÉÞÉÔØ ÓËÏÒÏÓÔØ × ÄÒÕÇÉÈ ÚÁÐÒÏÓÁÈ, ÚÁÍÅÎÉÔÅ <CODE>IN</CODE> ÎÁ
     <CODE>EXISTS</CODE>:</P>
 <PRE>
-<CODE>SELECT *
+    SELECT *
     FROM tab
-    WHERE col IN (SELECT subcol FROM subtab)
-</CODE>
+    WHERE col IN (SELECT subcol FROM subtab);
 </PRE>
 
     ÎÁ: 
 <PRE>
-<CODE>SELECT *
+    SELECT *
     FROM tab
-    WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col)
-</CODE>
+    WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col);
 </PRE>
 
     þÔÏÂÙ ÔÁËÁÑ ËÏÎÓÔÒÕËÃÉÑ ÒÁÂÏÔÁÌÁ ÂÙÓÔÒÏ, ËÏÌÏÎËÁ <CODE>subcol</CODE>
@@ -1390,7 +1378,7 @@ BYTEA           bytea           
     ðÏÓËÏÌØËÕ PostgreSQL ÚÁÇÒÕÖÁÅÔ ÓÉÓÔÅÍÎÙÅ ËÁÔÁÌÏÇÉ ÓÐÅÃÉÆÉÞÎÙÅ ÄÌÑ ÂÁÚÙ
     ÄÁÎÎÙÈ, ÎÅÐÏÎÑÔÎÏ ÄÁÖÅ, ËÁË ÄÏÌÖÅΠÓÅÂÑ ×ÅÓÔÉ ÔÁËÏÊ ÍÅÖÂÁÚÏ×ÙÊ ÚÁÐÒÏÓ.</P>
 
-    <P><I>/contrib/dblink</I> ÐÏÚ×ÏÌÑÅÔ ÚÁÐÒÏÓÙ ÍÅÖÄÕ ÂÁÚÁÍÉ, ÉÓÐÏÌØÚÕÑ
+    <P><I>contrib/dblink</I> ÐÏÚ×ÏÌÑÅÔ ÚÁÐÒÏÓÙ ÍÅÖÄÕ ÂÁÚÁÍÉ, ÉÓÐÏÌØÚÕÑ
     ×ÙÚÏ×Ù ÆÕÎËÃÉÊ. òÁÚÕÍÅÅÔÓÑ, ËÌÉÅÎÔ ÍÏÖÅÔ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ
     ÓÏÅÄÉÅÎÅÎÉÑ Ó ÒÁÚÌÉÞÎÙÍÉ ÂÁÚÁÍÉ ÄÁÎÎÙÈ É ÔÁËÉÈ ÏÂÒÁÚÏÍ ÏÂßÅÄÉÎÑÔØ
     ÉÎÆÏÒÍÁÃÉÀ ÉÚ ÎÉÈ.</P>
@@ -1399,8 +1387,8 @@ BYTEA           bytea           
 
     <P>÷Ù ÍÏÖÅÔÅ ×ÏÚ×ÒÁÝÁÔØ ÉÚ ÆÕÎËÃÉÊ PL/pgSQL ÓÐÉÓËÉ ÒÅÚÕÌØÔÁÔÏ×, ÉÓÐÏÌØÚÕÑ
     <i>refcursors</i>. óÍÏÔÒÉÔÅ <A
-     href="http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html">
-     http://developer.postgresql.org/docs/postgres/plpgsql-cursors.html,</a>
+     href="http://www.postgresql.org/idocs/index.php?plpgsql-cursors.html">
+     http://www.PostgreSQL.org/idocs/index.php?plpgsql-cursors.html</a>,
      ÓÅËÃÉÀ 23.7.3.3.</P>
 
     <H4><A name="4.26">4.26</A>) ðÏÞÅÍÕ Ñ ÎÅ ÍÏÇÕ ÎÁÄÅÖÎÏ ÓÏÚÄÁ×ÁÔØ/ÕÄÁÌÑÔØ
@@ -1416,10 +1404,26 @@ BYTEA           bytea           
 
     <H4><A name="4.27">4.27</A>) ëÁËÉÅ ÏÐÃÉÉ ÒÅÐÌÉËÁÃÉÉ ÓÕÝÅÓÔ×ÕÀÔ?</H4>
 
-    <P>åÓÔØ ÎÅÓËÏÌØËÏ ÒÅÛÅÎÉÊ ÄÌÑ ÒÅÐÌÉËÁÃÉÉ ÔÉÐÁ master/slave. ïÎÉ ÄÏÐÕÓËÁÀÔ
-    ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÔÏÌØËÏ ÏÄÎÏÇÏ ÓÅÒ×ÅÒÁ ÄÌÑ ×ÎÅÓÅÎÉÑ ÉÚÍÅÎÅÎÉÊ × ÂÁÚÕ ÄÁÎÎÙÈ,
-    Á slave ÓÅÒ×ÅÒÙ ÐÒÏÓÔÏ ÐÏÚ×ÏÌÑÀÔ ÞÉÔÁÔØ ÄÁÎÎÙÅ ÉÚ ÂÁÚÙ.</P>
-
+    <P>åÓÔØ ÎÅÓËÏÌØËÏ ÏÐÃÉÊ ÄÌÑ ÒÅÐÌÉËÁÃÉÉ ÔÉÐÁ master/slave. ïÎÉ ÄÏÐÕÓËÁÀÔ
+    ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÔÏÌØËÏ master ÓÅÒ×ÅÒÁ ÄÌÑ ×ÎÅÓÅÎÉÑ ÉÚÍÅÎÅÎÉÊ × ÂÁÚÕ ÄÁÎÎÙÈ,
+    Á slave ÓÅÒ×ÅÒÙ ÐÒÏÓÔÏ ÐÏÚ×ÏÌÑÀÔ ÞÉÔÁÔØ ÄÁÎÎÙÅ ÉÚ ÂÁÚÙ. ï ÜÔÏÍ ÞÉÔÁÊÔÅ
+    ÚÄÅÓØ: <A href="http://gborg.postgresql.org/genpage?replication_research">
+    http://gborg.PostgreSQL.org/genpage?replication_research</A>. ï ÒÅÐÌÉËÁÃÉÉ
+    Ó ÎÅÓËÏÌØËÉÍÉ master ÓÅÒ×ÅÒÁÍÉ ÞÉÔÁÊÔÅ ÚÄÅÓØ:
+    <a href="http://gborg.postgresql.org/project/pgreplication/projdisplay.php">http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</A>.</P>
+
+    <h4><a name="4.28">4.28</a>) ëÁËÉÅ ÏÐÃÉÉ ÛÉÆÒÏ×ÁÎÉÑ ÓÕÝÅÓÔ×ÕÀÔ?
+    </h4>
+    <ul>
+    <li><i>contrib/pgcrypto</i> ÓÏÄÅÒÖÉÔ ÍÎÏÇÏ ÆÕÎËÃÉÊ ÛÉÆÒÏ×ÁÎÉÑ ÄÌÑ
+    ÉÓÐÏÌØÚÏ×ÁÎÉÑ × <small>SQL</small> ÚÁÐÒÏÓÁÈ.</li>
+    <li>åÓÔØ ÔÏÌØËÏ ÏÄÉΠÓÐÏÓÏ ÛÉÆÒÏ×ÁÎÉÑ ÄÁÎÎÙÈ, ÐÅÒÅÄÁ×ÁÅÍÙÈ ÏÔ ËÌÉÅÎÔÁ
+    Ë ÓÅÒ×ÅÒÕ, ÞÅÒÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÅ <i>hostssl</i> × <i>pg_hba.conf</i>.</li>
+    <li>ðÁÒÏÌÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ë ÂÁÚÅ ÄÁÎÎÙÈ Á×ÔÏÍÁÔÉÞÅÓËÉ ÛÉÆÒÕÀÔÓÑ, ÐÒÉ
+    ÓÏÈÒÁÎÅÎÉÉ × ×ÅÒÓÉÉ 7.3. ÷ ÐÒÅÄÙÄÕÝÉÈ ×ÅÒÓÉÑÈ, ×Ù ÄÏÌÖÎÙ ÒÁÚÒÅÛÉÔØ
+    ÏÐÃÉÀ <i>PASSWORD_ENCRYPTION</i> × <i>postgresql.conf</i>.</li>
+    <li>óÅÒ×ÅÒ ÍÏÖÎÏ ÚÁÐÕÓÔÉÔØ, ÉÓÐÏÌØÚÕÑ ÛÉÆÒÏ×ÁÎÎÕÀ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ.</li>
+    </ul>
     <HR>
 
     <H2 align="center">òÁÓÛÉÒÅÎÉÑ PostgreSQL</H2>
@@ -1439,8 +1443,10 @@ BYTEA           bytea           
     <H4><A name="5.3">5.3</A>) ëÁË ÍÎÅ ÎÁÐÉÓÁÔØ C ÆÕÎËÃÉÀ, ×ÏÚ×ÒÁÝÁÀÝÕÀ
     ÚÁÐÉÓØ?</H4>
 
-    <P>üÔÏ ÔÒÅÂÕÅÔ ÎÅËÏÅÇÏ ÛÁÍÁÎÓÔ×Á ÔÁË ËÁË Á×ÔÏÒÙ ÎÉËÏÇÄÁ ÎÅ ÐÒÏÂÏ×ÁÌÉ
-    ÄÅÌÁÔØ ÜÔÏ, ÈÏÔÑ × ÐÒÉÎÉÃÐÅ ÜÔÏ ×ÏÚÍÏÖÎÏ.</P>
+    <P>÷ ×ÅÒÓÉÑÈ PostgreSQL, ÎÁÞÉÎÁÑ Ó 7.3, ÆÕÎËÃÉÉ, ×ÏÚ×ÒÁÝÁÀÝÉÅ ÔÁÂÌÉÃÙ
+    ÐÏÌÎÏÓÔØÀ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ × C, PL/PgSQL É SQL. ðÏÄÒÏÂÎÏÓÔÉ ÓÍÏÔÒÉÔÅ ×
+    òÕËÏ×ÏÄÓÔ×Å ðÒÏÇÒÁÍÍÉÓÔÁ. ðÒÉÍÅÒ ×ÏÚ×ÒÁÝÁÀÝÅÊ ÔÁÂÌÉÃÕ ÆÕÎËÃÉÉ,
+    ÎÁÐÉÓÁÎÎÏÊ ÎÁ C, ÍÏÖÎÏ ÎÁÊÔÉ × <i>contrib/tablefunc</i>.</P>
 
     <H4><A name="5.4">5.4</A>) ñ ÉÚÍÅÎÉÌ ÉÓÈÏÄÎÙÊ ÆÁÊÌ. ðÏÞÅÍÕ ÐÏÓÌÅ
      ÐÅÒÅËÏÍÐÉÌÑÃÉÉ Ñ ÎÅ ×ÉÖÕ ÉÚÍÅÎÅÎÉÊ?</H4>