Update of Russian FAQ.

Viktor Vislobokov
This commit is contained in:
Bruce Momjian 2005-01-04 03:47:03 +00:00
parent b2ccdf2a44
commit 248d92ddf4
2 changed files with 106 additions and 86 deletions

View File

@ -1,7 +1,7 @@
Otvety na chasto zadavaemye voprosy po PostgreSQL
Data poslednego obnovleniya: Vtornik 31 avgusta 23:28:03 EDT 2004
Data poslednego obnovleniya: Sreda 15 dekabrya 20:06:34 EST 2004
Anglijskij variant soprovozhdaet: Bryus Mom'yan (Bruce Momjian)
(pgman@candle.pha.pa.us)
@ -109,8 +109,7 @@
4.25) Kak mne vernut' iz funkcii neskol'ko zapisej?
4.26) Pochemu ya ne mogu nadezhno sozdavat'/udalyat' vremennye tablicy
v funkciyah PL/PgSQL?
4.27) Kakie opcii replikacii suschestvuyut?
4.28) Kakie opcii shifrovaniya suschestvuyut?
4.27) Kakie opcii shifrovaniya suschestvuyut?
Rasshireniya PostgreSQL
@ -208,7 +207,9 @@
Nachinaya s versii 8.0, PostgreSQL bez vsyakih uhischrenij rabotaet na
operacionnyh sistemah Microsoft Windows, osnovannyh na NT, takih kak
Win2000, WinXP i Win2003. Paket installyatora dostupen po adresu
http://pgfoundry.org/projects/pginstaller.
http://pgfoundry.org/projects/pginstaller. Versii Windows, osnovannye
na MS-DOS (Win95, Win98, WinMe) mogut zapuskat' PostgreSQL s
pomosch'yu Cygwin.
Takzhe suschestvuet versiya sportirovannaya pod Novell Netware 6 na
http://forge.novell.com.
@ -259,17 +260,20 @@
http://www.PostgreSQL.org
Esche suschestvuet IRC kanal na Freenode i EFNet, s nazvaniem
#PostgreSQL. YA ispol'zuyu dlya podklyucheniya k `etomu kanalu komandu
Unix irc -c '#PostgreSQL' "$USER" irc.phoenix.net. ili irc -c
'#PostgreSQL' "$USER" irc.freenode.net.
Glavnym IRC kanalom yavlyaetsya #postgreql, raspolozhennyj na servere
Freenode (irc.freenode.net). CHtoby podklyuchit'sya, vy mozhete
ispol'zovat' komandu Unix irc -c '#postgresql' "$USER"
irc.freenode.net ili lyuboj drugoj IRC klient. Na `etom zhe servere
suschestvuyut kanaly na ispanskom (#postgresql-es) i francuzskom
(#postgresqlfr) yazykah. Takzhe suschestvuet kanal po PostgreSQL na
servere EFNet.
Spisok kommercheskoj podderzhki kompanij dostupen na
http://techdocs.postgresql.org/companies.php.
1.7) Kakaya poslednyaya versiya?
Poslednij vypusk PostgreSQL - `eto versiya 7.4.5
Poslednij vypusk PostgreSQL - `eto versiya 7.4.6
My planiruem vypuskat' novye versii kazhdye 6-8 mesyacev.
@ -338,9 +342,8 @@
1.13) Kak otpravit' soobschenie ob oshibke??
Pozhalujsta posetite stranichku PostgreSQL BugTool na
http://www.PostgreSQL.org/bugs/bugs.php, na kotoroj predostavleny
detal'nye instrukcii o tom kak otpravit' soobschenie ob oshibke.
Zapolnite formu ob oshibke v PostgreSQL, kotoraya raspolozhena na
http://www.postgresql.org/bugform.html.
Takzhe ne zabud'te posmotret' na ftp://ftp.PostgreSQL.org/pub na
predmet bolee svezhih versij PostgreSQL ili zaplat.
@ -360,7 +363,7 @@
dlya raboty s soderzhimym blokirovok.
Proizvoditel'nost'
PostgreSQL imeet proizvoditel'nost' shozhuyu s drugimi
PostgreSQL imeet proizvoditel'nost' shodnuyu s drugimi
kommercheskimi SUBD i s SUBD s otkrytym ishodnym kodom, v
kakih-to aspektah rabotaya bystree chem oni, v kakih-to
medlenee. V sravnenii s MySQL ili obydennee SUBD, my bystree,
@ -473,10 +476,12 @@
Da, suschestvuet neskol'ko graficheskih interfejsov dlya PostgreSQL.
`Eto PgAccess (http://www.pgaccess.org), PgAdmin III
(http://www.pgadmin.org), RHDB Admin (http://sources.redhat.com/rhdb/)
i Rekall ( http://www.thekompany.com/products/rekall/, kommercheskij).
Takzhe est' PhpPgAdmin ( http://phppgadmin.sourceforge.net/) -
interfejs k PostgreSQL, osnovannyj na Web.
(http://www.pgadmin.org), RHDB Admin
(http://sources.redhat.com/rhdb/), TORA (http://www.globecom.net/tora/
(chastichno kommercheskoe PO) i Rekall (
http://www.thekompany.com/products/rekall/, kommercheskij). Takzhe
est' PhpPgAdmin ( http://phppgadmin.sourceforge.net/) - interfejs k
PostgreSQL, osnovannyj na Web.
2.4) Kakie yazyki mogut vzaimodejstvovat' s PostgreSQL?
@ -520,7 +525,7 @@
backend processov vy nastroili dlya postmaster. Dlya bol'shinstva
sistem, s kolichestvom buferov i processov po umolchaniyu, neobhodimyj
minimum - `eto okolo 1 megabajta. Podrobnosti o razdelyaemoj pamyati i
semaforah smotrite v Rukovodstve administratora PostgreSQL.
semaforah smotrite v Rukovodstve administratora PostgreSQL..
3.4) Kogda ya pytayus' zapustit' postmaster, ya poluchayu oshibki
IpcSemaphoreCreate. Pochemu?
@ -566,23 +571,23 @@
nad udaleniem i peresozdaniem indeksov, kogda vy vypolnyaete bol'shie
izmeneniya dannyh.
Suschestvuet neskol'ko opcij nastrojki. Vy mozhete zapretit' fsync()
pri starte postmaster s opciej -o -F. `Eto predotvratit vyzovy
fsync(), kotorye privodyat k sbrosu dannyh na disk posle kazhdoj
tranzakcii.
Suschestvuet neskol'ko opcij nastrojki v Rukovodstve Administratora
PostgreSQL. Vy mozhete zapretit' fsync() pri starte postmaster s
opciej -o -F. `Eto predotvratit vyzovy fsync(), kotorye privodyat k
sbrosu dannyh na disk posle kazhdoj tranzakcii.
Vy mozhete takzhe ispol'zovat' dlya postmaster opciyu -B dlya
Vy mozhete takzhe ispol'zovat' opciyu shared_buffers -B dlya
uvelicheniya kolichestva buferov razdelyaemoj pamyati, kotoraya
ispol'zuetsya backend processami. Esli vy sdelaete znachenie `etogo
parametra slishkom bol'shim, to postmaster mozhet ne zapustitsya
potomu chto vy ischerpaete ogranichenie yadra na ob"em razdelyaemoj
pamyati. Kazhdyj bufer imeet razmer v 8 kilobajt i po umolchaniyu
vydelyaetsya 64 bufera.
vydelyaetsya 1000 buferov.
Vy mozhete takzhe ispol'zovat' backend opciyu -S dlya uvelicheniya
maksimal'nogo kolichestva pamyati, kotoroe ispol'zuetsya backend
processom dlya vremennyh sortirovok. Znachenie dlya opcii -S zadaetsya
v kilobajtah i po umolchaniyu ravno 512 (t.e. 512K).
Vy mozhete takzhe ispol'zovat' backend opcii sort_mem i work_mem dlya
uvelicheniya maksimal'nogo kolichestva pamyati, kotoroe ispol'zuetsya
backend processom dlya vremennyh sortirovok. Znachenie po umolchaniyu
sostavlyaet 1024 (t.e. 1MB).
Vy takzhe mozhete ispol'zovat' komandu CLUSTER dlya gruppirovki dannyh
v tablicah na sovpadayuschij indeks. Podrobnosti smotrite na stranice
@ -623,10 +628,13 @@
blokirovok/backend ne mogut byt' vosproizvedeny.
Esli postmaster zapuschen, zapustite psql v odnom okne, zatem najdite
PID processa postgres, ispol'zuemyj psql. Ispol'zujte otdadchik dlya
podklyucheniya k postgres PID. Vy mozhete ustanovit' tochki
preryvaniya v otladchike i zapustit' zapros iz psql. Esli vy
proizvodite otladku zapuska postgres, vy mozhete ustanovit'
PID processa postgres, ispol'zuemyj psql, ispol'zuya
SELECT pg_backend_pid()
Ispol'zujte otdadchik dlya podklyucheniya k postgres PID. Vy mozhete
ustanovit' tochki preryvaniya v otladchike i zapustit' zapros iz psql.
Esli vy proizvodite otladku zapuska postgres, vy mozhete ustanovit'
PGOPTIONS="-W n", i zatem zapustit' psql. `Eta opciya privodit k
zaderzhke processa zapuska na n sekund, v techenie kotoryh vy mozhete
podklyuchit' k processu otladchik, ustanovit' lyubye tochki
@ -893,7 +901,16 @@ a
* Poisk nezavisimyj ot registra, takoj kak ILIKE i ~* ne ispol'zuet
indeksy. Vmesto nego, ispol'zujte funkcional'nye indeksy, kotorye
opisyvayutsya v sekcii 4.12.
* Vo vremya initdb dolzhna ispol'zovat'sya lokal' po umolchaniyu C.
* Vo vremya initdb dolzhna ispol'zovat'sya lokal' po umolchaniyu C,
potomu chto ne suschestvuet vozmozhnosti uznat' next-greater
simvol dlya ne-C lokali. Vy mozhete dlya takih sluchaev sozdat'
special'nyj indeks
text_pattern_ops
kotoryj rabotaet tol'ko dlya
LIKE
indeksirovaniya.
V vypuskah do versii 8.0, indeksy chasto nel'zya bylo ispol'zovat',
esli tipy dannyh tochno ne sovpadali s indeksnymi tipami kolonok. `Eto
@ -1251,17 +1268,7 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
EXECUTE dlya dostupa k vremennym tablicam v PL/PgSQL. Ispol'zovanie
`etogo operatora zastavit zapros peregenerirovat'sya kazhdyj raz.
4.27) Kakie opcii replikacii suschestvuyut?
Est' neskol'ko opcij dlya replikacii tipa master/slave. Oni dopuskayut
ispol'zovanie tol'ko master servera dlya vneseniya izmenenij v bazu
dannyh, a slave servery prosto pozvolyayut chitat' dannye iz bazy. Ob
`etom chitajte zdes':
http://gborg.PostgreSQL.org/genpage?replication_research. O replikacii
s neskol'kimi master serverami chitajte zdes':
http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php.
4.28) Kakie opcii shifrovaniya suschestvuyut?
4.27) Kakie opcii shifrovaniya suschestvuyut?
* contrib/pgcrypto soderzhit mnogo funkcij shifrovaniya dlya
ispol'zovaniya v SQL zaprosah.

View File

@ -12,13 +12,13 @@
<BODY bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000" alink="#0000ff">
<H1>Ответы на часто задаваемые вопросы по PostgreSQL</H1>
<P>Дата последнего обновления: Вторник 31 августа 23:28:03 EDT 2004</P>
<P>Дата последнего обновления: Среда 15 декабря 20:06:34 EST 2004</P>
<P>Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
</P>
<P>Перевел на русский: Виктор Вислобоков (<A href=
"mailto:pgman@candle.pha.pa.us">corochoone@perm.ru</A>)<BR>
"mailto:corochoone@perm.ru">corochoone@perm.ru</A>)<BR>
</P>
<P>Самую свежую английскую версию документа можно найти на
@ -139,8 +139,7 @@
<A href="#4.25">4.25</A>) Как мне вернуть из функции несколько записей?<BR>
<A href="#4.26">4.26</A>) Почему я не могу надежно создавать/удалять
временные таблицы в функциях PL/PgSQL?<BR>
<A href="#4.27">4.27</A>) Какие опции репликации существуют?<BR>
<A href="#4.28">4.28</A>) Какие опции шифрования существуют?<BR>
<A href="#4.27">4.27</A>) Какие опции шифрования существуют?<BR>
<H2 align="center">Расширения PostgreSQL</H2>
<A href="#5.1">5.1</A>) Я написал функцию определяемую пользователем.
@ -201,8 +200,9 @@
<P>Система Управления Базами Данных PostgreSQL</P>
<P>Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
Portions Copyright (c) 1994-6 Regents of the University of California</P>
<P>Portions copyright (c) 1996-2004, PostgreSQL Global Development
Group Portions Copyright (c) 1994-6 Regents of the University of
California</P>
<P>Предоставляются права на использование, копирование, изменение
и распространение данного программного обеспечения и его документации
@ -244,7 +244,9 @@
операционных системах Microsoft Windows, основанных на NT, таких как
Win2000, WinXP и Win2003. Пакет инсталлятора доступен по адресу
<A href="http://pgfoundry.org/projects/pginstaller">
http://pgfoundry.org/projects/pginstaller</A>.</P>
http://pgfoundry.org/projects/pginstaller</A>. Версии Windows,
основанные на MS-DOS (Win95, Win98, WinMe) могут запускать
PostgreSQL с помощью Cygwin.</P>
<P>Также существует версия спортированная под Novell Netware 6 на
<a href="http://forge.novell.com/">http://forge.novell.com</a>.</P>
@ -307,17 +309,20 @@
<A href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>
</BLOCKQUOTE>
<P>Еще существует IRC канал на Freenode и EFNet, с названием
<I>#PostgreSQL</I>. Я использую для подключения к этому каналу команду Unix
<CODE>irc -c '#PostgreSQL' "$USER" irc.phoenix.net.</CODE> или
<CODE>irc -c '#PostgreSQL' "$USER" irc.freenode.net.</CODE></P>
<P>Главным IRC каналом является <I>#postgreql</I>,
расположенный на сервере Freenode (<I>irc.freenode.net</I>). Чтобы
подключиться, вы можете использовать команду Unix
<code>irc -c '#postgresql' "$USER" irc.freenode.net</code> или
любой другой IRC клиент. На этом же сервере существуют каналы на
испанском (<I>#postgresql-es</I>) и французском (<I>#postgresqlfr</I>)
языках. Также существует канал по PostgreSQL на сервере EFNet.</P>
<P>Список коммерческой поддержки компаний доступен на
<A href="http://techdocs.postgresql.org/companies.php">http://techdocs.postgresql.org/companies.php</A>.</P>
<H4><A name="1.7">1.7</A>) Какая последняя версия?</H4>
<P>Последний выпуск PostgreSQL - это версия 7.4.5</P>
<P>Последний выпуск PostgreSQL - это версия 7.4.6</P>
<P>Мы планируем выпускать новые версии каждые 6-8 месяцев.</P>
@ -397,10 +402,8 @@
<H4><A name="1.13">1.13</A>) Как отправить сообщение об ошибке??</H4>
<P>Пожалуйста посетите страничку PostgreSQL BugTool на <A href=
"http://www.postgresql.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</A>,
на которой предоставлены детальные инструкции о том как отправить
сообщение об ошибке.</P>
<P>Заполните форму об ошибке в PostgreSQL, которая расположена на
<A href="http://www.postgresql.org/bugform.html">http://www.postgresql.org/bugform.html</A>.</P>
<P>Также не забудьте посмотреть на <A href=
"ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</A>
@ -428,7 +431,7 @@
<DT><B>Производительность</B></DT>
<DD>PostgreSQL имеет производительность схожую с другими коммерческими
<DD>PostgreSQL имеет производительность сходную с другими коммерческими
СУБД и с СУБД с открытым исходным кодом, в каких-то аспектах работая
быстрее чем они, в каких-то медленее. В сравнении с MySQL или обыденнее
СУБД, мы быстрее, когда пользователей много, а также на комплексных
@ -555,7 +558,9 @@
<P>Да, существует несколько графических интерфейсов для PostgreSQL.
Это PgAccess (<A href="http://www.pgaccess.org/">http://www.pgaccess.org</A>),
PgAdmin III (<A href="http://www.pgadmin.org/">http://www.pgadmin.org</A>),
RHDB Admin (<A href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</A>)
RHDB Admin (<A href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</A>),
TORA (<A href="http://www.globecom.net/tora/">http://www.globecom.net/tora/
(частично коммерческое ПО)</A>
и Rekall (<A href="http://www.thekompany.com/products/rekall/">
http://www.thekompany.com/products/rekall/</A>, коммерческий). Также есть
PhpPgAdmin (<A href="http://phppgadmin.sourceforge.net/">
@ -613,8 +618,8 @@
с количеством буферов и процессов по умолчанию, необходимый минимум -
это около 1 мегабайта. Подробности о разделяемой памяти и семафорах
смотрите в <A href=
"http://www.postgresql.org/docs/viev.php?version=current&amp;idoc=1&amp;file=kernel-resources.html">Руководстве
администратора PostgreSQL</A>.</P>
"http://www.postgresql.org/docs/current/static/kernel-resources.html">Руководстве
администратора PostgreSQL.</A>.</P>
<H4><A name="3.4">3.4</A>) Когда я пытаюсь запустить <I>postmaster</I>, я
получаю ошибки <I>IpcSemaphoreCreate</I>. Почему?</H4>
@ -662,22 +667,24 @@
и пересозданием индексов, когда вы выполняете большие изменения
данных.</P>
<P>Существует несколько опций настройки. Вы можете запретить
<P>Существует несколько опций настройки в
<A href="http://www.postgresql.org/docs/current/static/runtime.html">
Руководстве Администратора PostgreSQL</A>. Вы можете запретить
<I>fsync()</I> при старте <I>postmaster</I> с опцией <I>-o -F</I>.
Это предотвратит вызовы <I>fsync()</I>, которые приводят к сбросу
данных на диск после каждой транзакции.</P>
<P>Вы можете также использовать для <I>postmaster</I> опцию <I>-B</I>
<P>Вы можете также использовать опцию <I>shared_buffers</I> <I>-B</I>
для увеличения количества буферов разделяемой памяти, которая
используется backend процессами. Если вы сделаете значение этого параметра
слишком большим, то <I>postmaster</I> может не запустится потому что
вы исчерпаете ограничение ядра на объем разделяемой памяти. Каждый
буфер имеет размер в 8 килобайт и по умолчанию выделяется 64 буфера.</P>
буфер имеет размер в 8 килобайт и по умолчанию выделяется 1000 буферов.</P>
<P>Вы можете также использовать backend опцию <I>-S</I> для увеличения
максимального количества памяти, которое используется backend процессом
для временных сортировок. Значение для опции <I>-S</I> задается в
килобайтах и по умолчанию равно 512 (т.е. 512K).</P>
<P>Вы можете также использовать backend опции <I>sort_mem</I> и
<I>work_mem</I> для увеличения максимального количества памяти, которое
используется backend процессом для временных сортировок. Значение по
умолчанию составляет 1024 (т.е. 1MB).</P>
<P>Вы также можете использовать команду <SMALL>CLUSTER</SMALL> для
группировки данных в таблицах на совпадающий индекс. Подробности смотрите
@ -723,9 +730,15 @@
<P>Если <I>postmaster</I> запущен, запустите <I>psql</I> в одном
окне, затем найдите <SMALL>PID</SMALL> процесса <I>postgres</I>,
используемый <I>psql</I>. Используйте отдадчик для подключения к
<I>postgres</I> <SMALL>PID</SMALL>. Вы можете установить точки
прерывания в отладчике и запустить запрос из <I>psql</I>. Если
используемый <I>psql</I>, используя </P>
<PRE>
SELECT pg_backend_pid()
</PRE>
<P>Используйте отдадчик для подключения к <I>postgres</I> <SMALL>PID</SMALL>.
Вы можете установить точки прерывания в отладчике и запустить запрос
из <I>psql</I>. Если
вы производите отладку запуска <I>postgres</I>, вы можете установить
PGOPTIONS="-W n", и затем запустить <I>psql</I>. Эта опция приводит
к задержке процесса запуска на <I>n</I> секунд, в течение которых
@ -1014,7 +1027,17 @@
<i>~*</i> не использует индексы. Вместо него, используйте функциональные
индексы, которые описываются в секции <A href="#4.12">4.12</A>.</LI>
<LI>Во время <i>initdb</i> должна использоваться локаль по умолчанию
<i>C</i>.
<i>C</i>, потому что не существует возможности узнать next-greater
символ для не-C локали. Вы можете для таких случаев создать специальный
индекс
<PRE>
text_pattern_ops
</PRE>
который работает только для
<PRE>
LIKE
</PRE>
индексирования.</LI>
</UL>
</P>
@ -1432,17 +1455,7 @@ BYTEA bytea
таблицам в PL/PgSQL. Использование этого оператора заставит запрос
перегенерироваться каждый раз.</P>
<H4><A name="4.27">4.27</A>) Какие опции репликации существуют?</H4>
<P>Есть несколько опций для репликации типа master/slave. Они допускают
использование только master сервера для внесения изменений в базу данных,
а slave серверы просто позволяют читать данные из базы. Об этом читайте
здесь: <A href="http://gborg.postgresql.org/genpage?replication_research">
http://gborg.PostgreSQL.org/genpage?replication_research</A>. О репликации
с несколькими master серверами читайте здесь:
<a href="http://gborg.postgresql.org/project/pgreplication/projdisplay.php">http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</A>.</P>
<h4><a name="4.28">4.28</a>) Какие опции шифрования существуют?
<h4><a name="4.27">4.27</a>) Какие опции шифрования существуют?
</h4>
<ul>
<li><i>contrib/pgcrypto</i> содержит много функций шифрования для