Update Russian FAQ.
This commit is contained in:
parent
1aa4a37f6a
commit
e350d3d988
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Ответы на часто задаваемые вопросы по PostgreSQL
|
Ответы на часто задаваемые вопросы по PostgreSQL
|
||||||
|
|
||||||
Дата последнего обновления: Среда 22 Августа 19:20:40 EDT 2002
|
Дата последнего обновления: Среда 9 Октября 23:14:53 EDT 2002
|
||||||
|
|
||||||
Английский вариант сопровождает: Брюс Момьян (Bruce Momjian)
|
Английский вариант сопровождает: Брюс Момьян (Bruce Momjian)
|
||||||
(pgman@candle.pha.pa.us)
|
(pgman@candle.pha.pa.us)
|
||||||
@ -109,6 +109,7 @@
|
|||||||
4.25) Как мне вернуть из функции несколько записей?
|
4.25) Как мне вернуть из функции несколько записей?
|
||||||
4.26) Почему я не могу надежно создавать/удалять временные таблицы в
|
4.26) Почему я не могу надежно создавать/удалять временные таблицы в
|
||||||
функциях PL/PgSQL?
|
функциях PL/PgSQL?
|
||||||
|
4.27) Какие опции репликации существуют?
|
||||||
|
|
||||||
Расширения PostgreSQL
|
Расширения PostgreSQL
|
||||||
|
|
||||||
@ -269,7 +270,7 @@
|
|||||||
|
|
||||||
1.7) Какая последняя версия?
|
1.7) Какая последняя версия?
|
||||||
|
|
||||||
Последний выпуск PostgreSQL - это версия 7.2.2.
|
Последний выпуск PostgreSQL - это версия 7.2.3.
|
||||||
|
|
||||||
Мы планируем выпускать новые версии каждые четыре месяца.
|
Мы планируем выпускать новые версии каждые четыре месяца.
|
||||||
|
|
||||||
@ -725,8 +726,8 @@
|
|||||||
4.5) Каковы максимальные размеры для записей, таблиц и базы данных?
|
4.5) Каковы максимальные размеры для записей, таблиц и базы данных?
|
||||||
|
|
||||||
Существуют следующие ограничения:
|
Существуют следующие ограничения:
|
||||||
Максимальный размер базы? неограничен (существуют базы на 60 G
|
Максимальный размер базы? неограничен (существуют базы на 1 TB
|
||||||
B)
|
)
|
||||||
Максимальный размер таблицы? 16 TB
|
Максимальный размер таблицы? 16 TB
|
||||||
Максимальный размер записи? 1.6 TB
|
Максимальный размер записи? 1.6 TB
|
||||||
Максимальный размер поля? 1 GB
|
Максимальный размер поля? 1 GB
|
||||||
@ -1100,17 +1101,21 @@ CREATE TABLE test (x int, modtime timestamp DEFAULT CURRENT_TIMESTAMP );
|
|||||||
|
|
||||||
В настоящий момент, мы связываем позапросы для внешних запросов через
|
В настоящий момент, мы связываем позапросы для внешних запросов через
|
||||||
последовательный перебор результата подзапроса для каждой записи
|
последовательный перебор результата подзапроса для каждой записи
|
||||||
внешнего запроса. Попробуйте заменить IN на EXISTS:
|
внешнего запроса. Если подзапрос возвращает только несколько записей и
|
||||||
|
внешний запрос возвращает много записей, IN работает наиболее быстро.
|
||||||
|
Чтобы увеличить скорость в других запросах, замените IN на EXISTS:
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM tab
|
FROM tab
|
||||||
WHERE col1 IN (SELECT col2 FROM TAB2)
|
WHERE col IN (SELECT subcol FROM subtab)
|
||||||
|
|
||||||
на:
|
на:
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM tab
|
FROM tab
|
||||||
WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)
|
WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col)
|
||||||
|
|
||||||
Мы надеемся убрать это ограничение в будущем выпуске.
|
Чтобы такая конструкция работала быстро, колонка subcol должна быть
|
||||||
|
проиндексирована. Мы надеемся убрать это ограничение в будущем
|
||||||
|
выпуске.
|
||||||
|
|
||||||
4.23) Как мне выполнить внешнее связывание?
|
4.23) Как мне выполнить внешнее связывание?
|
||||||
|
|
||||||
@ -1149,8 +1154,10 @@ SELECT *
|
|||||||
для базы данных, непонятно даже, как должен себя вести такой
|
для базы данных, непонятно даже, как должен себя вести такой
|
||||||
межбазовый запрос.
|
межбазовый запрос.
|
||||||
|
|
||||||
Разумеется, клиент может одновременно устанавливать соедиенения с
|
/contrib/dblink позволяет запросы между базами, используя вызовы
|
||||||
различными базами данных и таких образом объединять информацию из них.
|
функций. Разумеется, клиент может одновременно устанавливать
|
||||||
|
соедиенения с различными базами данных и таких образом объединять
|
||||||
|
информацию из них.
|
||||||
|
|
||||||
4.25) Как мне вернуть из функции несколько записей?
|
4.25) Как мне вернуть из функции несколько записей?
|
||||||
|
|
||||||
@ -1170,6 +1177,12 @@ SELECT *
|
|||||||
временную таблицу. Чтобы решить эту проблему, используйте EXECUTE для
|
временную таблицу. Чтобы решить эту проблему, используйте EXECUTE для
|
||||||
доступа к временным таблицам в PL/PgSQL. Использование этого оператора
|
доступа к временным таблицам в PL/PgSQL. Использование этого оператора
|
||||||
заставит запрос перегенерироваться каждый раз.
|
заставит запрос перегенерироваться каждый раз.
|
||||||
|
|
||||||
|
4.27) Какие опции репликации существуют?
|
||||||
|
|
||||||
|
Есть несколько решений для репликации типа master/slave. Они допускают
|
||||||
|
использование только одного сервера для внесения изменений в базу
|
||||||
|
данных, а slave серверы просто позволяют читать данные из базы.
|
||||||
_________________________________________________________________
|
_________________________________________________________________
|
||||||
|
|
||||||
Расширения PostgreSQL
|
Расширения PostgreSQL
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
alink="#0000ff">
|
alink="#0000ff">
|
||||||
<H1>Ответы на часто задаваемые вопросы по PostgreSQL</H1>
|
<H1>Ответы на часто задаваемые вопросы по PostgreSQL</H1>
|
||||||
|
|
||||||
<P>Дата последнего обновления: Среда 22 Августа 19:20:40 EDT 2002</P>
|
<P>Дата последнего обновления: Среда 9 Октября 23:14:53 EDT 2002</P>
|
||||||
|
|
||||||
<P>Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (<A href=
|
<P>Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (<A href=
|
||||||
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
|
"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.25">4.25</A>) Как мне вернуть из функции несколько записей?<BR>
|
||||||
<A href="#4.26">4.26</A>) Почему я не могу надежно создавать/удалять
|
<A href="#4.26">4.26</A>) Почему я не могу надежно создавать/удалять
|
||||||
временные таблицы в функциях PL/PgSQL?<BR>
|
временные таблицы в функциях PL/PgSQL?<BR>
|
||||||
|
<A href="#4.27">4.27</A>) Какие опции репликации существуют?<BR>
|
||||||
|
|
||||||
<H2 align="center">Расширения PostgreSQL</H2>
|
<H2 align="center">Расширения PostgreSQL</H2>
|
||||||
<A href="#5.1">5.1</A>) Я написал функцию определяемую пользователем.
|
<A href="#5.1">5.1</A>) Я написал функцию определяемую пользователем.
|
||||||
@ -324,7 +325,7 @@
|
|||||||
|
|
||||||
<H4><A name="1.7">1.7</A>) Какая последняя версия?</H4>
|
<H4><A name="1.7">1.7</A>) Какая последняя версия?</H4>
|
||||||
|
|
||||||
<P>Последний выпуск PostgreSQL - это версия 7.2.2.</P>
|
<P>Последний выпуск PostgreSQL - это версия 7.2.3.</P>
|
||||||
|
|
||||||
<P>Мы планируем выпускать новые версии каждые четыре месяца.</P>
|
<P>Мы планируем выпускать новые версии каждые четыре месяца.</P>
|
||||||
|
|
||||||
@ -874,7 +875,7 @@
|
|||||||
|
|
||||||
<P>Существуют следующие ограничения:</P>
|
<P>Существуют следующие ограничения:</P>
|
||||||
<PRE>
|
<PRE>
|
||||||
Максимальный размер базы? неограничен (существуют базы на 60 GB)
|
Максимальный размер базы? неограничен (существуют базы на 1 TB)
|
||||||
Максимальный размер таблицы? 16 TB
|
Максимальный размер таблицы? 16 TB
|
||||||
Максимальный размер записи? 1.6 TB
|
Максимальный размер записи? 1.6 TB
|
||||||
Максимальный размер поля? 1 GB
|
Максимальный размер поля? 1 GB
|
||||||
@ -1317,12 +1318,15 @@ BYTEA bytea
|
|||||||
|
|
||||||
<P>В настоящий момент, мы связываем позапросы для внешних запросов
|
<P>В настоящий момент, мы связываем позапросы для внешних запросов
|
||||||
через последовательный перебор результата подзапроса для каждой
|
через последовательный перебор результата подзапроса для каждой
|
||||||
записи внешнего запроса. Попробуйте заменить <CODE>IN</CODE> на
|
записи внешнего запроса. Если подзапрос возвращает только несколько
|
||||||
|
записей и внешний запрос возвращает много записей,
|
||||||
|
<CODE><SMALL>IN</SMALL></CODE> работает наиболее быстро. Чтобы
|
||||||
|
увеличить скорость в других запросах, замените <CODE>IN</CODE> на
|
||||||
<CODE>EXISTS</CODE>:</P>
|
<CODE>EXISTS</CODE>:</P>
|
||||||
<PRE>
|
<PRE>
|
||||||
<CODE>SELECT *
|
<CODE>SELECT *
|
||||||
FROM tab
|
FROM tab
|
||||||
WHERE col1 IN (SELECT col2 FROM TAB2)
|
WHERE col IN (SELECT subcol FROM subtab)
|
||||||
</CODE>
|
</CODE>
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
@ -1330,10 +1334,12 @@ BYTEA bytea
|
|||||||
<PRE>
|
<PRE>
|
||||||
<CODE>SELECT *
|
<CODE>SELECT *
|
||||||
FROM tab
|
FROM tab
|
||||||
WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)
|
WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col)
|
||||||
</CODE>
|
</CODE>
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
|
Чтобы такая конструкция работала быстро, колонка <CODE>subcol</CODE>
|
||||||
|
должна быть проиндексирована.
|
||||||
Мы надеемся убрать это ограничение в будущем выпуске.
|
Мы надеемся убрать это ограничение в будущем выпуске.
|
||||||
|
|
||||||
<H4><A name="4.23">4.23</A>) Как мне выполнить внешнее связывание?</H4>
|
<H4><A name="4.23">4.23</A>) Как мне выполнить внешнее связывание?</H4>
|
||||||
@ -1384,8 +1390,10 @@ BYTEA bytea
|
|||||||
Поскольку PostgreSQL загружает системные каталоги специфичные для базы
|
Поскольку PostgreSQL загружает системные каталоги специфичные для базы
|
||||||
данных, непонятно даже, как должен себя вести такой межбазовый запрос.</P>
|
данных, непонятно даже, как должен себя вести такой межбазовый запрос.</P>
|
||||||
|
|
||||||
<P>Разумеется, клиент может одновременно устанавливать соедиенения с
|
<P><I>/contrib/dblink</I> позволяет запросы между базами, используя
|
||||||
различными базами данных и таких образом объединять информацию из них.</P>
|
вызовы функций. Разумеется, клиент может одновременно устанавливать
|
||||||
|
соедиенения с различными базами данных и таких образом объединять
|
||||||
|
информацию из них.</P>
|
||||||
|
|
||||||
<H4><A name="4.25">4.25</A>) Как мне вернуть из функции несколько записей?</H4>
|
<H4><A name="4.25">4.25</A>) Как мне вернуть из функции несколько записей?</H4>
|
||||||
|
|
||||||
@ -1397,14 +1405,21 @@ BYTEA bytea
|
|||||||
|
|
||||||
<H4><A name="4.26">4.26</A>) Почему я не могу надежно создавать/удалять
|
<H4><A name="4.26">4.26</A>) Почему я не могу надежно создавать/удалять
|
||||||
временные таблицы в функциях PL/PgSQL?</H4>
|
временные таблицы в функциях PL/PgSQL?</H4>
|
||||||
PL/PgSQL кэширует содержимое функции и один из негативных эффектов этого
|
<P>PL/PgSQL кэширует содержимое функции и один из негативных эффектов этого
|
||||||
состоит в том, что если функция PL/PgSQL обращается к временной таблице
|
состоит в том, что если функция PL/PgSQL обращается к временной таблице
|
||||||
и эта таблица позднее удаляется и пересоздается, а функция затем вызывается
|
и эта таблица позднее удаляется и пересоздается, а функция затем вызывается
|
||||||
снова, то ее вызов приведет к ошибке, потому что скэшированное содержимое
|
снова, то ее вызов приведет к ошибке, потому что скэшированное содержимое
|
||||||
функции содержит указатель на старую временную таблицу. Чтобы решить эту
|
функции содержит указатель на старую временную таблицу. Чтобы решить эту
|
||||||
проблему, используйте <SMALL>EXECUTE</SMALL> для доступа к временным
|
проблему, используйте <SMALL>EXECUTE</SMALL> для доступа к временным
|
||||||
таблицам в PL/PgSQL. Использование этого оператора заставит запрос
|
таблицам в PL/PgSQL. Использование этого оператора заставит запрос
|
||||||
перегенерироваться каждый раз.
|
перегенерироваться каждый раз.</P>
|
||||||
|
|
||||||
|
<H4><A name="4.27">4.27</A>) Какие опции репликации существуют?</H4>
|
||||||
|
|
||||||
|
<P>Есть несколько решений для репликации типа master/slave. Они допускают
|
||||||
|
использование только одного сервера для внесения изменений в базу данных,
|
||||||
|
а slave серверы просто позволяют читать данные из базы.</P>
|
||||||
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<H2 align="center">Расширения PostgreSQL</H2>
|
<H2 align="center">Расширения PostgreSQL</H2>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user