1
0
mirror of https://github.com/postgres/postgres.git synced 2025-04-27 22:56:53 +03:00

There is updated Russian translation of the FAQ in the attachment.

Victor Vislobokov
This commit is contained in:
Bruce Momjian 2006-04-11 15:49:04 +00:00
parent d329913c9c
commit 36d5976f9e
3 changed files with 289 additions and 202 deletions

View File

@ -1,5 +1,5 @@
From: Zeugswetter Andreas <ZeugswetterA@spardat.at> From: Zeugswetter Andreas <ZeugswetterA@spardat.at>
$Date: 2006/04/05 22:56:11 $ $Date: 2006/04/11 15:49:03 $
On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc
(vac.C 5.0.1) passes all regression tests. Other versions of OS and (vac.C 5.0.1) passes all regression tests. Other versions of OS and

View File

@ -1,7 +1,7 @@
Otvety na chasto zadavaemye voprosy po PostgreSQL Otvety na chasto zadavaemye voprosy po PostgreSQL
Data poslednego obnovleniya: Pyatnica 16 sentyabrya 14:07:22 EDT 2005 Data poslednego obnovleniya: Pyatnica 24 fevralya 23:28:40 EDT 2006
Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian) Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian)
(pgman@candle.pha.pa.us) (pgman@candle.pha.pa.us)
@ -18,19 +18,19 @@
Obschie voprosy Obschie voprosy
1.1) CHto takoe PostgreSQL? Kak proiznositsya `eto nazvanie? 1.1) CHto takoe PostgreSQL? Kak proiznositsya `eto nazvanie?
1.2) Kakovy avtorskie prava na PostgreSQL? 1.2) Kto upravlyaet PostgreSQL?
1.3) Na kakih platformah rabotaet PostgreSQL? 1.3) Kakovy avtorskie prava na PostgreSQL?
1.4) Gde mozhno vzyat' PostgreSQL? 1.4) Na kakih platformah rabotaet PostgreSQL?
1.5) Gde poluchit' podderzhku? 1.5) Gde mozhno vzyat' PostgreSQL?
1.6) Kak mne soobschit' ob oshibke? 1.6) Kakaya versiya poslednyaya?
1.7) Kakaya versiya poslednyaya? 1.7) Gde poluchit' podderzhku?
1.8) Kakaya dokumentaciya imeetsya v nalichii? 1.8) Kak mne soobschit' ob oshibke?
1.9) Kak najti informaciyu ob izvestnyh oshibkah ili otsutstvuyuschih 1.9) Kak najti informaciyu ob izvestnyh oshibkah ili otsutstvuyuschih
vozmozhnostyah? vozmozhnostyah?
1.10) Kak nauchit'sya SQL? 1.10) Kakaya dokumentaciya imeetsya v nalichii?
1.11) Kak prisoedinitsya k komande razrabotchikov? 1.11) Kak nauchit'sya SQL?
1.12) Kak sravnivat' PostgreSQL s drugimi SUBD? 1.12) Kak prisoedinitsya k komande razrabotchikov?
1.13) Kto upravlyaet PostgreSQL? 1.13) Kak sravnit' PostgreSQL s drugimi SUBD?
Voprosy pol'zovatelej po klientskoj chasti Voprosy pol'zovatelej po klientskoj chasti
@ -43,7 +43,7 @@
3.1) Kak mne ustanovit' PostgreSQL v mesto otlichnoe ot 3.1) Kak mne ustanovit' PostgreSQL v mesto otlichnoe ot
/usr/local/pgsql? /usr/local/pgsql?
3.2) Kak mne upravlyat' soedineniyami s drugih komp'yuterov? 3.2) Kak mne upravlyat' soedineniyami ot drugih komp'yuterov?
3.3) Kakie nastrojki mne nuzhno sdelat' dlya uluchsheniya 3.3) Kakie nastrojki mne nuzhno sdelat' dlya uluchsheniya
proizvoditel'nosti? proizvoditel'nosti?
3.4) Kakie vozmozhnosti dlya otladki est' v nalichii? 3.4) Kakie vozmozhnosti dlya otladki est' v nalichii?
@ -118,18 +118,28 @@
Podrobnosti smotrite v FAQ dlya razrabotchikov, Podrobnosti smotrite v FAQ dlya razrabotchikov,
http://www.PostgreSQL.org/files/documentation/faqs/FAQ_DEV.html http://www.PostgreSQL.org/files/documentation/faqs/FAQ_DEV.html
1.2) Kakovy avtorskie prava na PostgreSQL? 1.2) Kto upravlyaet PostgreSQL?
Esli vy ischite kakogo-to osobennogo cheloveka, central'nyj komitet
ili upravlyayuschuyu kompaniyu, to naprasno --- ih net. U nas est'
yadro komiteta i razrabotchikov, rabotayuschih s CVS, no `eti gruppy
sluzhat bol'she dlya administrativnyh celej, chem dlya upravleniya.
Proekt napryamuyu funkcioniruet s pomosch'yu soobschestva
razrabotchikov i pol'zovatelej, k kotoromu mozhet prisoedinitsya
kazhdyj. Vsio chto nuzhno -- `eto podpisat'sya na spiski rassylki i
uchastvovat' v diskussiyah. (Podrobnosti o tom kak vklyuchit'sya v
razrabotku PostgreSQL smotrite v FAQ dlya razrabotchikov.)
1.3) Kakovy avtorskie prava na PostgreSQL?
PostgreSQL rasprostranyaetsya po klassicheskoj licenzii BSD. `Eta PostgreSQL rasprostranyaetsya po klassicheskoj licenzii BSD. `Eta
licenziya ne soderzhit ogranichenij na to, kak budet ispol'zovat'sya licenziya ne soderzhit ogranichenij na to, kak budet ispol'zovat'sya
ishodnyj kod. Nam nravitsya `eta licenziya i u nas net namerenij eio ishodnyj kod. Nam nravitsya `eta licenziya i u nas net namerenij eio
menyat'. menyat'. Vot `eta licenziya BSD, kotoruyu my ispol'zuem:
Vot `eta licenziya BSD, kotoruyu my ispol'zuem:
Sistema Upravleniya Bazami Dannyh PostgreSQL Sistema Upravleniya Bazami Dannyh PostgreSQL
Portions copyright (c) 1996-2005, PostgreSQL Global Development Group Portions copyright (c) 1996-2006, PostgreSQL Global Development Group
Portions Copyright (c) 1994-1996 Regents of the University of Portions Copyright (c) 1994-1996 Regents of the University of
California California
@ -155,7 +165,7 @@
PREDOSTAVLYAT' SOPROVOZHDENIE, PODDERZHKU, OBNOVLENIYA, RASSHIRENIYA PREDOSTAVLYAT' SOPROVOZHDENIE, PODDERZHKU, OBNOVLENIYA, RASSHIRENIYA
ILI IZMENENIYA. ILI IZMENENIYA.
1.3) Na kakih platformah rabotaet PostgreSQL? 1.4) Na kakih platformah rabotaet PostgreSQL?
Obychno, PostgreSQL mozhet rabotat' na lyuboj sovremennoj platforme Obychno, PostgreSQL mozhet rabotat' na lyuboj sovremennoj platforme
sovmestimoj s Unix. V instrukcii po ustanovke, vy najdete spisok teh sovmestimoj s Unix. V instrukcii po ustanovke, vy najdete spisok teh
@ -174,12 +184,19 @@
http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgre http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgre
SQL&stype=all&sort=type&dir=%2F. SQL&stype=all&sort=type&dir=%2F.
1.4) Gde mozhno vzyat' PostgreSQL? 1.5) Gde mozhno vzyat' PostgreSQL?
CHerez brauzer, ispol'zuya http://www.postgresql.org/ftp/ i cherez CHerez brauzer, ispol'zuya http://www.postgresql.org/ftp/ i cherez
ftp, ispol'zuya ftp://ftp.PostgreSQL.org/pub/. ftp, ispol'zuya ftp://ftp.PostgreSQL.org/pub/.
1.5) Gde poluchit' podderzhku? 1.6) Kakaya poslednyaya versiya?
Poslednij vypusk PostgreSQL - `eto versiya 8.1.3
My planiruem vypuskat' novye starshie versii kazhdyj god, a mladshie
versii kazhdye neskol'ko mesyacev.
1.7) Gde poluchit' podderzhku?
Soobschestvo PostgreSQL predostavlyaet pomosch' mnozhestvu Soobschestvo PostgreSQL predostavlyaet pomosch' mnozhestvu
pol'zovatelej cherez E-mail. Osnovnoj web-sajt dlya podpiski na spiski pol'zovatelej cherez E-mail. Osnovnoj web-sajt dlya podpiski na spiski
@ -198,22 +215,63 @@
Spisok kommercheskoj podderzhki kompanij dostupen na Spisok kommercheskoj podderzhki kompanij dostupen na
http://techdocs.postgresql.org/companies.php. http://techdocs.postgresql.org/companies.php.
1.6) Kak mne soobschit' ob oshibke? 1.8) Kak mne soobschit' ob oshibke?
Posetite stranichku so special'noj formoj otchiota ob oshibke v Posetite stranichku so special'noj formoj otchiota ob oshibke v
PostgreSQL po adresu: http://www.postgresql.org/support/submitbug. PostgreSQL po adresu: http://www.postgresql.org/support/submitbug.
Takzhe prover'te nalichie bolee svezhej versii PostgreSQL na nashem Takzhe prover'te nalichie bolee svezhej versii PostgreSQL na nashem
FTP sajte ftp://ftp.PostgreSQL.org/pub/. FTP sajte ftp://ftp.PostgreSQL.org/pub/.
1.7) Kakaya poslednyaya versiya? Na oshibki, uvedomlenie o kotoryh byli sdelany cherez special'nuyu
formu ili otpravlennye v kakoj-libo spisok rassylki PostgreSQL,
obychno generiruetsya odin iz sleduyuschih otvetov:
* `Eto ne oshibka i pochemu
* `Eto izvestnaya oshibka i ona uzhe est' v spiske TODO
* Dannaya oshibka byla ispravlena v tekuschem vypuske
* Dannaya oshibka byla ispravlena, no ispravlenie poka ne popalo v
oficial'nyj vypusk
* Zaprashivaetsya bolee detal'naya informaciya:
+ Operacionnaya sistema
+ Versiya PostgreSQL
+ Test, vosproizvodyaschij oshibku
+ Otladochnaya informaciya
+ Vyvod backtrace otladchika
* `Eto novaya oshibka. Mozhet proizojti sleduyuschee:
+ Budet sozdano ispravlenie, kotoroe budet vklyucheno v
sleduyuschij vypusk
+ Oshibka ne mozhet byt' ispravlena nemedlenno i budet
dobavlena v spisok TODO
Poslednij vypusk PostgreSQL - `eto versiya 8.0.3 1.9) Kak najti informaciyu ob izvestnyh oshibkah ili otsutstvuyuschih
vozmozhnostyah?
My planiruem vypuskat' novye starshie versii kazhdyj god, a mladshie PostgreSQL podderzhivaet rasshirennyj podklass SQL:2003. Smotrite nash
versii kazhdye neskol'ko mesyacev. spisok TODO na predmet izvestnyh oshibok, otsutstvuyuschih
vozmozhnostej i buduschih planov.
1.8) Kakaya dokumentaciya imeetsya v nalichii? Na zapros kakoj-libo vozmozhnosti obychno prihodyat sleduyuschie
otvety:
* Dannaya vozmozhnost' uzhe est' v spiske TODO
* Dannaya vozmozhnost' nezhelatel'na potomu chto:
+ Ona dubliruet suschestvuyuschuyu funkcional'nost', kotoraya
sleduet standartu SQL
+ Dannaya vozmozhnost' sil'no uslozhnila by kod, no dala by
malen'kuyu vygodu
+ Dannaya vozmozhnost' nebezopasna ili nenadiozhna
* Dannaya novaya vozmozhnost' dobavlena v spisok TODO
PostgreSQL ne ispol'zuet kakuyu-libo sistemu otslezhivaniya oshibok,
potomu chto my obnaruzhili, chto ispol'zovanie pryamogo obrascheniya
po `elektronnoj pochte i obnovlyaemogo spiska TODO yavlyaetsya bolee
`effektivnym. Na praktike, oshibki v programmnom obespechenii
sohranyayutsya ochen' nedolgo, a oshibki, kotorye vazhny bol'shomu
kolichestvu pol'zovatelej ispravlyayutsya momental'no. Est' tol'ko
odno mesto, gde mozhno najti vse izmeneniya, uluchsheniya i
ispravleniya, sdelannye v vypuske PostgreSQL - `eto zhurnaly
soobschenij sistemy kontrolya versij CVS. Dazhe zamechaniya k vypuskam
ne soderzhat vse izmeneniya, sdelannye v programmnom obespechenii.
1.10) Kakaya dokumentaciya imeetsya v nalichii?
PostgreSQL soderzhit mnogo dokumentacii, vklyuchaya bol'shoe PostgreSQL soderzhit mnogo dokumentacii, vklyuchaya bol'shoe
rukovodstvo, stranicy `elektronnogo rukovodstva man i nekotorye rukovodstvo, stranicy `elektronnogo rukovodstva man i nekotorye
@ -237,14 +295,7 @@
Nash sajt soderzhit esche bol'she informacii. Nash sajt soderzhit esche bol'she informacii.
1.9) Kak najti informaciyu ob izvestnyh oshibkah ili otsutstvuyuschih 1.11) Kak mne nauchit'sya SQL?
vozmozhnostyah?
PostgreSQL podderzhivaet rasshirennyj podklass SQL-92. Smotrite nash
spisok TODO na predmet izvestnyh oshibok, otsutstvuyuschih
vozmozhnostej i buduschih planov.
1.10) Kak mne nauchit'sya SQL?
Vo-pervyh, voz'mite odnu iz knig po PostgreSQL, o kotoryh govorilos' Vo-pervyh, voz'mite odnu iz knig po PostgreSQL, o kotoryh govorilos'
vyshe. Esche odin uchebnik - `eto kniga "Teach Yourself SQL in 21 vyshe. Esche odin uchebnik - `eto kniga "Teach Yourself SQL in 21
@ -258,11 +309,11 @@
http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM, http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM,
i na http://sqlcourse.com. i na http://sqlcourse.com.
1.11) Kak prisoedinitsya k komande razrabotchikov? 1.12) Kak prisoedinitsya k komande razrabotchikov?
Smotrite FAQ dlya razrabotchikov. Smotrite FAQ dlya razrabotchikov.
1.12) Kak sravnivat' PostgreSQL s drugimi SUBD? 1.13) Kak sravnit' PostgreSQL s drugimi SUBD?
Suschestvuet neskol'ko metodov sravneniya programmnogo obespecheniya: Suschestvuet neskol'ko metodov sravneniya programmnogo obespecheniya:
vozmozhnosti, proizvoditel'nost', nadezhnost', podderzhka i cena. vozmozhnosti, proizvoditel'nost', nadezhnost', podderzhka i cena.
@ -304,7 +355,7 @@
podderzhku PostgreSQL prevoshodyaschej drugie SUBD. podderzhku PostgreSQL prevoshodyaschej drugie SUBD.
Suschestvuet kommercheskaya podderzhka po rezul'tam voznikshih Suschestvuet kommercheskaya podderzhka po rezul'tam voznikshih
incidentov, kotoraya dostupna dlya teh komu ona nuzhna. incidentov, kotoraya dostupna dlya teh komu ona nuzhna.
(Smotrite Sekciyu 1.5.) (Smotrite Sekciyu 1.7.)
Cena Cena
Nash produkt besplaten kak dlya kommercheskogo tak, i ne dlya Nash produkt besplaten kak dlya kommercheskogo tak, i ne dlya
@ -312,18 +363,6 @@
nash produkt bez ogranichenij, za isklyucheniem teh, chto nash produkt bez ogranichenij, za isklyucheniem teh, chto
opisyvayutsya v nashej licenzii stilya BSD, kotoraya privedena opisyvayutsya v nashej licenzii stilya BSD, kotoraya privedena
vyshe. vyshe.
1.13) Kto upravlyaet PostgreSQL?
Esli vy ischite kakogo-to osobennogo cheloveka, central'nyj komitet
ili upravlyayuschuyu kompaniyu, to naprasno --- ih net. U nas est'
yadro komiteta i razrabotchikov, rabotayuschih s CVS, no `eti gruppy
sluzhat bol'she dlya administrativnyh celej, chem dlya upravleniya.
Proekt napryamuyu funkcioniruet s pomosch'yu soobschestva
razrabotchikov i pol'zovatelej, k kotoromu mozhet prisoedinitsya
kazhdyj. Vsio chto nuzhno -- `eto podpisat'sya na spiski rassylki i
uchastvovat' v diskussiyah. (Podrobnosti o tom kak vklyuchit'sya v
razrabotku PostgreSQL smotrite v FAQ dlya razrabotchikov.)
_________________________________________________________________ _________________________________________________________________
Voprosy pol'zovatelej po klientskoj chasti Voprosy pol'zovatelej po klientskoj chasti
@ -365,7 +404,7 @@
Zadajte opciyu --prefix kogda zapuskaete configure. Zadajte opciyu --prefix kogda zapuskaete configure.
3.2) Kak mne upravlyat' soedineniyami s drugih komp'yuterov? 3.2) Kak mne upravlyat' soedineniyami ot drugih komp'yuterov?
Po umolchaniyu, PostgreSQL razreshaet tol'ko soedineniya na lokal'noj Po umolchaniyu, PostgreSQL razreshaet tol'ko soedineniya na lokal'noj
mashine cherez sokety domena Unix ili TCP/IP soedineniya. Dlya togo, mashine cherez sokety domena Unix ili TCP/IP soedineniya. Dlya togo,
@ -555,7 +594,7 @@
kotoryh celoe chislo i tekstovoe opisanie. Pri `etom dlina teksta, v kotoryh celoe chislo i tekstovoe opisanie. Pri `etom dlina teksta, v
srednem, sostavlyaet 20 bajt. Razmer prostogo fajla sostavit 2.8 MB. srednem, sostavlyaet 20 bajt. Razmer prostogo fajla sostavit 2.8 MB.
Razmer bazy PostgreSQL, soderzhaschej `eti zhe dannye sostavit Razmer bazy PostgreSQL, soderzhaschej `eti zhe dannye sostavit
priblizitel'no 6.4 MB iz kotoryh: priblizitel'no 5.6 MB iz kotoryh:
28 bajt: na kazhdyj zagolovok stroki v tablice (priblizitel'no) 28 bajt: na kazhdyj zagolovok stroki v tablice (priblizitel'no)
+ 24 bajta: odno pole s celochislennym tipom i odno tekstovoe pole + 24 bajta: odno pole s celochislennym tipom i odno tekstovoe pole
+ 4 bajta: ukazatel' na stranice dlya vsej tablichnoj stroki + 4 bajta: ukazatel' na stranice dlya vsej tablichnoj stroki
@ -605,13 +644,7 @@
sortirovkoj obychno bystree, chem poisk po indeksam v bol'shoj sortirovkoj obychno bystree, chem poisk po indeksam v bol'shoj
tablice. Odnako, ORDER BY chasto kombiniruetsya s LIMIT i v `etom tablice. Odnako, ORDER BY chasto kombiniruetsya s LIMIT i v `etom
sluchae indeks budet ispol'zovat'sya, poskol'ku pri vypolnenii budet sluchae indeks budet ispol'zovat'sya, poskol'ku pri vypolnenii budet
vozvraschat'sya nebol'shaya chast' tablicy. Fakticheski MAX() i MIN() vozvraschat'sya nebol'shaya chast' tablicy.
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;
Esli vam kazhetsya, chto optimizator nekorrektno vybiraet Esli vam kazhetsya, chto optimizator nekorrektno vybiraet
posledovatel'nyj perebor, ispol'zujte SET enable_seqscan TO 'off' i posledovatel'nyj perebor, ispol'zujte SET enable_seqscan TO 'off' i

