diff --git a/doc/FAQ_russian b/doc/FAQ_russian index 8273e70945f..2b2d9d073bf 100644 --- a/doc/FAQ_russian +++ b/doc/FAQ_russian @@ -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 diff --git a/doc/src/FAQ/FAQ_russian.html b/doc/src/FAQ/FAQ_russian.html index 744e522a2c4..a5c22f0a471 100644 --- a/doc/src/FAQ/FAQ_russian.html +++ b/doc/src/FAQ/FAQ_russian.html @@ -14,7 +14,7 @@ alink="#0000ff">
Дата последнего обновления: Среда 22 Августа 19:20:40 EDT 2002
+Дата последнего обновления: Среда 9 Октября 23:14:53 EDT 2002
Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (pgman@candle.pha.pa.us)
@@ -142,6 +142,7 @@
4.25) Как мне вернуть из функции несколько записей?
4.26) Почему я не могу надежно создавать/удалять
временные таблицы в функциях PL/PgSQL?
+ 4.27) Какие опции репликации существуют?
Последний выпуск PostgreSQL - это версия 7.2.2.
+Последний выпуск PostgreSQL - это версия 7.2.3.
Мы планируем выпускать новые версии каждые четыре месяца.
@@ -874,7 +875,7 @@Существуют следующие ограничения:
- Максимальный размер базы? неограничен (существуют базы на 60 GB)
+ Максимальный размер базы? неограничен (существуют базы на 1 TB)
Максимальный размер таблицы? 16 TB
Максимальный размер записи? 1.6 TB
Максимальный размер поля? 1 GB
@@ -1317,12 +1318,15 @@ BYTEA bytea
В настоящий момент, мы связываем позапросы для внешних запросов
через последовательный перебор результата подзапроса для каждой
- записи внешнего запроса. Попробуйте заменить IN на
+ записи внешнего запроса. Если подзапрос возвращает только несколько
+ записей и внешний запрос возвращает много записей,
+ IN работает наиболее быстро. Чтобы
+ увеличить скорость в других запросах, замените IN на
EXISTS:
SELECT *
FROM tab
- WHERE col1 IN (SELECT col2 FROM TAB2)
+ WHERE col IN (SELECT subcol FROM subtab)
@@ -1330,10 +1334,12 @@ BYTEA bytea
SELECT *
FROM tab
- WHERE EXISTS (SELECT col2 FROM TAB2 WHERE col1 = col2)
+ WHERE EXISTS (SELECT subcol FROM subtab WHERE subcol = col)
+ Чтобы такая конструкция работала быстро, колонка subcol
+ должна быть проиндексирована.
Мы надеемся убрать это ограничение в будущем выпуске.
4.23) Как мне выполнить внешнее связывание?
@@ -1384,8 +1390,10 @@ BYTEA bytea
Поскольку PostgreSQL загружает системные каталоги специфичные для базы
данных, непонятно даже, как должен себя вести такой межбазовый запрос.
- Разумеется, клиент может одновременно устанавливать соедиенения с
- различными базами данных и таких образом объединять информацию из них.
+ /contrib/dblink позволяет запросы между базами, используя
+ вызовы функций. Разумеется, клиент может одновременно устанавливать
+ соедиенения с различными базами данных и таких образом объединять
+ информацию из них.
4.25) Как мне вернуть из функции несколько записей?
@@ -1397,15 +1405,22 @@ BYTEA bytea
4.26) Почему я не могу надежно создавать/удалять
временные таблицы в функциях PL/PgSQL?
- PL/PgSQL кэширует содержимое функции и один из негативных эффектов этого
+ PL/PgSQL кэширует содержимое функции и один из негативных эффектов этого
состоит в том, что если функция PL/PgSQL обращается к временной таблице
и эта таблица позднее удаляется и пересоздается, а функция затем вызывается
снова, то ее вызов приведет к ошибке, потому что скэшированное содержимое
функции содержит указатель на старую временную таблицу. Чтобы решить эту
проблему, используйте EXECUTE для доступа к временным
таблицам в PL/PgSQL. Использование этого оператора заставит запрос
- перегенерироваться каждый раз.
-
+ перегенерироваться каждый раз.
+
+ 4.27) Какие опции репликации существуют?
+
+ Есть несколько решений для репликации типа master/slave. Они допускают
+ использование только одного сервера для внесения изменений в базу данных,
+ а slave серверы просто позволяют читать данные из базы.
+
+
Расширения PostgreSQL