From fac2ba5da350f1fc0a5aa44d6251b13c3d202849 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 11 Apr 2006 15:48:11 +0000 Subject: [PATCH] There is updated Russian translation of the FAQ in the attachment. Victor Vislobokov --- doc/FAQ_russian | 155 +++++++++------- doc/src/FAQ/FAQ_russian.html | 334 ++++++++++++++++++++--------------- 2 files changed, 288 insertions(+), 201 deletions(-) diff --git a/doc/FAQ_russian b/doc/FAQ_russian index 5637f548c5..3e79d2495d 100644 --- a/doc/FAQ_russian +++ b/doc/FAQ_russian @@ -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 diff --git a/doc/src/FAQ/FAQ_russian.html b/doc/src/FAQ/FAQ_russian.html index e26d33df58..e926c29dc5 100644 --- a/doc/src/FAQ/FAQ_russian.html +++ b/doc/src/FAQ/FAQ_russian.html @@ -12,7 +12,7 @@

Ответы на часто задаваемые вопросы по PostgreSQL

-

Дата последнего обновления: Пятница 16 сентября 14:07:22 EDT 2005

+

Дата последнего обновления: Пятница 24 февраля 23:28:40 EDT 2006

Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (pgman@candle.pha.pa.us)
@@ -29,102 +29,102 @@


Общие вопросы

- 1.1) Что такое PostgreSQL? Как произносится это название?
- 1.2) Каковы авторские права на PostgreSQL?
- 1.3) На каких платформах работает PostgreSQL?
- 1.4) Где можно взять PostgreSQL?
- 1.5) Где получить поддержку?
- 1.6) Как мне сообщить об ошибке?
- 1.7) Какая версия последняя?
- 1.8) Какая документация имеется в наличии?
- 1.9) Как найти информацию об известных ошибках или отсутствующих + 1.1) Что такое PostgreSQL? Как произносится это название?
+ 1.2) Кто управляет PostgreSQL?
+ 1.3) Каковы авторские права на PostgreSQL?
+ 1.4) На каких платформах работает PostgreSQL?
+ 1.5) Где можно взять PostgreSQL?
+ 1.6) Какая версия последняя?
+ 1.7) Где получить поддержку?
+ 1.8) Как мне сообщить об ошибке?
+ 1.9) Как найти информацию об известных ошибках или отсутствующих возможностях?
- 1.10) Как научиться SQL?
- 1.11) Как присоединится к команде разработчиков?
- 1.12) Как сравнивать PostgreSQL с другими + 1.10) Какая документация имеется в наличии?
+ 1.11) Как научиться SQL?
+ 1.12) Как присоединится к команде разработчиков?
+ 1.13) Как сравнить PostgreSQL с другими СУБД?
- 1.13) Кто управляет PostgreSQL?

Вопросы пользователей по клиентской части

- 2.1) Какие интерфейсы есть для PostgreSQL?
- 2.2) Какие инструменты существуют для использования + 2.1) Какие интерфейсы есть для PostgreSQL?
+ 2.2) Какие инструменты существуют для использования PostgreSQL через Web?
- 2.3) Есть ли у PostgreSQL графический интерфейс + 2.3) Есть ли у PostgreSQL графический интерфейс пользователя?

Вопросы администрирования

- 3.1) Как мне установить PostgreSQL в место отличное + 3.1) Как мне установить PostgreSQL в место отличное от /usr/local/pgsql?
- 3.2) Как мне управлять соединениями с других + 3.2) Как мне управлять соединениями от других компьютеров?
- 3.3) Какие настройки мне нужно сделать для улучшения + 3.3) Какие настройки мне нужно сделать для улучшения производительности?
- 3.4) Какие возможности для отладки есть в наличии?
- 3.5) Почему я получаю сообщение "Sorry, too many + 3.4) Какие возможности для отладки есть в наличии?
+ 3.5) Почему я получаю сообщение "Sorry, too many clients" когда пытаюсь подключиться к базе?
- 3.6) Почему необходимо делать dump и restore при + 3.6) Почему необходимо делать dump и restore при обновлении выпусков PostgreSQL?
- 3.7) Какое компьютерное "железо" я должен + 3.7) Какое компьютерное "железо" я должен использовать?