View File

@ -12,7 +12,7 @@
<BODY bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000" alink="#0000ff"> <BODY bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000" alink="#0000ff">
<H1>Ответы на часто задаваемые вопросы по PostgreSQL</H1> <H1>Ответы на часто задаваемые вопросы по PostgreSQL</H1>
<P>Дата последнего обновления: Пятница 16 сентября 14:07:22 EDT 2005</P> <P>Дата последнего обновления: Пятница 24 февраля 23:28:40 EDT 2006</P>
<P>Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (<A href= <P>Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR> "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
@ -29,102 +29,102 @@
<HR> <HR>
<H2 align="center">Общие вопросы</H2> <H2 align="center">Общие вопросы</H2>
<A href="#1.1">1.1</A>) Что такое PostgreSQL? Как произносится это название?<BR> <A href="#item1.1">1.1</A>) Что такое PostgreSQL? Как произносится это название?<BR>
<A href="#1.2">1.2</A>) Каковы авторские права на PostgreSQL?<BR> <A href="#item1.2">1.2</A>) Кто управляет PostgreSQL?<BR>
<A href="#1.3">1.3</A>) На каких платформах работает PostgreSQL?<BR> <A href="#item1.3">1.3</A>) Каковы авторские права на PostgreSQL?<BR>
<A href="#1.4">1.4</A>) Где можно взять PostgreSQL?<BR> <A href="#item1.4">1.4</A>) На каких платформах работает PostgreSQL?<BR>
<A href="#1.5">1.5</A>) Где получить поддержку?<BR> <A href="#item1.5">1.5</A>) Где можно взять PostgreSQL?<BR>
<A href="#1.6">1.6</A>) Как мне сообщить об ошибке?<BR> <A href="#item1.6">1.6</A>) Какая версия последняя?<BR>
<A href="#1.7">1.7</A>) Какая версия последняя?<BR> <A href="#item1.7">1.7</A>) Где получить поддержку?<BR>
<A href="#1.8">1.8</A>) Какая документация имеется в наличии?<BR> <A href="#item1.8">1.8</A>) Как мне сообщить об ошибке?<BR>
<A href="#1.9">1.9</A>) Как найти информацию об известных ошибках или отсутствующих <A href="#item1.9">1.9</A>) Как найти информацию об известных ошибках или отсутствующих
возможностях?<BR> возможностях?<BR>
<A href="#1.10">1.10</A>) Как научиться <SMALL>SQL</SMALL>?<BR> <A href="#item1.10">1.10</A>) Какая документация имеется в наличии?<BR>
<A href="#1.11">1.11</A>) Как присоединится к команде разработчиков?<BR> <A href="#item1.11">1.11</A>) Как научиться <SMALL>SQL</SMALL>?<BR>
<A href="#1.12">1.12</A>) Как сравнивать PostgreSQL с другими <A href="#item1.12">1.12</A>) Как присоединится к команде разработчиков?<BR>
<A href="#item1.13">1.13</A>) Как сравнить PostgreSQL с другими
<SMALL>СУБД</SMALL>?<BR> <SMALL>СУБД</SMALL>?<BR>
<A href="#1.13">1.13</A>) Кто управляет PostgreSQL?<BR>
<H2 align="center">Вопросы пользователей по клиентской части</H2> <H2 align="center">Вопросы пользователей по клиентской части</H2>
<A href="#2.1">2.1</A>) Какие интерфейсы есть для PostgreSQL?<BR> <A href="#item2.1">2.1</A>) Какие интерфейсы есть для PostgreSQL?<BR>
<A href="#2.2">2.2</A>) Какие инструменты существуют для использования <A href="#item2.2">2.2</A>) Какие инструменты существуют для использования
PostgreSQL через Web?<BR> PostgreSQL через Web?<BR>
<A href="#2.3">2.3</A>) Есть ли у PostgreSQL графический интерфейс <A href="#item2.3">2.3</A>) Есть ли у PostgreSQL графический интерфейс
пользователя?<BR> пользователя?<BR>
<H2 align="center">Вопросы администрирования</H2> <H2 align="center">Вопросы администрирования</H2>
<A href="#3.1">3.1</A>) Как мне установить PostgreSQL в место отличное <A href="#item3.1">3.1</A>) Как мне установить PostgreSQL в место отличное
от <I>/usr/local/pgsql</I>?<BR> от <I>/usr/local/pgsql</I>?<BR>
<A href="#3.2">3.2</A>) Как мне управлять соединениями с других <A href="#item3.2">3.2</A>) Как мне управлять соединениями от других
компьютеров?<BR> компьютеров?<BR>
<A href="#3.3">3.3</A>) Какие настройки мне нужно сделать для улучшения <A href="#item3.3">3.3</A>) Какие настройки мне нужно сделать для улучшения
производительности?<BR> производительности?<BR>
<A href="#3.4">3.4</A>) Какие возможности для отладки есть в наличии?<BR> <A href="#item3.4">3.4</A>) Какие возможности для отладки есть в наличии?<BR>
<A href="#3.5">3.5</A>) Почему я получаю сообщение <I>"Sorry, too many <A href="#item3.5">3.5</A>) Почему я получаю сообщение <I>"Sorry, too many
clients"</I> когда пытаюсь подключиться к базе?<BR> clients"</I> когда пытаюсь подключиться к базе?<BR>
<A href="#3.6">3.6</A>) Почему необходимо делать dump и restore при <A href="#item3.6">3.6</A>) Почему необходимо делать dump и restore при
обновлении выпусков PostgreSQL?<BR> обновлении выпусков PostgreSQL?<BR>
<A href="#3.7">3.7</A>) Какое компьютерное "железо" я должен <A href="#item3.7">3.7</A>) Какое компьютерное "железо" я должен
использовать?<BR> использовать?<BR>
<H2 align="center">Вопросы эксплуатации</H2> <H2 align="center">Вопросы эксплуатации</H2>
<A href="#4.1">4.1</A>) Как выполнить <SMALL>SELECT</SMALL> только <A href="#item4.1">4.1</A>) Как выполнить <SMALL>SELECT</SMALL> только
для нескольких первых строчек запроса? Для произвольной строки?<BR> для нескольких первых строчек запроса? Для произвольной строки?<BR>
<A href="#4.2">4.2</A>) Как мне найти какие таблицы, индексы, <A href="#item4.2">4.2</A>) Как мне найти какие таблицы, индексы,
базы данных и пользователи существуют? Как мне увидеть запросы, базы данных и пользователи существуют? Как мне увидеть запросы,
которые использует <I>psql</I> для получения этой информации?<BR> которые использует <I>psql</I> для получения этой информации?<BR>
<A href="#4.3">4.3</A>) Как изменить тип данных колонки?<BR> <A href="#item4.3">4.3</A>) Как изменить тип данных колонки?<BR>
<A href="#4.4">4.4</A>) Каковы максимальные размеры для строк в таблице, <A href="#item4.4">4.4</A>) Каковы максимальные размеры для строк в таблице,
таблиц и базы данных?<BR> таблиц и базы данных?<BR>
<A href="#4.5">4.5</A>) Как много дискового пространства в базе данных <A href="#item4.5">4.5</A>) Как много дискового пространства в базе данных
нужно для сохранения данных из обычного текстового файла?<BR> нужно для сохранения данных из обычного текстового файла?<BR>
<A href="#4.6">4.6</A>) Почему мои запросы работают медлено? Почему <A href="#item4.6">4.6</A>) Почему мои запросы работают медлено? Почему
они не используют мои индексы?<BR> они не используют мои индексы?<BR>
<A href="#4.7">4.7</A>) Как посмотреть на то, как оптимизатор выполняет <A href="#item4.7">4.7</A>) Как посмотреть на то, как оптимизатор выполняет
мой запрос?<BR> мой запрос?<BR>
<A href="#4.8">4.8</A>) Как мне выполнить поиск регулярного выражения <A href="#item4.8">4.8</A>) Как мне выполнить поиск регулярного выражения
и поиск независимый от регистра букв поиск регулярного выражения? и поиск независимый от регистра букв поиск регулярного выражения?
Как мне использовать индекс для поиска независимого от регистра букв?<BR> Как мне использовать индекс для поиска независимого от регистра букв?<BR>
<A href="#4.9">4.9</A>) Как мне определить, что значение поля равно <A href="#item4.9">4.9</A>) Как мне определить, что значение поля равно
<SMALL>NULL</SMALL> в каком-либо запросе? Могу я отсортировать поля <SMALL>NULL</SMALL> в каком-либо запросе? Могу я отсортировать поля
<SMALL>NULL</SMALL> или нет?<BR> <SMALL>NULL</SMALL> или нет?<BR>
<A href="#4.10">4.10</A>) Каковы отличия между разными символьными <A href="#item4.10">4.10</A>) Каковы отличия между разными символьными
типами?<BR> типами?<BR>
<A href="#4.11.1">4.11.1</A>) Как мне создать поле serial/с-авто-увеличением?<BR> <A href="#item4.11.1">4.11.1</A>) Как мне создать поле serial/с-авто-увеличением?<BR>
<A href="#4.11.2">4.11.2</A>) Как мне получить значение при вставке <A href="#item4.11.2">4.11.2</A>) Как мне получить значение при вставке
<SMALL>SERIAL</SMALL>?<BR> <SMALL>SERIAL</SMALL>?<BR>
<A href="#4.11.3">4.11.3</A>) Не может ли получиться так, что <A href="#item4.11.3">4.11.3</A>) Не может ли получиться так, что
использование <I>currval()</I> и <I>nextval()</I> приведет к использование <I>currval()</I> и <I>nextval()</I> приведет к
зациклированию с другими пользователями?<BR> зациклированию с другими пользователями?<BR>
<A href="#4.11.4">4.11.4</A>) Почему числа из моей последовательности <A href="#item4.11.4">4.11.4</A>) Почему числа из моей последовательности
не используются снова при отмене транзакции? Почему создаются разрывы не используются снова при отмене транзакции? Почему создаются разрывы
при нумерации в колонке, где я использую последовательность/SERIAL?<BR> при нумерации в колонке, где я использую последовательность/SERIAL?<BR>
<A href="#4.12">4.12</A>) Что такое <SMALL>OID</SMALL>? Что такое <A href="#item4.12">4.12</A>) Что такое <SMALL>OID</SMALL>? Что такое
<SMALL>CTID</SMALL>?<BR> <SMALL>CTID</SMALL>?<BR>
<A href="#4.13">4.13</A>) Почему я получаю ошибку <I>"ERROR: Memory <A href="#item4.13">4.13</A>) Почему я получаю ошибку <I>"ERROR: Memory
exhausted in AllocSetAlloc()"</I>?<BR> exhausted in AllocSetAlloc()"</I>?<BR>
<A href="#4.14">4.14</A>) Как мне узнать, какая версия PostgreSQL <A href="#item4.14">4.14</A>) Как мне узнать, какая версия PostgreSQL
запущена?<BR> запущена?<BR>
<A href="#4.15">4.15</A>) Как мне создать колонку которая по умолчанию <A href="#item4.15">4.15</A>) Как мне создать колонку которая по умолчанию
будет содержать текущее время?<BR> будет содержать текущее время?<BR>
<A href="#4.16">4.16</A>) Как выполнить внешнее связывание?<BR> <A href="#item4.16">4.16</A>) Как выполнить внешнее связывание?<BR>
<A href="#4.17">4.17</A>) Как выполнять запросы, использующие несколько <A href="#item4.17">4.17</A>) Как выполнять запросы, использующие несколько
баз данных?<BR> баз данных?<BR>
<A href="#4.18">4.18</A>) Как мне вернуть из функции несколько строк таблицы?<BR> <A href="#item4.18">4.18</A>) Как мне вернуть из функции несколько строк таблицы?<BR>
<A href="#4.19">4.19</A>) Почему я получаю ошибку "relation with OID #### <A href="#item4.19">4.19</A>) Почему я получаю ошибку "relation with OID ####
не существует", когда обращаютсь к временным таблицам в функциях PL/PgSQL?<BR> не существует", когда обращаютсь к временным таблицам в функциях PL/PgSQL?<BR>
<A href="#4.20">4.20</A>) Какие есть решения для репликации?<BR> <A href="#item4.20">4.20</A>) Какие есть решения для репликации?<BR>
<A href="#4.21">4.21</A>) Почему имена таблицы и колонок не <A href="#item4.21">4.21</A>) Почему имена таблицы и колонок не
распознаются в в моём запросе?<BR> распознаются в в моём запросе?<BR>
<HR> <HR>
<H2 align="center">Общие вопросы</H2> <H2 align="center">Общие вопросы</H2>
<H3><A name="1.1">1.1</A>) Что такое PostgreSQL? Как произносится это название?</H3> <H3><A name="item1.1">1.1</A>) Что такое PostgreSQL? Как произносится это название?</H3>
<P>PostgreSQL произносится <I>Post-Gres-Q-L (Пост-Грес-Кью-Эл)</I>, <P>PostgreSQL произносится <I>Post-Gres-Q-L (Пост-Грес-Кью-Эл)</I>,
также иногда говорят просто <I>Postgres</I>. Вы можете услышать как также иногда говорят просто <I>Postgres</I>. Вы можете услышать как
@ -146,18 +146,30 @@
http://www.PostgreSQL.org/files/documentation/faqs/FAQ_DEV.html</A> http://www.PostgreSQL.org/files/documentation/faqs/FAQ_DEV.html</A>
</P> </P>
<H3><A name="1.2">1.2</A>) Каковы авторские права на PostgreSQL?</H3> <H3><A name="item1.2">1.2</A>) Кто управляет PostgreSQL?</H3>
<P>Если вы ищите какого-то особенного человека, центральный
комитет или управляющую компанию, то напрасно --- их нет.
У нас есть ядро комитета и разработчиков, работающих с CVS,
но эти группы служат больше для административных целей, чем
для управления. Проект напрямую функционирует с помощью
сообщества разработчиков и пользователей, к которому может
присоединится каждый. Всё что нужно -- это подписаться на
списки рассылки и участвовать в дискуссиях. (Подробности о
том как включиться в разработку PostgreSQL смотрите в
<a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html">
FAQ для разработчиков</A>.)</P>
<H3><A name="item1.3">1.3</A>) Каковы авторские права на PostgreSQL?</H3>
<P>PostgreSQL распространяется по классической лицензии BSD. Эта <P>PostgreSQL распространяется по классической лицензии BSD. Эта
лицензия не содержит ограничений на то, как будет использоваться лицензия не содержит ограничений на то, как будет использоваться
исходный код. Нам нравится эта лицензия и у нас нет намерений её исходный код. Нам нравится эта лицензия и у нас нет намерений её
менять.</P> менять. Вот эта лицензия BSD, которую мы используем:</P>
<P>Вот эта лицензия BSD, которую мы используем:</P>
<P>Система Управления Базами Данных PostgreSQL</P> <P>Система Управления Базами Данных PostgreSQL</P>
<P>Portions copyright (c) 1996-2005, PostgreSQL Global Development <P>Portions copyright (c) 1996-2006, PostgreSQL Global Development
Group Portions Copyright (c) 1994-1996 Regents of the University of Group Portions Copyright (c) 1994-1996 Regents of the University of
California</P> California</P>
@ -182,7 +194,7 @@
"КАК ЕСТЬ" И КАЛИФОРНИЙСКИЙ УНИВЕРСИТЕТ НЕ ОБЯЗАН ПРЕДОСТАВЛЯТЬ "КАК ЕСТЬ" И КАЛИФОРНИЙСКИЙ УНИВЕРСИТЕТ НЕ ОБЯЗАН ПРЕДОСТАВЛЯТЬ
СОПРОВОЖДЕНИЕ, ПОДДЕРЖКУ, ОБНОВЛЕНИЯ, РАСШИРЕНИЯ ИЛИ ИЗМЕНЕНИЯ.</P> СОПРОВОЖДЕНИЕ, ПОДДЕРЖКУ, ОБНОВЛЕНИЯ, РАСШИРЕНИЯ ИЛИ ИЗМЕНЕНИЯ.</P>
<H3><A name="1.3">1.3</A>) На каких платформах работает PostgreSQL?</H3> <H3><A name="item1.4">1.4</A>) На каких платформах работает PostgreSQL?</H3>
<P>Обычно, PostgreSQL может работать на любой современной платформе <P>Обычно, PostgreSQL может работать на любой современной платформе
совместимой с Unix. В инструкции по установке, вы найдете список совместимой с Unix. В инструкции по установке, вы найдете список
@ -203,13 +215,22 @@
<A href="http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&amp;button=Search&amp;key=postgreSQL&amp;stype=all&amp;sort=type&amp;dir=%2F"> <A href="http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&amp;button=Search&amp;key=postgreSQL&amp;stype=all&amp;sort=type&amp;dir=%2F">
http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&amp;button=Search&amp;key=postgreSQL&amp;stype=all&amp;sort=type&amp;dir=%2F</A>.</P> http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&amp;button=Search&amp;key=postgreSQL&amp;stype=all&amp;sort=type&amp;dir=%2F</A>.</P>
<H3><A name="1.4">1.4</A>) Где можно взять PostgreSQL?</H3> <H3><A name="item1.5">1.5</A>) Где можно взять PostgreSQL?</H3>
<P>Через браузер, используя <a href="http://www.postgresql.org/ftp/"> <P>Через браузер, используя <a href="http://www.postgresql.org/ftp/">
http://www.postgresql.org/ftp/</a> и через ftp, используя http://www.postgresql.org/ftp/</a> и через ftp, используя
<A href="ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</A>.</P> <A href="ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.PostgreSQL.org/pub/</A>.</P>
<H3><A name="1.5">1.5</A>) Где получить поддержку?</H3>
<H3><A name="item1.6">1.6</A>) Какая последняя версия?</H3>
<P>Последний выпуск PostgreSQL - это версия 8.1.3</P>
<P>Мы планируем выпускать новые старшие версии каждый год,
а младшие версии каждые несколько месяцев.</P>
<H3><A name="item1.7">1.7</A>) Где получить поддержку?</H3>
<P>Сообщество PostgreSQL предоставляет помощь множеству пользователей <P>Сообщество PostgreSQL предоставляет помощь множеству пользователей
через E-mail. Основной web-сайт для подписки на списки рассылки по через E-mail. Основной web-сайт для подписки на списки рассылки по
@ -231,26 +252,87 @@
http://techdocs.postgresql.org/companies.php</A>.</P> http://techdocs.postgresql.org/companies.php</A>.</P>
<H3><A name="1.6">1.6</A>) Как мне сообщить об ошибке?</H3> <H3><A name="item1.8">1.8</A>) Как мне сообщить об ошибке?</H3>
<P>Посетите страничку со специальной формой отчёта об ошибке в <P>Посетите страничку со специальной формой отчёта об ошибке в
PostgreSQL по адресу: PostgreSQL по адресу:
<A HREF="http://www.postgresql.org/support/submitbug"> <A HREF="http://www.postgresql.org/support/submitbug">
http://www.postgresql.org/support/submitbug</A>.</P> http://www.postgresql.org/support/submitbug</A>.
Также проверьте наличие более свежей версии PostgreSQL на нашем
<P>Также проверьте наличие более свежей версии PostgreSQL на нашем
FTP сайте <A href="ftp://ftp.postgresql.org/pub/"> FTP сайте <A href="ftp://ftp.postgresql.org/pub/">
ftp://ftp.PostgreSQL.org/pub/</A>. ftp://ftp.PostgreSQL.org/pub/</A>.</P>
<P>На ошибки, уведомление о которых были сделаны через специальную
форму или отправленные в какой-либо список рассылки PostgreSQL,
обычно генерируется один из следующих ответов:</P>
<UL>
<LI>Это не ошибка и почему</LI>
<LI>Это известная ошибка и она уже есть в списке
<A HREF="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A></LI>
<LI>Данная ошибка была исправлена в текущем выпуске</LI>
<LI>Данная ошибка была исправлена, но исправление пока не попало в
официальный выпуск</LI>
<LI>Запрашивается более детальная информация:
<UL>
<LI>Операционная система</LI>
<LI>Версия PostgreSQL</LI>
<LI>Тест, воспроизводящий ошибку</LI>
<LI>Отладочная информация</LI>
<LI>Вывод backtrace отладчика</LI>
</UL>
</LI>
<LI>Это новая ошибка. Может произойти следующее:
<UL>
<LI>Будет создано исправление, которое будет включено в следующий
выпуск</LI>
<LI>Ошибка не может быть исправлена немедленно и будет добавлена в список
<A HREF="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A></LI>
</UL>
</LI>
</UL>
<H3><A name="1.9">1.9</A>) Как найти информацию об известных ошибках
или отсутствующих возможностях?</H3>
<P>PostgreSQL поддерживает расширенный подкласс <SMALL>SQL:2003</SMALL>.
Смотрите наш список <A href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A>
на предмет известных ошибок, отсутствующих возможностей и будущих
планов.</P>
<P>На запрос какой-либо возможности обычно приходят следующие ответы:</P>
<UL>
<LI>Данная возможность уже есть в списке
<A href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A></LI>
<LI>Данная возможность нежелательна потому что:
<UL>
<LI>Она дублирует существующую функциональность, которая следует
стандарту SQL</LI>
<LI>Данная возможность сильно усложнила бы код, но дала бы маленькую
выгоду</LI>
<LI>Данная возможность небезопасна или ненадёжна</LI>
</UL>
</LI>
<LI>Данная новая возможность добавлена в список
<A href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A>
</LI>
</UL>
<P>PostgreSQL не использует какую-либо систему отслеживания ошибок,
потому что мы обнаружили, что использование прямого обращения по
электронной почте и обновляемого списка
<A href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A>
является более эффективным. На практике, ошибки в программном
обеспечении сохраняются очень недолго, а ошибки, которые важны
большому количеству пользователей исправляются моментально. Есть
только одно место, где можно найти все изменения, улучшения и
исправления, сделанные в выпуске PostgreSQL - это журналы сообщений
системы контроля версий
<A HREF="http://www.postgresql.org/developer/sourcecode/">CVS</A>.
Даже замечания к выпускам не содержат все изменения, сделанные
в программном обеспечении.</P>
<H3><A name="1.7">1.7</A>) Какая последняя версия?</H3> <H3><A name="item1.10">1.10</A>) Какая документация имеется в наличии?</H3>
<P>Последний выпуск PostgreSQL - это версия 8.0.3</P>
<P>Мы планируем выпускать новые старшие версии каждый год,
а младшие версии каждые несколько месяцев.</P>
<H3><A name="1.8">1.8</A>) Какая документация имеется в наличии?</H3>
<P>PostgreSQL содержит много документации, включая большое руководство, <P>PostgreSQL содержит много документации, включая большое руководство,
страницы электронного руководства man и некоторые маленькие тестовые страницы электронного руководства man и некоторые маленькие тестовые
@ -274,15 +356,8 @@
<P>Наш сайт содержит еще больше информации.</P> <P>Наш сайт содержит еще больше информации.</P>
<H3><A name="1.9">1.9</A>) Как найти информацию об известных ошибках
или отсутствующих возможностях?</H3>
<P>PostgreSQL поддерживает расширенный подкласс <SMALL>SQL</SMALL>-92. <H3><A name="item1.11">1.11</A>) Как мне научиться <SMALL>SQL</SMALL>?</H3>
Смотрите наш список <A href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A>
на предмет известных ошибок, отсутствующих возможностей и будущих
планов.</P>
<H3><A name="1.10">1.10</A>) Как мне научиться <SMALL>SQL</SMALL>?</H3>
<P>Во-первых, возьмите одну из книг по PostgreSQL, о которых говорилось <P>Во-первых, возьмите одну из книг по PostgreSQL, о которых говорилось
выше. Еще один учебник - это книга "Teach Yourself SQL in 21 Days, выше. Еще один учебник - это книга "Teach Yourself SQL in 21 Days,
@ -301,13 +376,13 @@
и на <A href="http://sqlcourse.com/">http://sqlcourse.com.</A></P> и на <A href="http://sqlcourse.com/">http://sqlcourse.com.</A></P>
<H3><A name="1.11">1.11</A>) Как присоединится к команде разработчиков?</H3> <H3><A name="item1.12">1.12</A>) Как присоединится к команде разработчиков?</H3>
<P>Смотрите <a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html"> <P>Смотрите <a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html">
FAQ для разработчиков</A>.</P> FAQ для разработчиков</A>.</P>
<H3><A name="1.12">1.12</A>) Как сравнивать PostgreSQL с другими <H3><A name="item1.13">1.13</A>) Как сравнить PostgreSQL с другими
<SMALL>СУБД</SMALL>?</H3> <SMALL>СУБД</SMALL>?</H3>
<P> <P>
@ -359,7 +434,7 @@
пользователей, руководствам и исходным текстам часто делают поддержку пользователей, руководствам и исходным текстам часто делают поддержку
PostgreSQL превосходящей другие <SMALL>СУБД</SMALL>. Существует PostgreSQL превосходящей другие <SMALL>СУБД</SMALL>. Существует
коммерческая поддержка по результам возникших инцидентов, которая коммерческая поддержка по результам возникших инцидентов, которая
доступна для тех кому она нужна. (Смотрите <A href="#1.5">Секцию 1.5</A>.)<BR> доступна для тех кому она нужна. (Смотрите <A href="#item1.7">Секцию 1.7</A>.)<BR>
<BR> <BR>
</DD> </DD>
@ -373,25 +448,12 @@
</DD> </DD>
</DL> </DL>
<H3><A name="1.13">1.13</A>) Кто управляет PostgreSQL?</H3>
<P>Если вы ищите какого-то особенного человека, центральный
комитет или управляющую компанию, то напрасно --- их нет.
У нас есть ядро комитета и разработчиков, работающих с CVS,
но эти группы служат больше для административных целей, чем
для управления. Проект напрямую функционирует с помощью
сообщества разработчиков и пользователей, к которому может
присоединится каждый. Всё что нужно -- это подписаться на
списки рассылки и участвовать в дискуссиях. (Подробности о
том как включиться в разработку PostgreSQL смотрите в
<a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html">
FAQ для разработчиков</A>.)</P>
<HR> <HR>
<H3 align="center">Вопросы пользователей по клиентской части</H3> <H3 align="center">Вопросы пользователей по клиентской части</H3>
<H3><A name="2.1">2.1</A>) Какие интерфейсы есть для PostgreSQL?</H3> <H3><A name="item2.1">2.1</A>) Какие интерфейсы есть для PostgreSQL?</H3>
<P>Установка PostgreSQL включает только <small>C</small> и встроенный <P>Установка PostgreSQL включает только <small>C</small> и встроенный
(embedded) <small>C</small> интерфейсы. Все другие интерфейсы (embedded) <small>C</small> интерфейсы. Все другие интерфейсы
@ -406,7 +468,7 @@
в секции <i>Drivers/Interfaces</I>, а также через поиск в Интернет.</P> в секции <i>Drivers/Interfaces</I>, а также через поиск в Интернет.</P>
<H3><A name="2.2">2.2</A>) Какие инструменты существуют для использования <H3><A name="item2.2">2.2</A>) Какие инструменты существуют для использования
PostgreSQL через Web?</H3> PostgreSQL через Web?</H3>
<P>Прекрасное введение во взаимодействие баз данных и Web можно найти на: <P>Прекрасное введение во взаимодействие баз данных и Web можно найти на:
@ -418,7 +480,7 @@
<P>В сложных случаях, многие пользуются Perl и DBD::Pg с CGI.pm <P>В сложных случаях, многие пользуются Perl и DBD::Pg с CGI.pm
или mod_perl.</P> или mod_perl.</P>
<H3><A name="2.3">2.3</A>) Есть ли у PostgreSQL графический интерфейс <H3><A name="item2.3">2.3</A>) Есть ли у PostgreSQL графический интерфейс
пользователя?</H3> пользователя?</H3>
<P>Да, подробности смотрите в <a href="http://techdocs.postgresql.org/guides/GUITools"> <P>Да, подробности смотрите в <a href="http://techdocs.postgresql.org/guides/GUITools">
@ -428,12 +490,12 @@
<H2 align="center">Вопросы администрирования</H2> <H2 align="center">Вопросы администрирования</H2>
<H3><A name="3.1">3.1</A>) Как мне установить PostgreSQL в место отличное <H3><A name="item3.1">3.1</A>) Как мне установить PostgreSQL в место отличное
от <I>/usr/local/pgsql</I>?</H3> от <I>/usr/local/pgsql</I>?</H3>
<P>Задайте опцию <I>--prefix</I> когда запускаете <I>configure</I>.</P> <P>Задайте опцию <I>--prefix</I> когда запускаете <I>configure</I>.</P>
<H3><A name="3.2">3.2</A>) Как мне управлять соединениями с других <H3><A name="item3.2">3.2</A>) Как мне управлять соединениями от других
компьютеров?</H3> компьютеров?</H3>
<P>По умолчанию, PostgreSQL разрешает только соединения на локальной <P>По умолчанию, PostgreSQL разрешает только соединения на локальной
@ -443,7 +505,7 @@
host-авторизация в файле <I>$PGDATA/pg_hba.conf</I> и перестартовать host-авторизация в файле <I>$PGDATA/pg_hba.conf</I> и перестартовать
сервер.</P> сервер.</P>
<H3><A name="3.3">3.3</A>) Какие настройки мне нужно сделать для улучшения <H3><A name="item3.3">3.3</A>) Какие настройки мне нужно сделать для улучшения
производительности?</H3> производительности?</H3>
<P>Существует три главных области, которые потенциально могут <P>Существует три главных области, которые потенциально могут
@ -495,7 +557,7 @@
</DD> </DD>
</DL> </DL>
<H3><A name="3.4">3.4</A>) Какие возможности для отладки есть в <H3><A name="item3.4">3.4</A>) Какие возможности для отладки есть в
наличии?</H3> наличии?</H3>
<P>Есть множество установок в настройках сервера, начинающихся <P>Есть множество установок в настройках сервера, начинающихся
@ -504,7 +566,7 @@
и измерения производительности.</P> и измерения производительности.</P>
<H3><A name="3.5">3.5</A>) Почему я получаю сообщение <I>"Sorry, too <H3><A name="item3.5">3.5</A>) Почему я получаю сообщение <I>"Sorry, too
many clients"</I> когда пытаюсь подключиться к базе?</H3> many clients"</I> когда пытаюсь подключиться к базе?</H3>
<P>Вы достигли установленного по умолчанию ограничения на 100 сессий <P>Вы достигли установленного по умолчанию ограничения на 100 сессий
@ -514,7 +576,7 @@
и перестартовать <I>postmaster</I>.</P> и перестартовать <I>postmaster</I>.</P>
<H3><A name="3.6">3.6</A>) Почему необходимо делать dump и restore при <H3><A name="item3.6">3.6</A>) Почему необходимо делать dump и restore при
обновлении выпусков PostgreSQL?</H3> обновлении выпусков PostgreSQL?</H3>
<P>Разработчики PostgreSQL делают только небольшие изменения между <P>Разработчики PostgreSQL делают только небольшие изменения между
@ -533,7 +595,7 @@
использовать <i>pg_upgrade</i> для этого выпуска.</P> использовать <i>pg_upgrade</i> для этого выпуска.</P>
<H3><A name="3.7">3.7</A>) Какое компьютерное "железо" я должен <H3><A name="item3.7">3.7</A>) Какое компьютерное "железо" я должен
использовать?</H3> использовать?</H3>
<P>Поскольку "железо" персональных компьютеров является наиболее <P>Поскольку "железо" персональных компьютеров является наиболее
@ -549,7 +611,7 @@
<H2 align="center">Вопросы эксплуатации</H2> <H2 align="center">Вопросы эксплуатации</H2>
<H3><A name="4.1">4.1</A>) Как выполнить <SMALL>SELECT</SMALL> только <H3><A name="item4.1">4.1</A>) Как выполнить <SMALL>SELECT</SMALL> только
для нескольких первых строчек запроса? Произвольной строки?</H3> для нескольких первых строчек запроса? Произвольной строки?</H3>
<P>Для получения только нескольких строк, если вы знаете их количество <P>Для получения только нескольких строк, если вы знаете их количество
@ -567,7 +629,7 @@
</PRE> </PRE>
<H3><A name="4.2">4.2</A>) Как мне найти какие таблицы, индексы, <H3><A name="item4.2">4.2</A>) Как мне найти какие таблицы, индексы,
базы данных и пользователи существуют? Как мне увидеть запросы, базы данных и пользователи существуют? Как мне увидеть запросы,
которые использует <I>psql</I> для получения этой информации?</H3> которые использует <I>psql</I> для получения этой информации?</H3>
@ -592,7 +654,7 @@
для получения информации из системных таблиц базы данных.</P> для получения информации из системных таблиц базы данных.</P>
<H3><A name="4.3">4.3</A>) Как изменить тип данных колонки?</H3> <H3><A name="item4.3">4.3</A>) Как изменить тип данных колонки?</H3>
<P>В 8.0 и более поздних версиях, изменение типа колонки выполняется <P>В 8.0 и более поздних версиях, изменение типа колонки выполняется
очень легко через <SMALL>ALTER TABLE ALTER COLUMN TYPE</SMALL>.</P> очень легко через <SMALL>ALTER TABLE ALTER COLUMN TYPE</SMALL>.</P>
@ -606,7 +668,7 @@
COMMIT; COMMIT;
</PRE> </PRE>
<H3><A name="4.4">4.4</A>) Каковы максимальные размеры для строк в таблице, <H3><A name="item4.4">4.4</A>) Каковы максимальные размеры для строк в таблице,
таблиц и базы данных?</H3> таблиц и базы данных?</H3>
<P>Существуют следующие ограничения:</P> <P>Существуют следующие ограничения:</P>
@ -663,7 +725,7 @@
с помощью функционального индекса из хэша MD5 длинной колонки, а с помощью функционального индекса из хэша MD5 длинной колонки, а
полнотекстовое индексирование позволяет искать слова внутри колонки.</P> полнотекстовое индексирование позволяет искать слова внутри колонки.</P>
<H3><A name="4.5">4.5</A>) Как много дискового пространства в базе данных <H3><A name="item4.5">4.5</A>) Как много дискового пространства в базе данных
нужно для сохранения данных из обычного текстового файла?</H3> нужно для сохранения данных из обычного текстового файла?</H3>
<P>СУБД PostgreSQL может потребоваться дискового пространства до 5 раз <P>СУБД PostgreSQL может потребоваться дискового пространства до 5 раз
@ -673,7 +735,7 @@
которых целое число и текстовое описание. При этом длина текста, которых целое число и текстовое описание. При этом длина текста,
в среднем, составляет 20 байт. Размер простого файла составит 2.8 MB. в среднем, составляет 20 байт. Размер простого файла составит 2.8 MB.
Размер базы PostgreSQL, содержащей эти же данные составит приблизительно Размер базы PostgreSQL, содержащей эти же данные составит приблизительно
6.4 MB из которых:</P> 5.6 MB из которых:</P>
<PRE> <PRE>
28 байт: на каждый заголовок строки в таблице (приблизительно) 28 байт: на каждый заголовок строки в таблице (приблизительно)
+ 24 байта: одно поле с целочисленным типом и одно текстовое поле + 24 байта: одно поле с целочисленным типом и одно текстовое поле
@ -701,7 +763,7 @@
занимают очень мало места. занимают очень мало места.
</P> </P>
<H3><A name="4.6">4.6</A>) Почему мои запросы работают медлено? Почему <H3><A name="item4.6">4.6</A>) Почему мои запросы работают медлено? Почему
они не используют мои индексы?</H3> они не используют мои индексы?</H3>
<P>Индексы не используются для каждого запроса. Они <P>Индексы не используются для каждого запроса. Они
@ -726,15 +788,7 @@
сортировкой обычно быстрее, чем поиск по индексам в большой таблице. сортировкой обычно быстрее, чем поиск по индексам в большой таблице.
Однако, <SMALL>ORDER BY</SMALL> часто комбинируется с <SMALL>LIMIT</SMALL> Однако, <SMALL>ORDER BY</SMALL> часто комбинируется с <SMALL>LIMIT</SMALL>
и в этом случае индекс будет использоваться, поскольку при выполнении и в этом случае индекс будет использоваться, поскольку при выполнении
будет возвращаться небольшая часть таблицы. Фактически MAX() и MIN() не будет возвращаться небольшая часть таблицы.</P>
используют индексы, но индекс используется при построении запросов с
<SMALL>ORDER BY</SMALL> и <SMALL>LIMIT</SMALL>:
<PRE>
SELECT col
FROM tab
ORDER BY col [ DESC ]
LIMIT 1;
</PRE>
<P>Если вам кажется, что оптимизатор некорректно выбирает последовательный <P>Если вам кажется, что оптимизатор некорректно выбирает последовательный
перебор, используйте <CODE>SET enable_seqscan TO 'off'</CODE> и перебор, используйте <CODE>SET enable_seqscan TO 'off'</CODE> и
@ -753,7 +807,7 @@
<LI>Строка поиска не должна начинаться с символа класса, т.е. [a-e].</LI> <LI>Строка поиска не должна начинаться с символа класса, т.е. [a-e].</LI>
<LI>Поиск независимый от регистра, такой как <small>ILIKE</small> и <LI>Поиск независимый от регистра, такой как <small>ILIKE</small> и
<i>~*</i> не использует индексы. Вместо него, используйте индексы <i>~*</i> не использует индексы. Вместо него, используйте индексы
выражений, которые описываются в секции <A href="#4.8">4.8</A>.</LI> выражений, которые описываются в секции <A href="#item4.8">4.8</A>.</LI>
<LI>Во время <i>initdb</i> должна использоваться локаль по умолчанию <LI>Во время <i>initdb</i> должна использоваться локаль по умолчанию
<i>C</i>, потому что не существует возможности узнать следующий наибольший <i>C</i>, потому что не существует возможности узнать следующий наибольший
символ для не-C локали. Вы можете для таких случаев создать специальный символ для не-C локали. Вы можете для таких случаев создать специальный
@ -765,13 +819,13 @@
если типы данных точно не совпадали с индексными типами колонок. Это если типы данных точно не совпадали с индексными типами колонок. Это
особенно касалось int2, int8 и numeric индексов колонок.</P> особенно касалось int2, int8 и numeric индексов колонок.</P>
<H3><A name="4.7">4.7</A>) Как посмотреть на то, как оптимизатор выполняет <H3><A name="item4.7">4.7</A>) Как посмотреть на то, как оптимизатор выполняет
мой запрос?</H3> мой запрос?</H3>
<P>Смотрите страницу руководства посвященную <SMALL>EXPLAIN</SMALL>.</P> <P>Смотрите страницу руководства посвященную <SMALL>EXPLAIN</SMALL>.</P>
<H3><A name="4.8">4.8</A>) Как мне выполнить поиск регулярного выражения <H3><A name="item4.8">4.8</A>) Как мне выполнить поиск регулярного выражения
и поиск независимый от регистра букв поиск регулярного выражения? и поиск независимый от регистра букв поиск регулярного выражения?
Как мне использовать индекс для поиска независимого от регистра букв?</H3> Как мне использовать индекс для поиска независимого от регистра букв?</H3>
@ -799,7 +853,7 @@
только в определённом регистре, используйте ограничение только в определённом регистре, используйте ограничение
<SMALL>CHECK</SMALL> или проверку через триггер.</P> <SMALL>CHECK</SMALL> или проверку через триггер.</P>
<H3><A name="4.9">4.9</A>) Как мне определить, что значение поля равно <H3><A name="item4.9">4.9</A>) Как мне определить, что значение поля равно
<SMALL>NULL</SMALL> в каком-либо запросе? Могу я отсортировать поля <SMALL>NULL</SMALL> в каком-либо запросе? Могу я отсортировать поля
<SMALL>NULL</SMALL> или нет?</H3> <SMALL>NULL</SMALL> или нет?</H3>
@ -823,7 +877,7 @@
ORDER BY (col IS NOT NULL); ORDER BY (col IS NOT NULL);
</PRE> </PRE>
<H3><A name="4.10">4.10</A>) Каковы отличия между разными символьными <H3><A name="item4.10">4.10</A>) Каковы отличия между разными символьными
типами?</H3> типами?</H3>
<BLOCKQUOTE> <BLOCKQUOTE>
<TABLE> <TABLE>
@ -882,7 +936,7 @@
которых могут включать <SMALL>NULL</SMALL> байты. Все типы описанные которых могут включать <SMALL>NULL</SMALL> байты. Все типы описанные
здесь, имеют сходные характеристики производительности.</P> здесь, имеют сходные характеристики производительности.</P>
<H3><A name="4.11.1">4.11.1</A>) Как мне создать поле <H3><A name="item4.11.1">4.11.1</A>) Как мне создать поле
serial/с-авто-увеличением?</H3> serial/с-авто-увеличением?</H3>
<P>PostgreSQL поддерживает тип данных <SMALL>SERIAL</SMALL>. Он <P>PostgreSQL поддерживает тип данных <SMALL>SERIAL</SMALL>. Он
@ -906,13 +960,13 @@
Смотрите подробности о последовательностях на странице руководства Смотрите подробности о последовательностях на странице руководства
посвященной <I>create_sequence</I>. посвященной <I>create_sequence</I>.
<H3><A name="4.11.2">4.11.2</A>) Как мне получить значение при вставке <H3><A name="item4.11.2">4.11.2</A>) Как мне получить значение при вставке
<SMALL>SERIAL</SMALL>?</H3> <SMALL>SERIAL</SMALL>?</H3>
<P>Один из способов состоит в получении следующего значения <P>Один из способов состоит в получении следующего значения
<SMALL>SERIAL</SMALL> из объекта sequence с помощью функции <SMALL>SERIAL</SMALL> из объекта sequence с помощью функции
<I>nextval()</I> <I>перед</I> вставкой и затем вставлять это значение <I>nextval()</I> <I>перед</I> вставкой и затем вставлять это значение
явно. Используйте таблицу-пример в <A href="#4.11.1">4.11.1</A>, пример явно. Используйте таблицу-пример в <A href="#item4.11.1">4.11.1</A>, пример
в псевдоязыке покажет как это делается:</P> в псевдоязыке покажет как это делается:</P>
<PRE> <PRE>
new_id = execute("SELECT nextval('person_id_seq')"); new_id = execute("SELECT nextval('person_id_seq')");
@ -936,14 +990,14 @@
</PRE> </PRE>
<H3><A name="4.11.3">4.11.3</A>) Не может ли получиться так, что <H3><A name="item4.11.3">4.11.3</A>) Не может ли получиться так, что
использование <I>currval()</I> и <I>nextval()</I> приведет к использование <I>currval()</I> и <I>nextval()</I> приведет к
зациклированию с другими пользователями?</H3> зациклированию с другими пользователями?</H3>
<P>Нет. <i>currval()</i> возвращает текущее значение, назначенное вашей <P>Нет. <i>currval()</i> возвращает текущее значение, назначенное вашей
сессией, а не другими сессиями.</P> сессией, а не другими сессиями.</P>
<H3><A name="4.11.4">4.11.4</A>) Почему числа из моей последовательности <H3><A name="item4.11.4">4.11.4</A>) Почему числа из моей последовательности
не используются снова при отмене транзакции? Почему создаются разрывы не используются снова при отмене транзакции? Почему создаются разрывы
при нумерации в колонке, где я использую последовательность/SERIAL?</H3> при нумерации в колонке, где я использую последовательность/SERIAL?</H3>
@ -953,7 +1007,7 @@
нумерации при отмене транзакций.</P> нумерации при отмене транзакций.</P>
<H3><A name="4.12">4.12</A>) Что такое <SMALL>OID</SMALL>? Что такое <H3><A name="item4.12">4.12</A>) Что такое <SMALL>OID</SMALL>? Что такое
<SMALL>CTID</SMALL>?</H3> <SMALL>CTID</SMALL>?</H3>
<P>Каждая, создаваемая в PostgreSQL табличная строка, получает уникальный <P>Каждая, создаваемая в PostgreSQL табличная строка, получает уникальный
@ -978,7 +1032,7 @@
указателя на физические записи.</P> указателя на физические записи.</P>
<H3><A name="4.13">4.13</A>) Почему я получаю ошибку <I>"ERROR: Memory <H3><A name="item4.13">4.13</A>) Почему я получаю ошибку <I>"ERROR: Memory
exhausted in AllocSetAlloc()"</I>?</H3> exhausted in AllocSetAlloc()"</I>?</H3>
<P>Предположительно у вас закончилась виртуальная память <P>Предположительно у вас закончилась виртуальная память
@ -998,13 +1052,13 @@
клиентом, потому что backend возвращает слишком большой объем данных, клиентом, потому что backend возвращает слишком большой объем данных,
попытайтесь выполнить эту команду перед запуском клиента. попытайтесь выполнить эту команду перед запуском клиента.
<H3><A name="4.14">4.14</A>) Как мне узнать, какая версия PostgreSQL <H3><A name="item4.14">4.14</A>) Как мне узнать, какая версия PostgreSQL
запущена?</H3> запущена?</H3>
<P>Из <I>psql</I>, наберите <CODE>SELECT version();</CODE></P> <P>Из <I>psql</I>, наберите <CODE>SELECT version();</CODE></P>
<H3><A name="4.15">4.15</A>) Как мне создать колонку которая по умолчанию <H3><A name="item4.15">4.15</A>) Как мне создать колонку которая по умолчанию
будет содержать текущее время?</H3> будет содержать текущее время?</H3>
<P>Используйте <I>CURRENT_TIMESTAMP</I>:</P> <P>Используйте <I>CURRENT_TIMESTAMP</I>:</P>
@ -1012,7 +1066,7 @@
CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
</PRE> </PRE>
<H3><A name="4.16">4.16</A>) Как мне выполнить внешнее связывание?</H3> <H3><A name="item4.16">4.16</A>) Как мне выполнить внешнее связывание?</H3>
<P>PostgreSQL поддерживает внешнее связывание, <P>PostgreSQL поддерживает внешнее связывание,
используя стандартный синтаксис SQL. Вот два примера:</P> используя стандартный синтаксис SQL. Вот два примера:</P>
@ -1036,7 +1090,7 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
<SMALL>RIGHT</SMALL> и <SMALL>FULL</SMALL> связываниях. Обычные <SMALL>RIGHT</SMALL> и <SMALL>FULL</SMALL> связываниях. Обычные
связывания называются <SMALL>INNER</SMALL> связывания.</P> связывания называются <SMALL>INNER</SMALL> связывания.</P>
<H3><A name="4.17">4.17</A>) Как выполнять запросы, использующие несколько <H3><A name="item4.17">4.17</A>) Как выполнять запросы, использующие несколько
баз данных?</H3> баз данных?</H3>
<P>Не существует способа создать запрос к базам данных отличным от текущей. <P>Не существует способа создать запрос к базам данных отличным от текущей.
@ -1048,14 +1102,14 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
соедиенения с различными базами данных и таких образом объединять соедиенения с различными базами данных и таких образом объединять
информацию из них.</P> информацию из них.</P>
<H3><A name="4.18">4.18</A>) Как мне вернуть из функции несколько строк таблицы?</H3> <H3><A name="item4.18">4.18</A>) Как мне вернуть из функции несколько строк таблицы?</H3>
<P>Вы можете легко использовать функции, возвращающие список, <P>Вы можете легко использовать функции, возвращающие список,
<A href="http://techdocs.postgresql.org/guides/SetReturningFunctions"> <A href="http://techdocs.postgresql.org/guides/SetReturningFunctions">
http://techdocs.postgresql.org/guides/SetReturningFunctions</A>.</P> http://techdocs.postgresql.org/guides/SetReturningFunctions</A>.</P>
<H3><A name="4.19">4.19</A>) Почему я получаю ошибку "relation with OID #### <H3><A name="item4.19">4.19</A>) Почему я получаю ошибку "relation with OID ####
не существует", когда обращаютсь к временным таблицам в функциях PL/PgSQL?</H3> не существует", когда обращаютсь к временным таблицам в функциях PL/PgSQL?</H3>
<P>PL/PgSQL кэширует сценарии функции и один из негативных эффектов этого <P>PL/PgSQL кэширует сценарии функции и один из негативных эффектов этого
@ -1068,7 +1122,7 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
перегенерироваться каждый раз.</P> перегенерироваться каждый раз.</P>
<H3><A name="4.20">4.20</a>) Какие есть решения для репликации?</H3> <H3><A name="item4.20">4.20</a>) Какие есть решения для репликации?</H3>
<P>Хотя "репликация" -- это единый термин, есть несколько разных технологий <P>Хотя "репликация" -- это единый термин, есть несколько разных технологий
для выполнения репликаций с разными особенностями для каждой.</P> для выполнения репликаций с разными особенностями для каждой.</P>
@ -1088,7 +1142,7 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
популярным решением для такой репликации в PostgreSQL является популярным решением для такой репликации в PostgreSQL является
<A href="http://pgfoundry.org/projects/pgcluster/">Pgcluster</A>. <A href="http://pgfoundry.org/projects/pgcluster/">Pgcluster</A>.
<H3><A name="4.21">4.21</A>) Почему имена таблицы и колонок не <H3><A name="item4.21">4.21</A>) Почему имена таблицы и колонок не
распознаются в в моём запросе?</H3> распознаются в в моём запросе?</H3>
<P>Наиболее часто это происходит из-за использования двойных кавычек в <P>Наиболее часто это происходит из-за использования двойных кавычек в