Update Russian FAQ.

This commit is contained in:
Bruce Momjian 2002-10-11 17:45:40 +00:00
parent 1aa4a37f6a
commit e350d3d988
2 changed files with 49 additions and 21 deletions

View File

@ -1,7 +1,7 @@
Ответы на часто задаваемые вопросы по PostgreSQL
Дата последнего обновления: Среда 22 Августа 19:20:40 EDT 2002
Дата последнего обновления: Среда 9 Октября 23:14:53 EDT 2002
Английский вариант сопровождает: Брюс Момьян (Bruce Momjian)
(pgman@candle.pha.pa.us)
@ -109,6 +109,7 @@
4.25) Как мне вернуть из функции несколько записей?
4.26) Почему я не могу надежно создавать/удалять временные таблицы в
функциях PL/PgSQL?
4.27) Какие опции репликации существуют?
Расширения PostgreSQL
@ -269,7 +270,7 @@
1.7) Какая последняя версия?
Последний выпуск PostgreSQL - это версия 7.2.2.
Последний выпуск PostgreSQL - это версия 7.2.3.
Мы планируем выпускать новые версии каждые четыре месяца.
@ -725,8 +726,8 @@
4.5) Каковы максимальные размеры для записей, таблиц и базы данных?
Существуют следующие ограничения:
Максимальный размер базы? неограничен (существуют базы на 60 G
B)
Максимальный размер базы? неограничен (существуют базы на 1 TB
)
Максимальный размер таблицы? 16 TB
Максимальный размер записи? 1.6 TB
Максимальный размер поля? 1 GB
@ -1100,17 +1101,21 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
В настоящий момент, мы связываем позапросы для внешних запросов через
последовательный перебор результата подзапроса для каждой записи
внешнего запроса. Попробуйте заменить IN на EXISTS:
внешнего запроса. Если подзапрос возвращает только несколько записей и
внешний запрос возвращает много записей, IN работает наиболее быстро.
Чтобы увеличить скорость в других запросах, замените IN на EXISTS:
SELECT *
FROM tab
WHERE col1 IN (SELECT col2 FROM TAB2)
WHERE col IN (SELECT subcol FROM subtab)
на:
SELECT *
FROM tab
WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)
WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col)
Мы надеемся убрать это ограничение в будущем выпуске.
Чтобы такая конструкция работала быстро, колонка subcol должна быть
проиндексирована. Мы надеемся убрать это ограничение в будущем
выпуске.
4.23) Как мне выполнить внешнее связывание?
@ -1149,8 +1154,10 @@ SELECT *
для базы данных, непонятно даже, как должен себя вести такой
межбазовый запрос.
Разумеется, клиент может одновременно устанавливать соедиенения с
различными базами данных и таких образом объединять информацию из них.
/contrib/dblink позволяет запросы между базами, используя вызовы
функций. Разумеется, клиент может одновременно устанавливать
соедиенения с различными базами данных и таких образом объединять
информацию из них.
4.25) Как мне вернуть из функции несколько записей?
@ -1170,6 +1177,12 @@ SELECT *
временную таблицу. Чтобы решить эту проблему, используйте EXECUTE для
доступа к временным таблицам в PL/PgSQL. Использование этого оператора
заставит запрос перегенерироваться каждый раз.
4.27) Какие опции репликации существуют?
Есть несколько решений для репликации типа master/slave. Они допускают
использование только одного сервера для внесения изменений в базу
данных, а slave серверы просто позволяют читать данные из базы.
_________________________________________________________________
Расширения PostgreSQL

View File