Вопросы эксплуатации

- 4.1) Как выполнить SELECT только + 4.1) Как выполнить SELECT только для нескольких первых строчек запроса? Для произвольной строки?
- 4.2) Как мне найти какие таблицы, индексы, + 4.2) Как мне найти какие таблицы, индексы, базы данных и пользователи существуют? Как мне увидеть запросы, которые использует psql для получения этой информации?
- 4.3) Как изменить тип данных колонки?
- 4.4) Каковы максимальные размеры для строк в таблице, + 4.3) Как изменить тип данных колонки?
+ 4.4) Каковы максимальные размеры для строк в таблице, таблиц и базы данных?
- 4.5) Как много дискового пространства в базе данных + 4.5) Как много дискового пространства в базе данных нужно для сохранения данных из обычного текстового файла?
- 4.6) Почему мои запросы работают медлено? Почему + 4.6) Почему мои запросы работают медлено? Почему они не используют мои индексы?
- 4.7) Как посмотреть на то, как оптимизатор выполняет + 4.7) Как посмотреть на то, как оптимизатор выполняет мой запрос?
- 4.8) Как мне выполнить поиск регулярного выражения + 4.8) Как мне выполнить поиск регулярного выражения и поиск независимый от регистра букв поиск регулярного выражения? Как мне использовать индекс для поиска независимого от регистра букв?
- 4.9) Как мне определить, что значение поля равно + 4.9) Как мне определить, что значение поля равно NULL в каком-либо запросе? Могу я отсортировать поля NULL или нет?
- 4.10) Каковы отличия между разными символьными + 4.10) Каковы отличия между разными символьными типами?
- 4.11.1) Как мне создать поле serial/с-авто-увеличением?
- 4.11.2) Как мне получить значение при вставке + 4.11.1) Как мне создать поле serial/с-авто-увеличением?
+ 4.11.2) Как мне получить значение при вставке SERIAL?
- 4.11.3) Не может ли получиться так, что + 4.11.3) Не может ли получиться так, что использование currval() и nextval() приведет к зациклированию с другими пользователями?
- 4.11.4) Почему числа из моей последовательности + 4.11.4) Почему числа из моей последовательности не используются снова при отмене транзакции? Почему создаются разрывы при нумерации в колонке, где я использую последовательность/SERIAL?
- 4.12) Что такое OID? Что такое + 4.12) Что такое OID? Что такое CTID?
- 4.13) Почему я получаю ошибку "ERROR: Memory + 4.13) Почему я получаю ошибку "ERROR: Memory exhausted in AllocSetAlloc()"?
- 4.14) Как мне узнать, какая версия PostgreSQL + 4.14) Как мне узнать, какая версия PostgreSQL запущена?
- 4.15) Как мне создать колонку которая по умолчанию + 4.15) Как мне создать колонку которая по умолчанию будет содержать текущее время?
- 4.16) Как выполнить внешнее связывание?
- 4.17) Как выполнять запросы, использующие несколько + 4.16) Как выполнить внешнее связывание?
+ 4.17) Как выполнять запросы, использующие несколько баз данных?
- 4.18) Как мне вернуть из функции несколько строк таблицы?
- 4.19) Почему я получаю ошибку "relation with OID #### + 4.18) Как мне вернуть из функции несколько строк таблицы?
+ 4.19) Почему я получаю ошибку "relation with OID #### не существует", когда обращаютсь к временным таблицам в функциях PL/PgSQL?
- 4.20) Какие есть решения для репликации?
- 4.21) Почему имена таблицы и колонок не + 4.20) Какие есть решения для репликации?
+ 4.21) Почему имена таблицы и колонок не распознаются в в моём запросе?

Общие вопросы

-

1.1) Что такое PostgreSQL? Как произносится это название?

+

1.1) Что такое PostgreSQL? Как произносится это название?

