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

Victor Vislobokov
This commit is contained in:
Bruce Momjian 2006-04-11 15:48:11 +00:00
parent 3f040b1ff8
commit fac2ba5da3
2 changed files with 288 additions and 201 deletions

View File

@ -1,7 +1,7 @@
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)
(pgman@candle.pha.pa.us)
@ -18,19 +18,19 @@
Obschie voprosy
1.1) CHto takoe PostgreSQL? Kak proiznositsya `eto nazvanie?
1.2) Kakovy avtorskie prava na PostgreSQL?
1.3) Na kakih platformah rabotaet PostgreSQL?
1.4) Gde mozhno vzyat' PostgreSQL?
1.5) Gde poluchit' podderzhku?
1.6) Kak mne soobschit' ob oshibke?
1.7) Kakaya versiya poslednyaya?
1.8) Kakaya dokumentaciya imeetsya v nalichii?
1.2) Kto upravlyaet PostgreSQL?
1.3) Kakovy avtorskie prava na PostgreSQL?
1.4) Na kakih platformah rabotaet PostgreSQL?
1.5) Gde mozhno vzyat' PostgreSQL?
1.6) Kakaya versiya poslednyaya?
1.7) Gde poluchit' podderzhku?
1.8) Kak mne soobschit' ob oshibke?
1.9) Kak najti informaciyu ob izvestnyh oshibkah ili otsutstvuyuschih
vozmozhnostyah?
1.10) Kak nauchit'sya SQL?
1.11) Kak prisoedinitsya k komande razrabotchikov?
1.12) Kak sravnivat' PostgreSQL s drugimi SUBD?
1.13) Kto upravlyaet PostgreSQL?
1.10) Kakaya dokumentaciya imeetsya v nalichii?
1.11) Kak nauchit'sya SQL?
1.12) Kak prisoedinitsya k komande razrabotchikov?
1.13) Kak sravnit' PostgreSQL s drugimi SUBD?
Voprosy pol'zovatelej po klientskoj chasti
@ -43,7 +43,7 @@
3.1) Kak mne ustanovit' PostgreSQL v mesto otlichnoe ot
/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
proizvoditel'nosti?
3.4) Kakie vozmozhnosti dlya otladki est' v nalichii?
@ -118,18 +118,28 @@
Podrobnosti smotrite v FAQ dlya razrabotchikov,
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
licenziya ne soderzhit ogranichenij na to, kak budet ispol'zovat'sya
ishodnyj kod. Nam nravitsya `eta licenziya i u nas net namerenij eio
menyat'.
Vot `eta licenziya BSD, kotoruyu my ispol'zuem:
menyat'. Vot `eta licenziya BSD, kotoruyu my ispol'zuem:
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
California
@ -155,7 +165,7 @@
PREDOSTAVLYAT' SOPROVOZHDENIE, PODDERZHKU, OBNOVLENIYA, RASSHIRENIYA
ILI IZMENENIYA.
1.3) Na kakih platformah rabotaet PostgreSQL?
1.4) Na kakih platformah rabotaet PostgreSQL?
Obychno, PostgreSQL mozhet rabotat' na lyuboj sovremennoj platforme
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
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
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
pol'zovatelej cherez E-mail. Osnovnoj web-sajt dlya podpiski na spiski
@ -198,22 +215,63 @@
Spisok kommercheskoj podderzhki kompanij dostupen na
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
PostgreSQL po adresu: http://www.postgresql.org/support/submitbug.
Takzhe prover'te nalichie bolee svezhej versii PostgreSQL na nashem
FTP sajte ftp://ftp.PostgreSQL.org/pub/.
1.7) Kakaya poslednyaya versiya?
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
1.9) Kak najti informaciyu ob izvestnyh oshibkah ili otsutstvuyuschih
vozmozhnostyah?
Poslednij vypusk PostgreSQL - `eto versiya 8.0.3
PostgreSQL podderzhivaet rasshirennyj podklass SQL:2003. Smotrite nash
spisok TODO na predmet izvestnyh oshibok, otsutstvuyuschih
vozmozhnostej i buduschih planov.
My planiruem vypuskat' novye starshie versii kazhdyj god, a mladshie
versii kazhdye neskol'ko mesyacev.
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.8) Kakaya dokumentaciya imeetsya v nalichii?
1.10) Kakaya dokumentaciya imeetsya v nalichii?
PostgreSQL soderzhit mnogo dokumentacii, vklyuchaya bol'shoe
rukovodstvo, stranicy `elektronnogo rukovodstva man i nekotorye
@ -237,14 +295,7 @@
Nash sajt soderzhit esche bol'she informacii.
1.9) Kak najti informaciyu ob izvestnyh oshibkah ili otsutstvuyuschih
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?
1.11) Kak mne nauchit'sya SQL?
Vo-pervyh, voz'mite odnu iz knig po PostgreSQL, o kotoryh govorilos'
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,
i na http://sqlcourse.com.
1.11) Kak prisoedinitsya k komande razrabotchikov?
1.12) Kak prisoedinitsya k komande 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:
vozmozhnosti, proizvoditel'nost', nadezhnost', podderzhka i cena.
@ -304,7 +355,7 @@
podderzhku PostgreSQL prevoshodyaschej drugie SUBD.
Suschestvuet kommercheskaya podderzhka po rezul'tam voznikshih
incidentov, kotoraya dostupna dlya teh komu ona nuzhna.
(Smotrite Sekciyu 1.5.)
(Smotrite Sekciyu 1.7.)
Cena
Nash produkt besplaten kak dlya kommercheskogo tak, i ne dlya
@ -312,18 +363,6 @@
nash produkt bez ogranichenij, za isklyucheniem teh, chto
opisyvayutsya v nashej licenzii stilya BSD, kotoraya privedena
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
@ -365,7 +404,7 @@
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
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
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:
priblizitel'no 5.6 MB iz kotoryh:
28 bajt: na kazhdyj zagolovok stroki v tablice (priblizitel'no)
+ 24 bajta: odno pole s celochislennym tipom i odno tekstovoe pole
+ 4 bajta: ukazatel' na stranice dlya vsej tablichnoj stroki
@ -605,14 +644,8 @@
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;
vozvraschat'sya nebol'shaya chast' tablicy.
Esli vam kazhetsya, chto optimizator nekorrektno vybiraet
posledovatel'nyj perebor, ispol'zujte SET enable_seqscan TO 'off' i
zapustite zapros snova, chtoby uvidet', dejstvitel'no li skanirovanie

View File

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