@ -14,7 +14,7 @@
alink="#0000ff">
<H1>Ответы на часто задаваемые вопросы по PostgreSQL</H1>
<P>Дата последнего обновления: Среда 22 Августа 19:20:40 EDT 2002</P>
<P>Дата последнего обновления: Среда 9 Октября 23:14:53 EDT 2002</P>
<P>Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
@ -142,6 +142,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>
<H2 align="center">Расширения PostgreSQL</H2>
<A href="#5.1">5.1</A>) Я написал функцию определяемую пользователем.
@ -324,7 +325,7 @@
<H4><A name="1.7">1.7</A>) Какая последняя версия?</H4>
<P>Последний выпуск PostgreSQL - это версия 7.2.2.</P>
<P>Последний выпуск PostgreSQL - это версия 7.2.3.</P>
<P>Мы планируем выпускать новые версии каждые четыре месяца.</P>
@ -874,7 +875,7 @@
<P>Существуют следующие ограничения:</P>
<PRE>
Максимальный размер базы? неограничен (существуют базы на 60 GB)
Максимальный размер базы? неограничен (существуют базы на 1 TB)
Максимальный размер таблицы? 16 TB
Максимальный размер записи? 1.6 TB
Максимальный размер поля? 1 GB
@ -1317,12 +1318,15 @@ BYTEA bytea
<P>В настоящий момент, мы связываем позапросы для внешних запросов
через последовательный перебор результата подзапроса для каждой
записи внешнего запроса. Попробуйте заменить <CODE>IN</CODE> на
записи внешнего запроса. Если подзапрос возвращает только несколько
записей и внешний запрос возвращает много записей,
<CODE><SMALL>IN</SMALL></CODE> работает наиболее быстро. Чтобы
увеличить скорость в других запросах, замените <CODE>IN</CODE> на
<CODE>EXISTS</CODE>:</P>
<PRE>
<CODE>SELECT *
FROM tab
WHERE col1 IN (SELECT col2 FROM TAB2)
WHERE col IN (SELECT subcol FROM subtab)
</CODE>
</PRE>
@ -1330,10 +1334,12 @@ BYTEA bytea
<PRE>
<CODE>SELECT *
FROM tab
WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)
WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col)
</CODE>
</PRE>
Чтобы такая конструкция работала быстро, колонка <CODE>subcol</CODE>
должна быть проиндексирована.
Мы надеемся убрать это ограничение в будущем выпуске.
<H4><A name="4.23">4.23</A>) Как мне выполнить внешнее связывание?</H4>
@ -1384,8 +1390,10 @@ BYTEA bytea
Поскольку PostgreSQL загружает системные каталоги специфичные для базы
данных, непонятно даже, как должен себя вести такой межбазовый запрос.</P>
<P>Разумеется, клиент может одновременно устанавливать соедиенения с
различными базами данных и таких образом объединять информацию из них.</P>
<P><I>/contrib/dblink</I> позволяет запросы между базами, используя
вызовы функций. Разумеется, клиент может одновременно устанавливать
соедиенения с различными базами данных и таких образом объединять
информацию из них.</P>
<H4><A name="4.25">4.25</A>) Как мне вернуть из функции несколько записей?</H4>
@ -1397,15 +1405,22 @@ BYTEA bytea
<H4><A name="4.26">4.26</A>) Почему я не могу надежно создавать/удалять
временные таблицы в функциях PL/PgSQL?</H4>
PL/PgSQL кэширует содержимое функции и один из негативных эффектов этого
<P>PL/PgSQL кэширует содержимое функции и один из негативных эффектов этого
состоит в том, что если функция PL/PgSQL обращается к временной таблице
и эта таблица позднее удаляется и пересоздается, а функция затем вызывается
снова, то ее вызов приведет к ошибке, потому что скэшированное содержимое
функции содержит указатель на старую временную таблицу. Чтобы решить эту
проблему, используйте <SMALL>EXECUTE</SMALL> для доступа к временным
таблицам в PL/PgSQL. Использование этого оператора заставит запрос
перегенерироваться каждый раз.
<HR>
перегенерироваться каждый раз.</P>
<H4><A name="4.27">4.27</A>) Какие опции репликации существуют?</H4>
<P>Есть несколько решений для репликации типа master/slave. Они допускают
использование только одного сервера для внесения изменений в базу данных,
а slave серверы просто позволяют читать данные из базы.</P>
<HR>
<H2 align="center">Расширения PostgreSQL</H2>