PostgreSQL произносится Post-Gres-Q-L (Пост-Грес-Кью-Эл), также иногда говорят просто Postgres. Вы можете услышать как @@ -146,18 +146,30 @@ http://www.PostgreSQL.org/files/documentation/faqs/FAQ_DEV.html

-

1.2) Каковы авторские права на PostgreSQL?

+

1.2) Кто управляет PostgreSQL?

+ +

Если вы ищите какого-то особенного человека, центральный + комитет или управляющую компанию, то напрасно --- их нет. + У нас есть ядро комитета и разработчиков, работающих с CVS, + но эти группы служат больше для административных целей, чем + для управления. Проект напрямую функционирует с помощью + сообщества разработчиков и пользователей, к которому может + присоединится каждый. Всё что нужно -- это подписаться на + списки рассылки и участвовать в дискуссиях. (Подробности о + том как включиться в разработку PostgreSQL смотрите в + + FAQ для разработчиков.)

+ +

1.3) Каковы авторские права на PostgreSQL?

PostgreSQL распространяется по классической лицензии BSD. Эта лицензия не содержит ограничений на то, как будет использоваться исходный код. Нам нравится эта лицензия и у нас нет намерений её - менять.

- -

Вот эта лицензия BSD, которую мы используем:

+ менять. Вот эта лицензия BSD, которую мы используем:

Система Управления Базами Данных PostgreSQL

-

Portions copyright (c) 1996-2005, PostgreSQL Global Development +

Portions copyright (c) 1996-2006, PostgreSQL Global Development Group Portions Copyright (c) 1994-1996 Regents of the University of California

@@ -182,7 +194,7 @@ "КАК ЕСТЬ" И КАЛИФОРНИЙСКИЙ УНИВЕРСИТЕТ НЕ ОБЯЗАН ПРЕДОСТАВЛЯТЬ СОПРОВОЖДЕНИЕ, ПОДДЕРЖКУ, ОБНОВЛЕНИЯ, РАСШИРЕНИЯ ИЛИ ИЗМЕНЕНИЯ.

-

1.3) На каких платформах работает PostgreSQL?

+

1.4) На каких платформах работает PostgreSQL?

Обычно, PostgreSQL может работать на любой современной платформе совместимой с Unix. В инструкции по установке, вы найдете список @@ -203,13 +215,22 @@ http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F.

-

1.4) Где можно взять PostgreSQL?

+

1.5) Где можно взять PostgreSQL?

Через браузер, используя http://www.postgresql.org/ftp/ и через ftp, используя ftp://ftp.PostgreSQL.org/pub/.

-

1.5) Где получить поддержку?

+ +

1.6) Какая последняя версия?

+ +

Последний выпуск PostgreSQL - это версия 8.1.3

+ +

Мы планируем выпускать новые старшие версии каждый год, + а младшие версии каждые несколько месяцев.

+ + +

1.7) Где получить поддержку?

Сообщество PostgreSQL предоставляет помощь множеству пользователей через E-mail. Основной web-сайт для подписки на списки рассылки по @@ -231,26 +252,87 @@ http://techdocs.postgresql.org/companies.php.

-

1.6) Как мне сообщить об ошибке?

+

1.8) Как мне сообщить об ошибке?

Посетите страничку со специальной формой отчёта об ошибке в PostgreSQL по адресу: - http://www.postgresql.org/support/submitbug.

- -

Также проверьте наличие более свежей версии PostgreSQL на нашем + http://www.postgresql.org/support/submitbug. + Также проверьте наличие более свежей версии PostgreSQL на нашем FTP сайте - ftp://ftp.PostgreSQL.org/pub/. + ftp://ftp.PostgreSQL.org/pub/.

+ +

На ошибки, уведомление о которых были сделаны через специальную + форму или отправленные в какой-либо список рассылки PostgreSQL, + обычно генерируется один из следующих ответов:

