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
:@@ -1330,10 +1334,12 @@ BYTEA byteaSELECT * 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) Как мне выполнить внешнее связывание?
@@ -1384,8 +1390,10 @@ BYTEA bytea Поскольку PostgreSQL загружает системные каталоги специфичные для базы данных, непонятно даже, как должен себя вести такой межбазовый запрос. -Разумеется, клиент может одновременно устанавливать соедиенения с - различными базами данных и таких образом объединять информацию из них.
+/contrib/dblink позволяет запросы между базами, используя + вызовы функций. Разумеется, клиент может одновременно устанавливать + соедиенения с различными базами данных и таких образом объединять + информацию из них.
4.25) Как мне вернуть из функции несколько записей?
@@ -1397,15 +1405,22 @@ BYTEA bytea4.26) Почему я не могу надежно создавать/удалять временные таблицы в функциях PL/PgSQL?
- PL/PgSQL кэширует содержимое функции и один из негативных эффектов этого +PL/PgSQL кэширует содержимое функции и один из негативных эффектов этого состоит в том, что если функция PL/PgSQL обращается к временной таблице и эта таблица позднее удаляется и пересоздается, а функция затем вызывается снова, то ее вызов приведет к ошибке, потому что скэшированное содержимое функции содержит указатель на старую временную таблицу. Чтобы решить эту проблему, используйте EXECUTE для доступа к временным таблицам в PL/PgSQL. Использование этого оператора заставит запрос - перегенерироваться каждый раз. -
+ перегенерироваться каждый раз. + +4.27) Какие опции репликации существуют?
+ +Есть несколько решений для репликации типа master/slave. Они допускают + использование только одного сервера для внесения изменений в базу данных, + а slave серверы просто позволяют читать данные из базы.
+ +
Расширения PostgreSQL