|
12 | 12 | <BODY bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000" alink="#0000ff">
|
13 | 13 | <H1>Ответы на часто задаваемые вопросы по PostgreSQL</H1>
|
14 | 14 |
|
15 |
| - <P>Дата последнего обновления: Вторник 31 августа 23:28:03 EDT 2004</P> |
| 15 | + <P>Дата последнего обновления: Среда 15 декабря 20:06:34 EST 2004</P> |
16 | 16 |
|
17 | 17 | <P>Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (<A href=
|
18 | 18 | "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
19 | 19 | </P>
|
20 | 20 | <P>Перевел на русский: Виктор Вислобоков (<A href=
|
21 |
| - "mailto:pgman@candle.pha.pa.us">corochoone@perm.ru</A>)<BR> |
| 21 | + "mailto:corochoone@perm.ru">corochoone@perm.ru</A>)<BR> |
22 | 22 | </P>
|
23 | 23 |
|
24 | 24 | <P>Самую свежую английскую версию документа можно найти на
|
|
139 | 139 | <A href="#4.25">4.25</A>) Как мне вернуть из функции несколько записей?<BR>
|
140 | 140 | <A href="#4.26">4.26</A>) Почему я не могу надежно создавать/удалять
|
141 | 141 | временные таблицы в функциях PL/PgSQL?<BR>
|
142 |
| - <A href="#4.27">4.27</A>) Какие опции репликации существуют?<BR> |
143 |
| - <A href="#4.28">4.28</A>) Какие опции шифрования существуют?<BR> |
| 142 | + <A href="#4.27">4.27</A>) Какие опции шифрования существуют?<BR> |
144 | 143 |
|
145 | 144 | <H2 align="center">Расширения PostgreSQL</H2>
|
146 | 145 | <A href="#5.1">5.1</A>) Я написал функцию определяемую пользователем.
|
|
201 | 200 |
|
202 | 201 | <P>Система Управления Базами Данных PostgreSQL</P>
|
203 | 202 |
|
204 |
| - <P>Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group |
205 |
| - Portions Copyright (c) 1994-6 Regents of the University of California</P> |
| 203 | + <P>Portions copyright (c) 1996-2004, PostgreSQL Global Development |
| 204 | + Group Portions Copyright (c) 1994-6 Regents of the University of |
| 205 | + California</P> |
206 | 206 |
|
207 | 207 | <P>Предоставляются права на использование, копирование, изменение
|
208 | 208 | и распространение данного программного обеспечения и его документации
|
|
244 | 244 | операционных системах Microsoft Windows, основанных на NT, таких как
|
245 | 245 | Win2000, WinXP и Win2003. Пакет инсталлятора доступен по адресу
|
246 | 246 | <A href="http://pgfoundry.org/projects/pginstaller">
|
247 |
| - http://pgfoundry.org/projects/pginstaller</A>.</P> |
| 247 | + http://pgfoundry.org/projects/pginstaller</A>. Версии Windows, |
| 248 | + основанные на MS-DOS (Win95, Win98, WinMe) могут запускать |
| 249 | + PostgreSQL с помощью Cygwin.</P> |
248 | 250 |
|
249 | 251 | <P>Также существует версия спортированная под Novell Netware 6 на
|
250 | 252 | <a href="http://forge.novell.com/">http://forge.novell.com</a>.</P>
|
|
307 | 309 | <A href="http://www.PostgreSQL.org">http://www.PostgreSQL.org</A>
|
308 | 310 | </BLOCKQUOTE>
|
309 | 311 |
|
310 |
| - <P>Еще существует IRC канал на Freenode и EFNet, с названием |
311 |
| - <I>#PostgreSQL</I>. Я использую для подключения к этому каналу команду Unix |
312 |
| - <CODE>irc -c '#PostgreSQL' "$USER" irc.phoenix.net.</CODE> или |
313 |
| - <CODE>irc -c '#PostgreSQL' "$USER" irc.freenode.net.</CODE></P> |
| 312 | + <P>Главным IRC каналом является <I>#postgreql</I>, |
| 313 | + расположенный на сервере Freenode (<I>irc.freenode.net</I>). Чтобы |
| 314 | + подключиться, вы можете использовать команду Unix |
| 315 | + <code>irc -c '#postgresql' "$USER" irc.freenode.net</code> или |
| 316 | + любой другой IRC клиент. На этом же сервере существуют каналы на |
| 317 | + испанском (<I>#postgresql-es</I>) и французском (<I>#postgresqlfr</I>) |
| 318 | + языках. Также существует канал по PostgreSQL на сервере EFNet.</P> |
314 | 319 |
|
315 | 320 | <P>Список коммерческой поддержки компаний доступен на
|
316 | 321 | <A href="http://techdocs.postgresql.org/companies.php">http://techdocs.postgresql.org/companies.php</A>.</P>
|
317 | 322 |
|
318 | 323 | <H4><A name="1.7">1.7</A>) Какая последняя версия?</H4>
|
319 | 324 |
|
320 |
| - <P>Последний выпуск PostgreSQL - это версия 7.4.5</P> |
| 325 | + <P>Последний выпуск PostgreSQL - это версия 7.4.6</P> |
321 | 326 |
|
322 | 327 | <P>Мы планируем выпускать новые версии каждые 6-8 месяцев.</P>
|
323 | 328 |
|
|
397 | 402 |
|
398 | 403 | <H4><A name="1.13">1.13</A>) Как отправить сообщение об ошибке??</H4>
|
399 | 404 |
|
400 |
| - <P>Пожалуйста посетите страничку PostgreSQL BugTool на <A href= |
401 |
| - "http://www.postgresql.org/bugs/bugs.php">http://www.PostgreSQL.org/bugs/bugs.php</A>, |
402 |
| - на которой предоставлены детальные инструкции о том как отправить |
403 |
| - сообщение об ошибке.</P> |
| 405 | + <P>Заполните форму об ошибке в PostgreSQL, которая расположена на |
| 406 | + <A href="http://www.postgresql.org/bugform.html">http://www.postgresql.org/bugform.html</A>.</P> |
404 | 407 |
|
405 | 408 | <P>Также не забудьте посмотреть на <A href=
|
406 | 409 | "ftp://ftp.PostgreSQL.org/pub">ftp://ftp.PostgreSQL.org/pub</A>
|
|
428 | 431 |
|
429 | 432 | <DT><B>Производительность</B></DT>
|
430 | 433 |
|
431 |
| - <DD>PostgreSQL имеет производительность схожую с другими коммерческими |
| 434 | + <DD>PostgreSQL имеет производительность сходную с другими коммерческими |
432 | 435 | СУБД и с СУБД с открытым исходным кодом, в каких-то аспектах работая
|
433 | 436 | быстрее чем они, в каких-то медленее. В сравнении с MySQL или обыденнее
|
434 | 437 | СУБД, мы быстрее, когда пользователей много, а также на комплексных
|
|
555 | 558 | <P>Да, существует несколько графических интерфейсов для PostgreSQL.
|
556 | 559 | Это PgAccess (<A href="http://www.pgaccess.org/">http://www.pgaccess.org</A>),
|
557 | 560 | PgAdmin III (<A href="http://www.pgadmin.org/">http://www.pgadmin.org</A>),
|
558 |
| - RHDB Admin (<A href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</A>) |
| 561 | + RHDB Admin (<A href="http://sources.redhat.com/rhdb/">http://sources.redhat.com/rhdb/</A>), |
| 562 | + TORA (<A href="http://www.globecom.net/tora/">http://www.globecom.net/tora/ |
| 563 | + (частично коммерческое ПО)</A> |
559 | 564 | и Rekall (<A href="http://www.thekompany.com/products/rekall/">
|
560 | 565 | http://www.thekompany.com/products/rekall/</A>, коммерческий). Также есть
|
561 | 566 | PhpPgAdmin (<A href="http://phppgadmin.sourceforge.net/">
|
|
613 | 618 | с количеством буферов и процессов по умолчанию, необходимый минимум -
|
614 | 619 | это около 1 мегабайта. Подробности о разделяемой памяти и семафорах
|
615 | 620 | смотрите в <A href=
|
616 |
| - "http://www.postgresql.org/docs/viev.php?version=current&idoc=1&file=kernel-resources.html">Руководстве |
617 |
| - администратора PostgreSQL</A>.</P> |
| 621 | + "http://www.postgresql.org/docs/current/static/kernel-resources.html">Руководстве |
| 622 | + администратора PostgreSQL.</A>.</P> |
618 | 623 |
|
619 | 624 | <H4><A name="3.4">3.4</A>) Когда я пытаюсь запустить <I>postmaster</I>, я
|
620 | 625 | получаю ошибки <I>IpcSemaphoreCreate</I>. Почему?</H4>
|
|
662 | 667 | и пересозданием индексов, когда вы выполняете большие изменения
|
663 | 668 | данных.</P>
|
664 | 669 |
|
665 |
| - <P>Существует несколько опций настройки. Вы можете запретить |
| 670 | + <P>Существует несколько опций настройки в |
| 671 | + <A href="http://www.postgresql.org/docs/current/static/runtime.html"> |
| 672 | + Руководстве Администратора PostgreSQL</A>. Вы можете запретить |
666 | 673 | <I>fsync()</I> при старте <I>postmaster</I> с опцией <I>-o -F</I>.
|
667 | 674 | Это предотвратит вызовы <I>fsync()</I>, которые приводят к сбросу
|
668 | 675 | данных на диск после каждой транзакции.</P>
|
669 | 676 |
|
670 |
| - <P>Вы можете также использовать для <I>postmaster</I> опцию <I>-B</I> |
| 677 | + <P>Вы можете также использовать опцию <I>shared_buffers</I> <I>-B</I> |
671 | 678 | для увеличения количества буферов разделяемой памяти, которая
|
672 | 679 | используется backend процессами. Если вы сделаете значение этого параметра
|
673 | 680 | слишком большим, то <I>postmaster</I> может не запустится потому что
|
674 | 681 | вы исчерпаете ограничение ядра на объем разделяемой памяти. Каждый
|
675 |
| - буфер имеет размер в 8 килобайт и по умолчанию выделяется 64 буфера.</P> |
| 682 | + буфер имеет размер в 8 килобайт и по умолчанию выделяется 1000 буферов.</P> |
676 | 683 |
|
677 |
| - <P>Вы можете также использовать backend опцию <I>-S</I> для увеличения |
678 |
| - максимального количества памяти, которое используется backend процессом |
679 |
| - для временных сортировок. Значение для опции <I>-S</I> задается в |
680 |
| - килобайтах и по умолчанию равно 512 (т.е. 512K).</P> |
| 684 | + <P>Вы можете также использовать backend опции <I>sort_mem</I> и |
| 685 | + <I>work_mem</I> для увеличения максимального количества памяти, которое |
| 686 | + используется backend процессом для временных сортировок. Значение по |
| 687 | + умолчанию составляет 1024 (т.е. 1MB).</P> |
681 | 688 |
|
682 | 689 | <P>Вы также можете использовать команду <SMALL>CLUSTER</SMALL> для
|
683 | 690 | группировки данных в таблицах на совпадающий индекс. Подробности смотрите
|
|
723 | 730 |
|
724 | 731 | <P>Если <I>postmaster</I> запущен, запустите <I>psql</I> в одном
|
725 | 732 | окне, затем найдите <SMALL>PID</SMALL> процесса <I>postgres</I>,
|
726 |
| - используемый <I>psql</I>. Используйте отдадчик для подключения к |
727 |
| - <I>postgres</I> <SMALL>PID</SMALL>. Вы можете установить точки |
728 |
| - прерывания в отладчике и запустить запрос из <I>psql</I>. Если |
| 733 | + используемый <I>psql</I>, используя </P> |
| 734 | + |
| 735 | + <PRE> |
| 736 | + SELECT pg_backend_pid() |
| 737 | + </PRE> |
| 738 | + |
| 739 | + <P>Используйте отдадчик для подключения к <I>postgres</I> <SMALL>PID</SMALL>. |
| 740 | + Вы можете установить точки прерывания в отладчике и запустить запрос |
| 741 | + из <I>psql</I>. Если |
729 | 742 | вы производите отладку запуска <I>postgres</I>, вы можете установить
|
730 | 743 | PGOPTIONS="-W n", и затем запустить <I>psql</I>. Эта опция приводит
|
731 | 744 | к задержке процесса запуска на <I>n</I> секунд, в течение которых
|
|
1014 | 1027 | <i>~*</i> не использует индексы. Вместо него, используйте функциональные
|
1015 | 1028 | индексы, которые описываются в секции <A href="#4.12">4.12</A>.</LI>
|
1016 | 1029 | <LI>Во время <i>initdb</i> должна использоваться локаль по умолчанию
|
1017 |
| - <i>C</i>. |
| 1030 | + <i>C</i>, потому что не существует возможности узнать next-greater |
| 1031 | + символ для не-C локали. Вы можете для таких случаев создать специальный |
| 1032 | + индекс |
| 1033 | + <PRE> |
| 1034 | + text_pattern_ops |
| 1035 | + </PRE> |
| 1036 | + который работает только для |
| 1037 | + <PRE> |
| 1038 | + LIKE |
| 1039 | + </PRE> |
| 1040 | + индексирования.</LI> |
1018 | 1041 | </UL>
|
1019 | 1042 | </P>
|
1020 | 1043 |
|
|
1432 | 1455 | таблицам в PL/PgSQL. Использование этого оператора заставит запрос
|
1433 | 1456 | перегенерироваться каждый раз.</P>
|
1434 | 1457 |
|
1435 |
| - <H4><A name="4.27">4.27</A>) Какие опции репликации существуют?</H4> |
1436 |
| - |
1437 |
| - <P>Есть несколько опций для репликации типа master/slave. Они допускают |
1438 |
| - использование только master сервера для внесения изменений в базу данных, |
1439 |
| - а slave серверы просто позволяют читать данные из базы. Об этом читайте |
1440 |
| - здесь: <A href="http://gborg.postgresql.org/genpage?replication_research"> |
1441 |
| - http://gborg.PostgreSQL.org/genpage?replication_research</A>. О репликации |
1442 |
| - с несколькими master серверами читайте здесь: |
1443 |
| - <a href="http://gborg.postgresql.org/project/pgreplication/projdisplay.php">http://gborg.PostgreSQL.org/project/pgreplication/projdisplay.php</A>.</P> |
1444 |
| - |
1445 |
| - <h4><a name="4.28">4.28</a>) Какие опции шифрования существуют? |
| 1458 | + <h4><a name="4.27">4.27</a>) Какие опции шифрования существуют? |
1446 | 1459 | </h4>
|
1447 | 1460 | <ul>
|
1448 | 1461 | <li><i>contrib/pgcrypto</i> содержит много функций шифрования для
|
|
0 commit comments