+
    +
  • Это не ошибка и почему
  • +
  • Это известная ошибка и она уже есть в списке + TODO
  • +
  • Данная ошибка была исправлена в текущем выпуске
  • +
  • Данная ошибка была исправлена, но исправление пока не попало в + официальный выпуск
  • +
  • Запрашивается более детальная информация: +
      +
    • Операционная система
    • +
    • Версия PostgreSQL
    • +
    • Тест, воспроизводящий ошибку
    • +
    • Отладочная информация
    • +
    • Вывод backtrace отладчика
    • +
    +
  • +
  • Это новая ошибка. Может произойти следующее: +
      +
    • Будет создано исправление, которое будет включено в следующий + выпуск
    • +
    • Ошибка не может быть исправлена немедленно и будет добавлена в список + TODO
    • +
    +
  • +
+ +

1.9) Как найти информацию об известных ошибках + или отсутствующих возможностях?

+ +

PostgreSQL поддерживает расширенный подкласс SQL:2003. + Смотрите наш список TODO + на предмет известных ошибок, отсутствующих возможностей и будущих + планов.

+ +

На запрос какой-либо возможности обычно приходят следующие ответы:

+
    +
  • Данная возможность уже есть в списке + TODO
  • +
  • Данная возможность нежелательна потому что: +
      +
    • Она дублирует существующую функциональность, которая следует + стандарту SQL
    • +
    • Данная возможность сильно усложнила бы код, но дала бы маленькую + выгоду
    • +
    • Данная возможность небезопасна или ненадёжна
    • +
    +
  • +
  • Данная новая возможность добавлена в список + TODO +
  • +
+ +

PostgreSQL не использует какую-либо систему отслеживания ошибок, + потому что мы обнаружили, что использование прямого обращения по + электронной почте и обновляемого списка + TODO + является более эффективным. На практике, ошибки в программном + обеспечении сохраняются очень недолго, а ошибки, которые важны + большому количеству пользователей исправляются моментально. Есть + только одно место, где можно найти все изменения, улучшения и + исправления, сделанные в выпуске PostgreSQL - это журналы сообщений + системы контроля версий + CVS. + Даже замечания к выпускам не содержат все изменения, сделанные + в программном обеспечении.

-

1.7) Какая последняя версия?

- -

Последний выпуск PostgreSQL - это версия 8.0.3

- -

Мы планируем выпускать новые старшие версии каждый год, - а младшие версии каждые несколько месяцев.

- -

1.8) Какая документация имеется в наличии?

+

1.10) Какая документация имеется в наличии?

PostgreSQL содержит много документации, включая большое руководство, страницы электронного руководства man и некоторые маленькие тестовые @@ -274,15 +356,8 @@

Наш сайт содержит еще больше информации.

-

1.9) Как найти информацию об известных ошибках - или отсутствующих возможностях?

-

PostgreSQL поддерживает расширенный подкласс SQL-92. - Смотрите наш список TODO - на предмет известных ошибок, отсутствующих возможностей и будущих - планов.

- -

1.10) Как мне научиться SQL?

+

1.11) Как мне научиться SQL?

Во-первых, возьмите одну из книг по PostgreSQL, о которых говорилось выше. Еще один учебник - это книга "Teach Yourself SQL in 21 Days, @@ -301,13 +376,13 @@ и на http://sqlcourse.com.

-

1.11) Как присоединится к команде разработчиков?

+

1.12) Как присоединится к команде разработчиков?

Смотрите FAQ для разработчиков.

-

1.12) Как сравнивать PostgreSQL с другими +

1.13) Как сравнить PostgreSQL с другими СУБД?

@@ -359,7 +434,7 @@ пользователей, руководствам и исходным текстам часто делают поддержку PostgreSQL превосходящей другие СУБД. Существует коммерческая поддержка по результам возникших инцидентов, которая - доступна для тех кому она нужна. (Смотрите Секцию 1.5.)
+ доступна для тех кому она нужна. (Смотрите Секцию 1.7.)

@@ -373,25 +448,12 @@ -

1.13) Кто управляет PostgreSQL?

- -

Если вы ищите какого-то особенного человека, центральный - комитет или управляющую компанию, то напрасно --- их нет. - У нас есть ядро комитета и разработчиков, работающих с CVS, - но эти группы служат больше для административных целей, чем - для управления. Проект напрямую функционирует с помощью - сообщества разработчиков и пользователей, к которому может - присоединится каждый. Всё что нужно -- это подписаться на - списки рассылки и участвовать в дискуссиях. (Подробности о - том как включиться в разработку PostgreSQL смотрите в - - FAQ для разработчиков.)


Вопросы пользователей по клиентской части

-

2.1) Какие интерфейсы есть для PostgreSQL?

+

2.1) Какие интерфейсы есть для PostgreSQL?

Установка PostgreSQL включает только C и встроенный (embedded) C интерфейсы. Все другие интерфейсы @@ -406,7 +468,7 @@ в секции Drivers/Interfaces, а также через поиск в Интернет.

-

2.2) Какие инструменты существуют для использования +

2.2) Какие инструменты существуют для использования PostgreSQL через Web?

Прекрасное введение во взаимодействие баз данных и Web можно найти на: @@ -418,7 +480,7 @@

В сложных случаях, многие пользуются Perl и DBD::Pg с CGI.pm или mod_perl.

-

2.3) Есть ли у PostgreSQL графический интерфейс +

2.3) Есть ли у PostgreSQL графический интерфейс пользователя?

Да, подробности смотрите в @@ -428,12 +490,12 @@

Вопросы администрирования

-

3.1) Как мне установить PostgreSQL в место отличное +

3.1) Как мне установить PostgreSQL в место отличное от /usr/local/pgsql?

Задайте опцию --prefix когда запускаете configure.

-

3.2) Как мне управлять соединениями с других +

3.2) Как мне управлять соединениями от других компьютеров?

По умолчанию, PostgreSQL разрешает только соединения на локальной @@ -443,7 +505,7 @@ host-авторизация в файле $PGDATA/pg_hba.conf и перестартовать сервер.

-

3.3) Какие настройки мне нужно сделать для улучшения +

3.3) Какие настройки мне нужно сделать для улучшения производительности?

Существует три главных области, которые потенциально могут @@ -495,7 +557,7 @@ -

3.4) Какие возможности для отладки есть в +

3.4) Какие возможности для отладки есть в наличии?

Есть множество установок в настройках сервера, начинающихся @@ -504,7 +566,7 @@ и измерения производительности.

-

3.5) Почему я получаю сообщение "Sorry, too +

3.5) Почему я получаю сообщение "Sorry, too many clients" когда пытаюсь подключиться к базе?

Вы достигли установленного по умолчанию ограничения на 100 сессий @@ -514,7 +576,7 @@ и перестартовать postmaster.

-

3.6) Почему необходимо делать dump и restore при +

3.6) Почему необходимо делать dump и restore при обновлении выпусков PostgreSQL?

Разработчики PostgreSQL делают только небольшие изменения между @@ -533,7 +595,7 @@ использовать pg_upgrade для этого выпуска.

-

3.7) Какое компьютерное "железо" я должен +

3.7) Какое компьютерное "железо" я должен использовать?

Поскольку "железо" персональных компьютеров является наиболее @@ -549,7 +611,7 @@

Вопросы эксплуатации

-

4.1) Как выполнить SELECT только +

4.1) Как выполнить SELECT только для нескольких первых строчек запроса? Произвольной строки?

Для получения только нескольких строк, если вы знаете их количество @@ -567,7 +629,7 @@ -

4.2) Как мне найти какие таблицы, индексы, +

4.2) Как мне найти какие таблицы, индексы, базы данных и пользователи существуют? Как мне увидеть запросы, которые использует psql для получения этой информации?

@@ -592,7 +654,7 @@ для получения информации из системных таблиц базы данных.

-

4.3) Как изменить тип данных колонки?

+

4.3) Как изменить тип данных колонки?

В 8.0 и более поздних версиях, изменение типа колонки выполняется очень легко через ALTER TABLE ALTER COLUMN TYPE.

@@ -606,7 +668,7 @@ COMMIT; -

4.4) Каковы максимальные размеры для строк в таблице, +

4.4) Каковы максимальные размеры для строк в таблице, таблиц и базы данных?

Существуют следующие ограничения:

@@ -663,7 +725,7 @@ с помощью функционального индекса из хэша MD5 длинной колонки, а полнотекстовое индексирование позволяет искать слова внутри колонки.

-

4.5) Как много дискового пространства в базе данных +

4.5) Как много дискового пространства в базе данных нужно для сохранения данных из обычного текстового файла?

СУБД PostgreSQL может потребоваться дискового пространства до 5 раз @@ -673,7 +735,7 @@ которых целое число и текстовое описание. При этом длина текста, в среднем, составляет 20 байт. Размер простого файла составит 2.8 MB. Размер базы PostgreSQL, содержащей эти же данные составит приблизительно - 6.4 MB из которых:

+ 5.6 MB из которых:

     28 байт: на каждый заголовок строки в таблице (приблизительно)
   + 24 байта: одно поле с целочисленным типом и одно текстовое поле
@@ -701,7 +763,7 @@
     занимают очень мало места.
     

-

4.6) Почему мои запросы работают медлено? Почему +

4.6) Почему мои запросы работают медлено? Почему они не используют мои индексы?

Индексы не используются для каждого запроса. Они @@ -726,15 +788,7 @@ сортировкой обычно быстрее, чем поиск по индексам в большой таблице. Однако, ORDER BY часто комбинируется с LIMIT и в этом случае индекс будет использоваться, поскольку при выполнении - будет возвращаться небольшая часть таблицы. Фактически MAX() и MIN() не - используют индексы, но индекс используется при построении запросов с - ORDER BY и LIMIT: -

-    SELECT col
-    FROM tab
-    ORDER BY col [ DESC ]
-    LIMIT 1;
-
+ будет возвращаться небольшая часть таблицы.

Если вам кажется, что оптимизатор некорректно выбирает последовательный перебор, используйте SET enable_seqscan TO 'off' и @@ -753,7 +807,7 @@

  • Строка поиска не должна начинаться с символа класса, т.е. [a-e].
  • Поиск независимый от регистра, такой как ILIKE и ~* не использует индексы. Вместо него, используйте индексы - выражений, которые описываются в секции 4.8.
  • + выражений, которые описываются в секции 4.8.
  • Во время initdb должна использоваться локаль по умолчанию C, потому что не существует возможности узнать следующий наибольший символ для не-C локали. Вы можете для таких случаев создать специальный @@ -765,13 +819,13 @@ если типы данных точно не совпадали с индексными типами колонок. Это особенно касалось int2, int8 и numeric индексов колонок.

    -

    4.7) Как посмотреть на то, как оптимизатор выполняет +

    4.7) Как посмотреть на то, как оптимизатор выполняет мой запрос?

    Смотрите страницу руководства посвященную EXPLAIN.

    -

    4.8) Как мне выполнить поиск регулярного выражения +

    4.8) Как мне выполнить поиск регулярного выражения и поиск независимый от регистра букв поиск регулярного выражения? Как мне использовать индекс для поиска независимого от регистра букв?

    @@ -799,7 +853,7 @@ только в определённом регистре, используйте ограничение CHECK или проверку через триггер.

    -

    4.9) Как мне определить, что значение поля равно +

    4.9) Как мне определить, что значение поля равно NULL в каком-либо запросе? Могу я отсортировать поля NULL или нет?

    @@ -823,7 +877,7 @@ ORDER BY (col IS NOT NULL);
  • -

    4.10) Каковы отличия между разными символьными +

    4.10) Каковы отличия между разными символьными типами?

    @@ -882,7 +936,7 @@ которых могут включать NULL байты. Все типы описанные здесь, имеют сходные характеристики производительности.

    -

    4.11.1) Как мне создать поле +

    4.11.1) Как мне создать поле serial/с-авто-увеличением?

    PostgreSQL поддерживает тип данных SERIAL. Он @@ -906,13 +960,13 @@ Смотрите подробности о последовательностях на странице руководства посвященной create_sequence. -

    4.11.2) Как мне получить значение при вставке +

    4.11.2) Как мне получить значение при вставке SERIAL?

    Один из способов состоит в получении следующего значения SERIAL из объекта sequence с помощью функции nextval() перед вставкой и затем вставлять это значение - явно. Используйте таблицу-пример в 4.11.1, пример + явно. Используйте таблицу-пример в 4.11.1, пример в псевдоязыке покажет как это делается:

         new_id = execute("SELECT nextval('person_id_seq')");
    @@ -936,14 +990,14 @@
     
    -

    4.11.3) Не может ли получиться так, что +

    4.11.3) Не может ли получиться так, что использование currval() и nextval() приведет к зациклированию с другими пользователями?

    Нет. currval() возвращает текущее значение, назначенное вашей сессией, а не другими сессиями.

    -

    4.11.4) Почему числа из моей последовательности +

    4.11.4) Почему числа из моей последовательности не используются снова при отмене транзакции? Почему создаются разрывы при нумерации в колонке, где я использую последовательность/SERIAL?

    @@ -953,7 +1007,7 @@ нумерации при отмене транзакций.

    -

    4.12) Что такое OID? Что такое +

    4.12) Что такое OID? Что такое CTID?

    Каждая, создаваемая в PostgreSQL табличная строка, получает уникальный @@ -978,7 +1032,7 @@ указателя на физические записи.

    -

    4.13) Почему я получаю ошибку "ERROR: Memory +

    4.13) Почему я получаю ошибку "ERROR: Memory exhausted in AllocSetAlloc()"?

    Предположительно у вас закончилась виртуальная память @@ -998,13 +1052,13 @@ клиентом, потому что backend возвращает слишком большой объем данных, попытайтесь выполнить эту команду перед запуском клиента. -

    4.14) Как мне узнать, какая версия PostgreSQL +

    4.14) Как мне узнать, какая версия PostgreSQL запущена?

    Из psql, наберите SELECT version();

    -

    4.15) Как мне создать колонку которая по умолчанию +

    4.15) Как мне создать колонку которая по умолчанию будет содержать текущее время?

    Используйте CURRENT_TIMESTAMP:

    @@ -1012,7 +1066,7 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -

    4.16) Как мне выполнить внешнее связывание?

    +

    4.16) Как мне выполнить внешнее связывание?

    PostgreSQL поддерживает внешнее связывание, используя стандартный синтаксис SQL. Вот два примера:

    @@ -1036,7 +1090,7 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); RIGHT и FULL связываниях. Обычные связывания называются INNER связывания.

    -

    4.17) Как выполнять запросы, использующие несколько +

    4.17) Как выполнять запросы, использующие несколько баз данных?

    Не существует способа создать запрос к базам данных отличным от текущей. @@ -1048,14 +1102,14 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); соедиенения с различными базами данных и таких образом объединять информацию из них.

    -

    4.18) Как мне вернуть из функции несколько строк таблицы?

    +

    4.18) Как мне вернуть из функции несколько строк таблицы?

    Вы можете легко использовать функции, возвращающие список, http://techdocs.postgresql.org/guides/SetReturningFunctions.

    -

    4.19) Почему я получаю ошибку "relation with OID #### +

    4.19) Почему я получаю ошибку "relation with OID #### не существует", когда обращаютсь к временным таблицам в функциях PL/PgSQL?

    PL/PgSQL кэширует сценарии функции и один из негативных эффектов этого @@ -1068,7 +1122,7 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); перегенерироваться каждый раз.

    -

    4.20) Какие есть решения для репликации?

    +

    4.20) Какие есть решения для репликации?

    Хотя "репликация" -- это единый термин, есть несколько разных технологий для выполнения репликаций с разными особенностями для каждой.

    @@ -1088,7 +1142,7 @@ CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); популярным решением для такой репликации в PostgreSQL является Pgcluster. -

    4.21) Почему имена таблицы и колонок не +

    4.21) Почему имена таблицы и колонок не распознаются в в моём запросе?

    Наиболее часто это происходит из-за использования двойных кавычек в