Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
summaryrefslogtreecommitdiff
path: root/doc/src/FAQ
diff options
context:
space:
mode:
authorMagnus Hagander2008-09-15 08:40:46 +0000
committerMagnus Hagander2008-09-15 08:40:46 +0000
commit3a58d2e172d45a681b4a936a97786e46a164dff3 (patch)
treeda31c5d83784c16fb230e6ac4d1ec6b520001879 /doc/src/FAQ
parentffea8fd381a5738ee2cbc0ddea84dcee234e00de (diff)
Convert Russian FAQ to UTF8, to make it render properly on the website.
Diffstat (limited to 'doc/src/FAQ')
-rw-r--r--doc/src/FAQ/FAQ_russian.html1512
1 files changed, 756 insertions, 756 deletions
diff --git a/doc/src/FAQ/FAQ_russian.html b/doc/src/FAQ/FAQ_russian.html
index 7c9db560d5c..e92ce71c062 100644
--- a/doc/src/FAQ/FAQ_russian.html
+++ b/doc/src/FAQ/FAQ_russian.html
@@ -5,378 +5,378 @@
<HEAD>
<META name="generator" content="HTML Tidy, see www.w3.org">
- <META http-equiv="Content-Type" content="text/html; charset=koi8-r">
+ <META http-equiv="Content-Type" content="text/html; charset=utf8">
<TITLE>PostgreSQL FAQ</TITLE>
</HEAD>
<BODY bgcolor="#ffffff" text="#000000" link="#ff0000" vlink="#a00000" alink="#0000ff">
- <H1>������ �� ����� ���������� ������� �� PostgreSQL</H1>
+ <H1>Ответы на часто задаваемые вопросы по PostgreSQL</H1>
- <P>���� ���������� ����������: ����� 25 ���� 23:54:14 EDT 2008</P>
+ <P>Дата последнего обновления: Среда 25 июня 23:54:14 EDT 2008</P>
- <P>���������� ������� ������������: ���� ������ (Bruce Momjian) (<A href=
+ <P>Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (<A href=
"mailto:bruce@momjian.us">bruce@monjian.us</A>)
</P>
- <P>����ף� �� �������: ������ ���������� (<A href=
+ <P>Перевёл на русский: Виктор Вислобоков (<A href=
"mailto:admin@postgresql.ru.net">admin@postgresql.ru.net</A>)<BR>
</P>
- <P>����� ������ ���������� ������ ��������� ����� ����� ��
+ <P>Самую свежую английскую версию документа можно найти на
<A href="http://www.postgresql.org/files/documentation/faqs/FAQ.html">http://www.postgresql.org/files/documentation/faqs/FAQ.html</A>.</P>
- <P>����� ������ ������� ������ ��������� ����� ����� ��
+ <P>Самую свежую русскую версию документа можно найти на
<A href="http://postgresql.ru.net/docs/FAQ_russian.html">http://postgresql.ru.net/docs/FAQ_russian.html</A>.</P>
- <P>������ �� ������� ����������� ��� ���������� �������� ����� ����� ��
+ <P>Ответы на вопросы специфичные для конкретных платформ можно найти на
<A href="http://www.postgresql.org/docs/faq/">http://www.postgresql.org/docs/faq/</A>.</P>
<HR>
- <H2 align="center">����� �������</H2>
- <A href="#item1.1">1.1</A>) ��� ����� PostgreSQL? ��� ������������ ��� ��������? ��� ����� Postgres?<BR>
- <A href="#item1.2">1.2</A>) ��� ��������� PostgreSQL?<BR>
- <A href="#item1.3">1.3</A>) ������ ��������� ����� �� PostgreSQL?<BR>
- <A href="#item1.4">1.4</A>) �� ����� ���������� �������� PostgreSQL?<BR>
- <A href="#item1.5">1.5</A>) ��� ����� ����� PostgreSQL?<BR>
- <A href="#item1.6">1.6</A>) ����� ������ �������� ������?<BR>
- <A href="#item1.7">1.7</A>) ��� �������� ���������?<BR>
- <A href="#item1.8">1.8</A>) ��� ��� �������� �� ������?<BR>
- <A href="#item1.9">1.9</A>) ��� ����� ���������� �� ��������� ������� ��� �������������
- ������������?<BR>
- <A href="#item1.10">1.10</A>) ����� ������������ ������� � �������?<BR>
- <A href="#item1.11">1.11</A>) ��� ��������� <SMALL>SQL</SMALL>?<BR>
- <A href="#item1.12">1.12</A>) ��� ��� ��������� ����������� ��� ������������� � ������� �������������?<BR>
- <A href="#item1.13">1.13</A>) ��� �������� PostgreSQL � �������
- <SMALL>����</SMALL>? ����� �� PostgreSQL ���� ����������?<BR>
- <A href="#item1.14">1.14</A>) ����� �� PostgreSQL �������� � ���������� �����������, � ������ �������,
- ����������� �������� �������?<BR>
- <A href="#item1.15">1.15</A>) ��� ��� ���������� �� ������� �������� PostgreSQL?
- ��� �������� ��������� ������������� ���������?<BR>
-
- <H2 align="center">������� ������������� �� ���������� �����</H2>
- <A href="#item2.1">2.1</A>) ����� ���������� ���� ��� PostgreSQL?<BR>
- <A href="#item2.2">2.2</A>) ����� ����������� ���������� ��� �������������
- PostgreSQL ����� Web?<BR>
- <A href="#item2.3">2.3</A>) ���� �� � PostgreSQL ����������� ���������
- ������������?<BR>
+ <H2 align="center">Общие вопросы</H2>
+ <A href="#item1.1">1.1</A>) Что такое PostgreSQL? Как произносится это название? Что такое Postgres?<BR>
+ <A href="#item1.2">1.2</A>) Кто управляет PostgreSQL?<BR>
+ <A href="#item1.3">1.3</A>) Каковы авторские права на PostgreSQL?<BR>
+ <A href="#item1.4">1.4</A>) На каких платформах работает PostgreSQL?<BR>
+ <A href="#item1.5">1.5</A>) Где можно взять PostgreSQL?<BR>
+ <A href="#item1.6">1.6</A>) Какая версия наиболее свежая?<BR>
+ <A href="#item1.7">1.7</A>) Где получить поддержку?<BR>
+ <A href="#item1.8">1.8</A>) Как мне сообщить об ошибке?<BR>
+ <A href="#item1.9">1.9</A>) Как найти информацию об известных ошибках или отсутствующих
+ возможностях?<BR>
+ <A href="#item1.10">1.10</A>) Какая документация имеется в наличии?<BR>
+ <A href="#item1.11">1.11</A>) Как научиться <SMALL>SQL</SMALL>?<BR>
+ <A href="#item1.12">1.12</A>) Как мне отправить исправление или присоединится к команде разработчиков?<BR>
+ <A href="#item1.13">1.13</A>) Как сравнить PostgreSQL с другими
+ <SMALL>СУБД</SMALL>? Может ли PostgreSQL быть встроенной?<BR>
+ <A href="#item1.14">1.14</A>) Будет ли PostgreSQL работать с последними изменениями, в разных страных,
+ касающимися дневного времени?<BR>
+ <A href="#item1.15">1.15</A>) Как мне отписаться от списков рассылки PostgreSQL?
+ Как избежать получения дублирующихся сообщений?<BR>
+
+ <H2 align="center">Вопросы пользователей по клиентской части</H2>
+ <A href="#item2.1">2.1</A>) Какие интерфейсы есть для PostgreSQL?<BR>
+ <A href="#item2.2">2.2</A>) Какие инструменты существуют для использования
+ PostgreSQL через Web?<BR>
+ <A href="#item2.3">2.3</A>) Есть ли у PostgreSQL графический интерфейс
+ пользователя?<BR>
- <H2 align="center">������� �����������������</H2>
- <A href="#item3.1">3.1</A>) ��� ��� ���������� PostgreSQL � ����� ��������
- �� <I>/usr/local/pgsql</I>?<BR>
- <A href="#item3.2">3.2</A>) ��� ��� ��������� ������������ �� ������
- �����������?<BR>
- <A href="#item3.3">3.3</A>) ����� ��������� ��� ����� ������� ��� ���������
- ������������������?<BR>
- <A href="#item3.4">3.4</A>) ����� ����������� ��� ������� ���� � �������?<BR>
- <A href="#item3.5">3.5</A>) ������ � ������� ��������� <I>"Sorry, too many
- clients"</I> ����� ������� ������������ � ����?<BR>
- <A href="#item3.6">3.6</A>) ��� ��������� ���������� PostgreSQL?<BR>
- <A href="#item3.7">3.7</A>) ����� ������������ "������" � ������
- ������������?<BR>
+ <H2 align="center">Вопросы администрирования</H2>
+ <A href="#item3.1">3.1</A>) Как мне установить PostgreSQL в место отличное
+ от <I>/usr/local/pgsql</I>?<BR>
+ <A href="#item3.2">3.2</A>) Как мне управлять соединениями от других
+ компьютеров?<BR>
+ <A href="#item3.3">3.3</A>) Какие настройки мне нужно сделать для улучшения
+ производительности?<BR>
+ <A href="#item3.4">3.4</A>) Какие возможности для отладки есть в наличии?<BR>
+ <A href="#item3.5">3.5</A>) Почему я получаю сообщение <I>"Sorry, too many
+ clients"</I> когда пытаюсь подключиться к базе?<BR>
+ <A href="#item3.6">3.6</A>) Как выполнить обновление PostgreSQL?<BR>
+ <A href="#item3.7">3.7</A>) Какое компьютерное "железо" я должен
+ использовать?<BR>
- <H2 align="center">������� ������������</H2>
- <A href="#item4.1">4.1</A>) ��� ��������� <SMALL>SELECT</SMALL> ������
- ��� ���������� ������ ������� �������? ��� ������������ ������?<BR>
- <A href="#item4.2">4.2</A>) ��� ��� ����� ����� �������, �������,
- ���� ������ � ������������ ����������? ��� ��� ������� �������,
- ������� ���������� <I>psql</I> ��� ��������� ���� ����������?<BR>
- <A href="#item4.3">4.3</A>) ��� �������� ��� ������ �������?<BR>
- <A href="#item4.4">4.4</A>) ������ ������������ ������� ��� ����� � �������,
- ������ � ���� ������?<BR>
- <A href="#item4.5">4.5</A>) ��� ����� ��������� ������������ � ���� ������
- ����� ��� ���������� ������ �� �������� ���������� �����?<BR>
- <A href="#item4.6">4.6</A>) ������ ��� ������� �������� �������? ������
- ��� �� ���������� ��� �������?<BR>
- <A href="#item4.7">4.7</A>) ��� ���������� �� ��, ��� ����������� ���������
- ��� ������?<BR>
- <A href="#item4.8">4.8</A>) ��� ��� ��������� ����� ����������� ���������
- � ����� ����������� �� �������� ���� ����� ����������� ���������?
- ��� ��� ������������ ������ ��� ������ ������������ �� �������� ����?<BR>
- <A href="#item4.9">4.9</A>) ��� ��� ����������, ��� �������� ���� � �����-����
- ������� ����� <SMALL>NULL</SMALL>? ��� ��� ��������� ���������
- <SMALL>NULL</SMALL>? ���� � ����������� ���� <SMALL>NULL</SMALL> ��� ���?<BR>
- <A href="#item4.10">4.10</A>) ������ ������� ����� ������� �����������
- ������?<BR>
- <A href="#item4.11.1">4.11.1</A>) ��� ��� ������� ���� serial/�-����-�����������?<BR>
- <A href="#item4.11.2">4.11.2</A>) ��� ��� �������� �������� ��� �������
+ <H2 align="center">Вопросы эксплуатации</H2>
+ <A href="#item4.1">4.1</A>) Как выполнить <SMALL>SELECT</SMALL> только
+ для нескольких первых строчек запроса? Для произвольной строки?<BR>
+ <A href="#item4.2">4.2</A>) Как мне найти какие таблицы, индексы,
+ базы данных и пользователи существуют? Как мне увидеть запросы,
+ которые использует <I>psql</I> для получения этой информации?<BR>
+ <A href="#item4.3">4.3</A>) Как изменить тип данных колонки?<BR>
+ <A href="#item4.4">4.4</A>) Каковы максимальные размеры для строк в таблице,
+ таблиц и базы данных?<BR>
+ <A href="#item4.5">4.5</A>) Как много дискового пространства в базе данных
+ нужно для сохранения данных из обычного текстового файла?<BR>
+ <A href="#item4.6">4.6</A>) Почему мои запросы работают медлено? Почему
+ они не используют мои индексы?<BR>
+ <A href="#item4.7">4.7</A>) Как посмотреть на то, как оптимизатор выполняет
+ мой запрос?<BR>
+ <A href="#item4.8">4.8</A>) Как мне выполнить поиск регулярного выражения
+ и поиск независимый от регистра букв поиск регулярного выражения?
+ Как мне использовать индекс для поиска независимого от регистра букв?<BR>
+ <A href="#item4.9">4.9</A>) Как мне определить, что значение поля в каком-либо
+ запросе равно <SMALL>NULL</SMALL>? Как мне соединить возможные
+ <SMALL>NULL</SMALL>? Могу я сортировать поля <SMALL>NULL</SMALL> или нет?<BR>
+ <A href="#item4.10">4.10</A>) Каковы отличия между разными символьными
+ типами?<BR>
+ <A href="#item4.11.1">4.11.1</A>) Как мне создать поле serial/с-авто-увеличением?<BR>
+ <A href="#item4.11.2">4.11.2</A>) Как мне получить значение при вставке
<SMALL>SERIAL</SMALL>?<BR>
- <A href="#item4.11.3">4.11.3</A>) �� ����� �� ���������� ���, ���
- ������������� <I>currval()</I> � <I>nextval()</I> �������� �
- �������������� � ������� ��������������?<BR>
- <A href="#item4.11.4">4.11.4</A>) ������ ����� �� ���� ������������������
- �� ������������ ����� ��� ������ ����������? ������ ��������� �������
- ��� ��������� � �������, ��� � ��������� ������������������/SERIAL?<BR>
- <A href="#item4.12">4.12</A>) ��� ����� <SMALL>OID</SMALL>? ��� �����
+ <A href="#item4.11.3">4.11.3</A>) Не может ли получиться так, что
+ использование <I>currval()</I> и <I>nextval()</I> приведет к
+ зациклированию с другими пользователями?<BR>
+ <A href="#item4.11.4">4.11.4</A>) Почему числа из моей последовательности
+ не используются снова при отмене транзакции? Почему создаются разрывы
+ при нумерации в колонке, где я использую последовательность/SERIAL?<BR>
+ <A href="#item4.12">4.12</A>) Что такое <SMALL>OID</SMALL>? Что такое
<SMALL>CTID</SMALL>?<BR>
- <A href="#item4.13">4.13</A>) ������ � ������� ������ <I>"ERROR: Memory
+ <A href="#item4.13">4.13</A>) Почему я получаю ошибку <I>"ERROR: Memory
exhausted in AllocSetAlloc()"</I>?<BR>
- <A href="#item4.14">4.14</A>) ��� ��� ������, ����� ������ PostgreSQL
- ��������?<BR>
- <A href="#item4.15">4.15</A>) ��� ��� ������� ������� ������� �� ���������
- ����� ��������� ������� �����?<BR>
- <A href="#item4.16">4.16</A>) ��� ��������� ������� ����������?<BR>
- <A href="#item4.17">4.17</A>) ��� ��������� �������, ������������ ���������
- ��� ������?<BR>
- <A href="#item4.18">4.18</A>) ��� ��� ������� �� ������� ��������� ����� �������?<BR>
- <A href="#item4.19">4.19</A>) ������ � ������� ������ "relation with OID ####
- �� ����������", ����� ���������� � ��������� �������� � �������� PL/PgSQL?<BR>
- <A href="#item4.20">4.20</A>) ����� ���� ������� ��� ����������?<BR>
- <A href="#item4.21">4.21</A>) ������ ����� ������� � ������� ��
- ������������ � � �ϣ� �������? ������ �� ����������� ��������� �����?<BR>
+ <A href="#item4.14">4.14</A>) Как мне узнать, какая версия PostgreSQL
+ запущена?<BR>
+ <A href="#item4.15">4.15</A>) Как мне создать колонку которая по умолчанию
+ будет содержать текущее время?<BR>
+ <A href="#item4.16">4.16</A>) Как выполнить внешнее связывание?<BR>
+ <A href="#item4.17">4.17</A>) Как выполнять запросы, использующие несколько
+ баз данных?<BR>
+ <A href="#item4.18">4.18</A>) Как мне вернуть из функции несколько строк таблицы?<BR>
+ <A href="#item4.19">4.19</A>) Почему я получаю ошибку "relation with OID ####
+ не существует", когда обращаютсь к временным таблицам в функциях PL/PgSQL?<BR>
+ <A href="#item4.20">4.20</A>) Какие есть решения для репликации?<BR>
+ <A href="#item4.21">4.21</A>) Почему имена таблицы и колонок не
+ распознаются в в моём запросе? Почему не сохраняются заглавные буквы?<BR>
<HR>
- <H2 align="center">����� �������</H2>
+ <H2 align="center">Общие вопросы</H2>
- <H3><A name="item1.1">1.1</A>) ��� ����� PostgreSQL? ��� ������������ ��� ��������? ��� ����� Postgres?</H3>
+ <H3><A name="item1.1">1.1</A>) Что такое PostgreSQL? Как произносится это название? Что такое Postgres?</H3>
- <P>PostgreSQL ������������ <I>Post-Gres-Q-L (����-����-���-��)</I>.
- (��� ����� ��������������� ��� ����������� "PostgreSQL", ����������
- <A href="http://www.postgresql.org/files/postgresql.mp3">�����-����</A>).
+ <P>PostgreSQL произносится <I>Post-Gres-Q-L (Пост-Грес-Кью-Эл)</I>.
+ (Для особо любопытствующих как произносить "PostgreSQL", существует
+ <A href="http://www.postgresql.org/files/postgresql.mp3">аудио-файл</A>).
</P>
- <P>PostgreSQL - ��� ��������-����������� ������� ���������� ������
- ������ (����), ������� ����� ������������ ����������� ������������
- <small>����</small> � ������������, ������� ���� � <small>����</small>
- ������ ���������. PostgreSQL - ��� ��������� � ��������� ��������
- ����������� �����������.</P>
+ <P>PostgreSQL - это объектно-реляционная система управления базами
+ данных (СУБД), которая имеет традиционные возможности коммерческих
+ <small>СУБД</small> с расширениями, которые есть в <small>СУБД</small>
+ нового поколения. PostgreSQL - это свободное и полностью открытое
+ программное обеспечение.</P>
- <P>���������� PostgreSQL ��������� ������� �������������, ������������
- �� ����� ���� � ��������� ����� ��������. ���������� ��������
- ������������ �������� � �� ����������� �����-���� ���������.
- ����������� �������� � FAQ ��� �������������,
+ <P>Разработку PostgreSQL выполняет команда разработчиков, разбросанная
+ по всему миру и связанная через Интернет. Разработка является
+ общественным проектом и не управляется какой-либо компанией.
+ Подробности смотрите в FAQ для разработчиков,
<A href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html">
http://www.postgresql.org/docs/faqs.FAQ_DEV.html</A>
</P>
- <P>Postgres &mdash; ��� ������ ������������ ���������� ��� PostgreSQL.
- �������������� ������ ������� � ������ ���� Postgres � ���� ��� ������
- �������� ��������� � ���������� � PostgreSQL �� ��������� � �������.
- ���� ��� ������ ��������� ������������� 'PostgreSQL', ����� ������
- �������� 'Postgres'.</P>
+ <P>Postgres &mdash; это широко используемое сокращение для PostgreSQL.
+ Первоначальным именем проекта в Беркли было Postgres и этот ник теперь
+ наиболее популярен в разговорах о PostgreSQL по сравнению с другими.
+ Если вам трудно полностью проговаривать 'PostgreSQL', можно просто
+ говорить 'Postgres'.</P>
- <H3><A name="item1.2">1.2</A>) ��� ��������� PostgreSQL?</H3>
+ <H3><A name="item1.2">1.2</A>) Кто управляет PostgreSQL?</H3>
- <P>���� �� ����� ������-�� ���������� ��������, �����������
- ������� ��� ����������� ��������, �� �������� --- �� ���.
- � ��� ���� ���� �������� � �������������, ���������� � CVS,
- �� ��� ������ ������ ������ ��� ���������������� �����, ���
- ��� ����������. ������ �������� ������������� � �������
- ���������� ������������� � �������������, � �������� �����
- ������������� ������. �ӣ ��� ����� -- ��� ����������� ��
- ������ �������� � ����������� � ����������. (����������� �
- ��� ��� ���������� � ���������� PostgreSQL �������� �
+ <P>Если вы ищите какого-то особенного человека, центральный
+ комитет или управляющую компанию, то напрасно --- их нет.
+ У нас есть ядро комитета и разработчиков, работающих с CVS,
+ но эти группы служат больше для административных целей, чем
+ для управления. Проект напрямую функционирует с помощью
+ сообщества разработчиков и пользователей, к которому может
+ присоединится каждый. Всё что нужно -- это подписаться на
+ списки рассылки и участвовать в дискуссиях. (Подробности о
+ том как включиться в разработку PostgreSQL смотрите в
<a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html">
- FAQ ��� �������������</A>.)</P>
+ FAQ для разработчиков</A>.)</P>
- <H3><A name="item1.3">1.3</A>) ������ ��������� ����� �� PostgreSQL?</H3>
+ <H3><A name="item1.3">1.3</A>) Каковы авторские права на PostgreSQL?</H3>
- <P>PostgreSQL ���������������� �� ������������ �������� BSD. ���
- �������� �� �������� ����������� �� ��, ��� ����� ��������������
- �������� ���. ��� �������� ��� �������� � � ��� ��� ��������� ţ
- ������. ��� ��� �������� BSD, ������� �� ����������:</P>
+ <P>PostgreSQL распространяется по классической лицензии BSD. Эта
+ лицензия не содержит ограничений на то, как будет использоваться
+ исходный код. Нам нравится эта лицензия и у нас нет намерений её
+ менять. Вот эта лицензия BSD, которую мы используем:</P>
- <P>������� ���������� ������ ������ PostgreSQL</P>
+ <P>Система Управления Базами Данных PostgreSQL</P>
<P>Portions copyright (c) 1996-2008, PostgreSQL Global Development
Group Portions Copyright (c) 1994-1996 Regents of the University of
California</P>
- <P>��������������� ����� �� �������������, �����������, ���������
- � ��������������� ������� ������������ ����������� � ��� ������������
- ��� ����� �����, ��������� � ��� ���������� ������-���� ����������,
- ��� ������� ��� ��� ������ ����� ����� ������������� ������ ����
- ��������� �� ��������� ������, ������� �������� � ��� ���������
- ���������.</P>
-
- <P>�������������� ����������� �� ����� ������� ���������������
- �� ����� �����������, ������� ������ ������, ���������� ������
- ��� ��������, ����������� ��� ��������� �������������� �������
- ������������ ����������� ��� ��� ������������, ���� ����
- �������������� ����������� ��� ������� � ����������� �����
- �����������.</P>
-
- <P>�������������� ����������� ���������� ���������������� �������������
- ����� ��������, �������, �� �� ������������� ������ ����� ����������:
- ������� �������� ����������� ������ ��� ����������� ��� ��������� ����.
- ������ ����������� ����������� ��������������� �� ������ �������
- "��� ����" � �������������� ����������� �� ������ �������������
- �������������, ���������, ����������, ���������� ��� ���������.</P>
-
- <H3><A name="item1.4">1.4</A>) �� ����� ���������� �������� PostgreSQL?</H3>
-
- <P>������, PostgreSQL ����� �������� �� ����� ����������� ���������
- ����������� � Unix. � ���������� �� ���������, �� ������� ������
- ��� ��������, �� ������� ���� ��������� �������� ������� PostgreSQL
- � ������� ������ ������ ������.</P>
-
- <P>PostgreSQL ����� �������� �� ������������ �������� Microsoft
- Windows, ���������� �� NT, ����� ��� Win2000 SP4, WinXP � Win2003.
- ����� ������������ �������� �� ������
+ <P>Предоставляются права на использование, копирование, изменение
+ и распространение данного программного обеспечения и его документации
+ для любых целей, бесплатно и без подписания какого-либо соглашения,
+ при условии что для каждой копии будут предоставлены данное выше
+ замечание об авторских правах, текущий параграф и два следующих
+ параграфа.</P>
+
+ <P>КАЛИФОРНИЙСКИЙ УНИВЕРСИТЕТ НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ
+ ЗА ЛЮБЫЕ ПОВРЕЖДЕНИЯ, ВКЛЮЧАЯ ПОТЕРЮ ДОХОДА, НАНЕСЕННЫЕ ПРЯМЫМ
+ ИЛИ НЕПРЯМЫМ, СПЕЦИАЛЬНЫМ ИЛИ СЛУЧАЙНЫМ ИСПОЛЬЗОВАНИЕМ ДАННОГО
+ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ЕГО ДОКУМЕНТАЦИИ, ДАЖЕ ЕСЛИ
+ КАЛИФОРНИЙСКИЙ УНИВЕРСИТЕТ БЫЛ ИЗВЕЩЕН О ВОЗМОЖНОСТИ ТАКИХ
+ ПОВРЕЖДЕНИЙ.</P>
+
+ <P>КАЛИФОРНИЙСКИЙ УНИВЕРСИТЕТ СПЕЦИАЛЬНО ОТКАЗЫВАЗЫВАЕТСЯ ПРЕДОСТАВЛЯТЬ
+ ЛЮБЫЕ ГАРАНТИИ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ТОЛЬКО ЭТИМИ ГАРАНТИЯМИ:
+ НЕЯВНЫЕ ГАРАНТИИ ПРИГОДНОСТИ ТОВАРА ИЛИ ПРИГОДНОСТИ ДЛЯ ОТДЕЛЬНОЙ ЦЕЛИ.
+ ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ НА ОСНОВЕ ПРИЦИПА
+ "КАК ЕСТЬ" И КАЛИФОРНИЙСКИЙ УНИВЕРСИТЕТ НЕ ОБЯЗАН ПРЕДОСТАВЛЯТЬ
+ СОПРОВОЖДЕНИЕ, ПОДДЕРЖКУ, ОБНОВЛЕНИЯ, РАСШИРЕНИЯ ИЛИ ИЗМЕНЕНИЯ.</P>
+
+ <H3><A name="item1.4">1.4</A>) На каких платформах работает PostgreSQL?</H3>
+
+ <P>Обычно, PostgreSQL может работать на любой современной платформе
+ совместимой с Unix. В инструкции по установке, вы найдете список
+ тех платформ, на которых были проведены тестовые запуски PostgreSQL
+ к моменту выхода данной версии.</P>
+
+ <P>PostgreSQL также работает на операционных системах Microsoft
+ Windows, основанных на NT, таких как Win2000 SP4, WinXP и Win2003.
+ Пакет инсталлятора доступен по адресу
<A href="http://www.postgresql.org/download/windows">
- http://www.postgresql.org/download/windows</A>. ������ Windows,
- ���������� �� MS-DOS (Win95, Win98, WinMe) ����� ���������
- PostgreSQL � ������� Cygwin.</P>
+ http://www.postgresql.org/download/windows</A>. Версии Windows,
+ основанные на MS-DOS (Win95, Win98, WinMe) могут запускать
+ PostgreSQL с помощью Cygwin.</P>
- <P>����� ���������� ������ �������������� ��� Novell Netware 6 ��
+ <P>Также существует версия спортированная под Novell Netware 6 на
<A href="http://developer.novell.com/wiki/index.php/Postgresql">http://developer.novell.com/wiki/index.php/Postgresql</A>,
- � ������ ��� OS/2 (eComStation) ��
+ и версия для OS/2 (eComStation) на
<A href="http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&amp;button=Search&amp;key=postgreSQL&amp;stype=all&amp;sort=type&amp;dir=%2F">
http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&amp;button=Search&amp;key=postgreSQL&amp;stype=all&amp;sort=type&amp;dir=%2F</A>.</P>
- <H3><A name="item1.5">1.5</A>) ��� ����� ����� PostgreSQL?</H3>
+ <H3><A name="item1.5">1.5</A>) Где можно взять PostgreSQL?</H3>
- <P>����� �������, ��������� <a href="http://www.postgresql.org/ftp/">
- http://www.postgresql.org/ftp/</a> � ����� ftp, ���������
+ <P>Через браузер, используя <a href="http://www.postgresql.org/ftp/">
+ http://www.postgresql.org/ftp/</a> и через ftp, используя
<A href="ftp://ftp.PostgreSQL.org/pub/">ftp://ftp.postgresql.org/pub/</A>.</P>
- <H3><A name="item1.6">1.6</A>) ����� ������ �������� ������?</H3>
+ <H3><A name="item1.6">1.6</A>) Какая версия наиболее свежая?</H3>
- <P>��������� ������ PostgreSQL - ��� ������ 8.3.3</P>
+ <P>Последний выпуск PostgreSQL - это версия 8.3.3</P>
- <P>�� ��������� ��������� ����� ������� ������ ������ ���,
- � ������� ������ ������ ��������� �������.</P>
+ <P>Мы планируем выпускать новые старшие версии каждый год,
+ а младшие версии каждые несколько месяцев.</P>
- <H3><A name="item1.7">1.7</A>) ��� �������� ���������?</H3>
+ <H3><A name="item1.7">1.7</A>) Где получить поддержку?</H3>
- <P>���������� PostgreSQL ������������� ������ ��������� �������������
- ����� E-mail. �������� web-���� ��� �������� �� ������ �������� ��
- E-mail ���: <A href="http://www.postgresql.org/community/lists/">
- http://www.postgresql.org/community/lists/</A>. ������� ������ ���
- ����, ����� ������ �������� ������� �������� ������ <i>general</i>
- (����� �������) ��� <i>bugs</i> (������).</P>
+ <P>Сообщество PostgreSQL предоставляет помощь множеству пользователей
+ через E-mail. Основной web-сайт для подписки на списки рассылки по
+ E-mail это: <A href="http://www.postgresql.org/community/lists/">
+ http://www.postgresql.org/community/lists/</A>. Хорошим местом для
+ того, чтобы начать задавать вопросы являются списки <i>general</i>
+ (общие вопросы) или <i>bugs</i> (ошибки).</P>
- <P>������� IRC ������� �������� <I>#postgreql</I>,
- ������������� �� ������� Freenode (<I>irc.freenode.net</I>). �����
- ������������, �� ������ ������������ � Unix ����� ���������
- <code>irc -c '#postgresql' "$USER" irc.freenode.net</code> ���
- ����� ������ IRC ������. �� ���� �� ������� ���������� ������ ��
- ��������� (<I>#postgresql-es</I>), ����������� (<I>#postgresqlfr</I>)
- � ����������� (<I>#postgresql-br</I>) ������. ����� ���������� �����
- �� PostgreSQL �� ������� EFNet.</P>
+ <P>Главным IRC каналом является <I>#postgreql</I>,
+ расположенный на сервере Freenode (<I>irc.freenode.net</I>). Чтобы
+ подключиться, вы можете использовать в Unix вызов программы
+ <code>irc -c '#postgresql' "$USER" irc.freenode.net</code> или
+ любой другой IRC клиент. На этом же сервере существуют каналы на
+ испанском (<I>#postgresql-es</I>), французском (<I>#postgresqlfr</I>)
+ и бразильском (<I>#postgresql-br</I>) языках. Также существует канал
+ по PostgreSQL на сервере EFNet.</P>
- <P>������ ������������ ��������� �������� �������� ��
+ <P>Список коммерческой поддержки компаний доступен на
<A href="http://www.postgresql.org/support/professional_support">
http://www.postgresql.org/support/professional_support</A>.</P>
- <H3><A name="item1.8">1.8</A>) ��� ��� �������� �� ������?</H3>
+ <H3><A name="item1.8">1.8</A>) Как мне сообщить об ошибке?</H3>
- <P>�������� ��������� �� ����������� ������ ��ޣ�� �� ������ �
- PostgreSQL �� ������:
+ <P>Посетите страничку со специальной формой отчёта об ошибке в
+ PostgreSQL по адресу:
<A HREF="http://www.postgresql.org/support/submitbug">
http://www.postgresql.org/support/submitbug</A>.
- ����� ��������� ������� ����� ������ ������ PostgreSQL �� �����
- FTP ����� <A href="ftp://ftp.postgresql.org/pub/">
+ Также проверьте наличие более свежей версии PostgreSQL на нашем
+ FTP сайте <A href="ftp://ftp.postgresql.org/pub/">
ftp://ftp.postgresql.org/pub/</A>.</P>
- <P>�� ������, ����������� � ������� ���� ������� ����� �����������
- ����� ��� ������������ � �����-���� ������ �������� PostgreSQL,
- ������ ������������ ���� �� ��������� �������:</P>
+ <P>На ошибки, уведомление о которых были сделаны через специальную
+ форму или отправленные в какой-либо список рассылки PostgreSQL,
+ обычно генерируется один из следующих ответов:</P>
<UL>
- <LI>��� �� ������ � ������</LI>
- <LI>��� ��������� ������ � ��� ��� ���� � ������
+ <LI>Это не ошибка и почему</LI>
+ <LI>Это известная ошибка и она уже есть в списке
<A HREF="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A></LI>
- <LI>������ ������ ���� ���������� � ������� �������</LI>
- <LI>������ ������ ���� ����������, �� ����������� ���� �� ������ �
- ����������� ������</LI>
- <LI>������������� ����� ��������� ����������:
+ <LI>Данная ошибка была исправлена в текущем выпуске</LI>
+ <LI>Данная ошибка была исправлена, но исправление пока не попало в
+ официальный выпуск</LI>
+ <LI>Запрашивается более детальная информация:
<UL>
- <LI>������������ �������</LI>
- <LI>������ PostgreSQL</LI>
- <LI>����, ��������������� ������</LI>
- <LI>���������� ����������</LI>
- <LI>����� backtrace ���������</LI>
+ <LI>Операционная система</LI>
+ <LI>Версия PostgreSQL</LI>
+ <LI>Тест, воспроизводящий ошибку</LI>
+ <LI>Отладочная информация</LI>
+ <LI>Вывод backtrace отладчика</LI>
</UL>
</LI>
- <LI>��� ����� ������. ����� ��������� ���������:
+ <LI>Это новая ошибка. Может произойти следующее:
<UL>
- <LI>����� ������� �����������, ������� ����� �������� � ���������
- ������</LI>
- <LI>������ �� ����� ���� ���������� ���������� � ����� ��������� � ������
+ <LI>Будет создано исправление, которое будет включено в следующий
+ выпуск</LI>
+ <LI>Ошибка не может быть исправлена немедленно и будет добавлена в список
<A HREF="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A></LI>
</UL>
</LI>
</UL>
- <H3><A name="1.9">1.9</A>) ��� ����� ���������� �� ��������� �������
- ��� ������������� ������������?</H3>
+ <H3><A name="1.9">1.9</A>) Как найти информацию об известных ошибках
+ или отсутствующих возможностях?</H3>
- <P>PostgreSQL ������������ ����������� �������� <SMALL>SQL:2003</SMALL>.
- �������� ��� ������ <A href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A>
- �� ������� ��������� ������, ������������� ������������ � �������
- ������.</P>
+ <P>PostgreSQL поддерживает расширенный подкласс <SMALL>SQL:2003</SMALL>.
+ Смотрите наш список <A href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A>
+ на предмет известных ошибок, отсутствующих возможностей и будущих
+ планов.</P>
- <P>�� ������ �����-���� ����������� ������ �������� ��������� ������:</P>
+ <P>На запрос какой-либо возможности обычно приходят следующие ответы:</P>
<UL>
- <LI>������ ����������� ��� ���� � ������
+ <LI>Данная возможность уже есть в списке
<A href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A></LI>
- <LI>������ ����������� ������������ ������ ���:
+ <LI>Данная возможность нежелательна потому что:
<UL>
- <LI>��� ��������� ������������ ����������������, ������� �������
- ��������� SQL</LI>
- <LI>������ ����������� ������ ��������� �� ���, �� ���� �� ���������
- ������</LI>
- <LI>������ ����������� ����������� ��� ������</LI>
+ <LI>Она дублирует существующую функциональность, которая следует
+ стандарту SQL</LI>
+ <LI>Данная возможность сильно усложнила бы код, но дала бы маленькую
+ выгоду</LI>
+ <LI>Данная возможность небезопасна или ненадёжна</LI>
</UL>
</LI>
- <LI>������ ����� ����������� ��������� � ������
+ <LI>Данная новая возможность добавлена в список
<A href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A>
</LI>
</UL>
- <P>PostgreSQL �� ���������� �����-���� ������� ������������ ������,
- ������ ��� �� ����������, ��� ������������� ������� ��������� ��
- ����������� ����� � ������������ ������
+ <P>PostgreSQL не использует какую-либо систему отслеживания ошибок,
+ потому что мы обнаружили, что использование прямого обращения по
+ электронной почте и обновляемого списка
<A href="http://www.postgresql.org/docs/faqs.TODO.html">TODO</A>
- �������� ����� �����������. �� ��������, ������ � �����������
- ����������� ����������� ����� �������, � ������, ������� �����
- �������� ���������� ������������� ������������ �����������. ����
- ������ ���� �����, ��� ����� ����� ��� ���������, ��������� �
- �����������, ��������� � ������� PostgreSQL - ��� ������� ���������
- ������� �������� ������
+ является более эффективным. На практике, ошибки в программном
+ обеспечении сохраняются очень недолго, а ошибки, которые важны
+ большому количеству пользователей исправляются моментально. Есть
+ только одно место, где можно найти все изменения, улучшения и
+ исправления, сделанные в выпуске PostgreSQL - это журналы сообщений
+ системы контроля версий
<A HREF="http://www.postgresql.org/developer/sourcecode/">CVS</A>.
- ���� ��������� � �������� �� �������� ��� ���������, ���������
- � ����������� �����������.</P>
+ Даже замечания к выпускам не содержат все изменения, сделанные
+ в программном обеспечении.</P>
- <H3><A name="item1.10">1.10</A>) ����� ������������ ������� � �������?</H3>
+ <H3><A name="item1.10">1.10</A>) Какая документация имеется в наличии?</H3>
- <P>PostgreSQL �������� ����� ������������, ������� ������� �����������,
- �������� ������������ ����������� man � ��������� ��������� ��������
- �������. �������� � ������� <I>/doc</I>. �� ����� ������ �������������
- ������������ � �������� �� ������ <A href="http://www.postgresql.org/docs">
+ <P>PostgreSQL содержит много документации, включая большое руководство,
+ страницы электронного руководства man и некоторые маленькие тестовые
+ примеры. Смотрите в каталог <I>/doc</I>. Вы также можете просматривать
+ документацию в Интернет по адресу <A href="http://www.postgresql.org/docs">
http://www.postgresql.org/docs</A>.</P>
- <P>���������� ��� ����� �� PostgreSQL ��������� �� ������� <A href=
+ <P>Существует две книги по PostgreSQL доступные по адресам <A href=
"http://www.PostgreSQL.org/docs/books/awbook.html">http://www.PostgreSQL.org/docs/books/awbook.html</A>
- � <a href="http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</a>.
- ���� ��������� ���� �� PostgreSQL, ������� ����� ������.
- ���� �� �������� ���������� ������� ����� ������ (Korry Douglas).
- ������ ������� �� ���� ������ �������� �� ������
+ и <a href="http://www.commandprompt.com/ppbook/">http://www.commandprompt.com/ppbook/</a>.
+ Есть несколько книг по PostgreSQL, которые можно купить.
+ Одну из наиболее популярных написал Корри Дуглас (Korry Douglas).
+ Список обзоров по этим книгам доступен по адресу
<a href="http://www.postgresql.org/docs/books/">http://www.postgresql.org/docs/books/</a>.
- ����� ����, �� ������ <a href="http://wiki.postgresql.org/wiki/Community_Generated_Articles%2C_Guides%2C_and_Documentation">http://wiki.postgresql.org/wiki/Community_Generated_Articles%2C_Guides%2C_and_Documentation</a>
- �� ������ ����� ��������� ����������� ������, ����������� PostgreSQL.</P>
+ Кроме того, по адресу <a href="http://wiki.postgresql.org/wiki/Community_Generated_Articles%2C_Guides%2C_and_Documentation">http://wiki.postgresql.org/wiki/Community_Generated_Articles%2C_Guides%2C_and_Documentation</a>
+ вы можете найти коллекцию технических статей, посвещенных PostgreSQL.</P>
- <P>������ ��������� ������ <I>psql</I> ����� ��������� ������ \d ���
- ����������� ���������� �� �����, ����������, ��������, ��������� � �.�. -
- ����������� \? ��� ��������� ������ ��������� ������.</P>
+ <P>Клиент командной строки <I>psql</I> имеет несколько команд \d для
+ отображения информации по типам, операторам, функциям, агрегатам и т.д. -
+ используйте \? для получения списка доступных команд.</P>
- <P>��� ���� �������� ��� ������ ����������.</P>
+ <P>Наш сайт содержит еще больше информации.</P>
- <H3><A name="item1.11">1.11</A>) ��� ��� ��������� <SMALL>SQL</SMALL>?</H3>
+ <H3><A name="item1.11">1.11</A>) Как мне научиться <SMALL>SQL</SMALL>?</H3>
- <P>��-������, �������� ���� �� ���� �� PostgreSQL, � ������� ����������
- ����. ������ �� ����� ������������� ����� �������� �����
+ <P>Во-первых, возьмите одну из книг по PostgreSQL, о которых говорилось
+ выше. Многим из наших пользователей также нравится книга
<I>The Practical SQL Handbook</I>,
- Bowman, Judith S., et al., Addison-Wesley. ������ �������� <I>The
+ Bowman, Judith S., et al., Addison-Wesley. Другим нравится <I>The
Complete Reference SQL</I>, Groff et al., McGraw-Hill.</P>
- <P>���������� ����� ��������� ���������� ��������� ��������� � online:
+ <P>Существует также множество прекрасных учебников доступных в online:
<UL>
<LI><A href="http://www.intermedia.net/support/sql/sqltut.shtm">http://www.intermedia.net/support/sql/sqltut.shtm,</A>
</LI>
@@ -389,215 +389,215 @@
</UL>
</P>
- <H3><A name="item1.12">1.12</A>) ��� ��� �������� ����������� ��� ������������� � ������� �������������?</H3>
+ <H3><A name="item1.12">1.12</A>) Как мне прислать исправление или присоединится к команде разработчиков?</H3>
- <P>�������� <a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html">
- FAQ ��� �������������</A>.</P>
+ <P>Смотрите <a href="http://www.postgresql.org/docs/faqs.FAQ_DEV.html">
+ FAQ для разработчиков</A>.</P>
- <H3><A name="item1.13">1.13</A>) ��� �������� PostgreSQL � �������
- <SMALL>����</SMALL>? ����� �� PostgreSQL ���� ����������?</H3>
+ <H3><A name="item1.13">1.13</A>) Как сравнить PostgreSQL с другими
+ <SMALL>СУБД</SMALL>? Может ли PostgreSQL быть встроенным?</H3>
<P>
- ���������� ��������� ������� ��������� ������������ �����������:
- �����������, ������������������, ����������, ��������� � ����.</P>
+ Существует несколько методов сравнения программного обеспечения:
+ возможности, производительность, надежность, поддержка и цена.</P>
<DL>
- <DT><B>�����������</B></DT>
-
- <DD>PostgreSQL ����� ����������� ������������ ��������������
- � ������� ������������ <SMALL>����</SMALL>, ����� ���: ����������,
- ����������, ��������, �������������, ���������
- ����������� ���������� ����� � ������ ����������. � ��� ���� ��������� �����������,
- ������� ��� � ���: ����, ������������ �������������, ��������
- ������������, ������� � ����������� ��������������� ����������
- ��� ������ � ���������� ����������.<BR>
+ <DT><B>Возможности</B></DT>
+
+ <DD>PostgreSQL имеет большинство возможностей представленных
+ в больших коммерческих <SMALL>СУБД</SMALL>, такие как: транзакции,
+ подзапросы, триггеры, представления, ссылочной
+ целостности вторичного ключа и разные блокировки. У нас есть некоторые возможности,
+ которых нет у них: типы, определяемые пользователем, механизм
+ наследования, правила и конкуретное многоверсионное управление
+ для работы с содержимым блокировок.<BR>
<BR>
</DD>
- <DT><B>������������������</B></DT>
+ <DT><B>Производительность</B></DT>
- <DD>������������������ PostgreSQL ������ � ������� �������������
- ���� � � ���� � �������� �������� �����. � �����-�� ����� �� �������,
- � �����-�� ���������. ���� ������������������ ������ +/-10% ��
- ��������� � ������� ����.
+ <DD>Производительность PostgreSQL сходна с другими коммерческими
+ СУБД и с СУБД с открытым исходным кодом. В каких-то вещах мы быстрее,
+ в каких-то медленнее. Наша производительности обычно +/-10% по
+ сравнению с другими СУБД.
<BR>
</DD>
- <DT><B>����������</B></DT>
+ <DT><B>Надежность</B></DT>
- <DD>�� ��������, ��� ���� <SMALL>����</SMALL> ������ ���� ��������
- ��� ��� ������ �� ����� ������. �� ��������� ��������� ������ �����������,
- ���������� ���, ������� �������� ������� ������. ������ ������
- �������� ������ ����-������������ �� ������� ���� � ������� ������
- ������ � ���� ������� �������� ���������� ��� �� ����� �������������
- ����������, ���������� �������, ������� ������ � �������������
- �������������. �� �����, ��� �� ���������� �������� �� ����,
- ��� � ������ ����.<BR>
+ <DD>Мы понимали, что наша <SMALL>СУБД</SMALL> должна быть надежной
+ или она ничего не будет стоить. Мы стараемся выпускать хорошо проверенный,
+ стабильный код, который содержит минимум ошибок. Каждый выпуск
+ проходит стадию бета-тестирования по крайней мере в течении одного
+ месяца и наша история выпусков показывает что мы можем предоставлять
+ стабильные, монолитные выпуски, которые готовы к продуктивному
+ использованию. Мы верим, что мы производим проверку не хуже,
+ чем у других СУБД.<BR>
<BR>
</DD>
- <DT><B>���������</B></DT>
-
- <DD>��� ������ �������� ������������� �������������� ������� �
- ������� ������� ������������� � �������������, ������� ����� ������ ������
- ����� ��������� ��������. � �� �� �����, �� �� ����������� �����-����
- �����������, �� � ������������ ������������ <SMALL>����</SMALL> �� ������
- ������ �����������. ������ ������ � �������������, ����������
- �������������, ������������ � �������� ������� ����� ������ ���������
- PostgreSQL ������������� ������ <SMALL>����</SMALL>. ����������
- ������������ ��������� �� ��������� ��������� ����������, �������
- �������� ��� ��� ���� ��� �����. (�������� <A href="#item1.7">������ 1.7</A>.)<BR>
+ <DT><B>Поддержка</B></DT>
+
+ <DD>Наш список рассылки предоставляет возможможность общения с
+ большой группой разработчиков и пользователей, которые могут помочь решить
+ любые возникшие проблемы. В то же время, мы не гарантируем какие-либо
+ исправления, но и разработчики коммерческих <SMALL>СУБД</SMALL> не всегда
+ делают исправления. Прямой доступ к разработчикам, сообществу
+ пользователей, руководствам и исходным текстам часто делают поддержку
+ PostgreSQL превосходящей другие <SMALL>СУБД</SMALL>. Существует
+ коммерческая поддержка по результам возникших инцидентов, которая
+ доступна для тех кому она нужна. (Смотрите <A href="#item1.7">Секцию 1.7</A>.)<BR>
<BR>
</DD>
- <DT><B>����</B></DT>
+ <DT><B>Цена</B></DT>
- <DD>��� ������� ��������� ��� ��� ������������� ���, � �� ���
- ������������� �������������. �� ������ ��������� ���� ��� � ���
- ������� ��� �����������, �� ����������� ���, ��� ����������� �
- ����� �������� ����� BSD, ������� ��������� ����.<BR>
+ <DD>Наш продукт бесплатен как для коммерческого так, и не для
+ коммерческого использования. Вы можете добавлять свой код в наш
+ продукт без ограничений, за исключением тех, что описываются в
+ нашей лицензии стиля BSD, которая приведена выше.<BR>
<BR>
</DD>
</DL>
- <P>PostgreSQL ��������������� �� ����������� ������/������, �������
- ������� ��������� ��������� ��� ������� ������� � �������, � �����
- ��������� ��������������� ���������. ������ ������������ �����������
- ����� ��������������� ����� �����������. ������, ���� ���� ������������
- ����������� ������� ������ ��� ������ ��� ������� ������ �����������
- ��������, �� �� ������ ������������ Postgres � ��� ����� �� �������
- ��� ���� ������ �����-���� ������ ����������� �������.</P>
-
- <H3><A name="item1.14">1.14</A>) ����� �� PostgreSQL �������� �
- ���������� �����������, � ������ �������, ����������� �������� �������?</H3>
-
- <P>��������� � ���������� �������� ������� � ��� �������� � PostgreSQL ������
- 8.0.[4+] � �� ��� ��������� �������, �������� � 8.1. ��������� �� ������
- � �������� ��������� �������� � 8.0.[10+], 8.1.[6+] � ��� ���������
- �������. ������� PostgreSQL �� 8.0 ���������� ���������� � ����������
- �������� ������� �� ���� ������ ��������� ��� � ������������ �������.</p>
+ <P>PostgreSQL разрабатывается по архитектуре клиент/сервер, которая
+ требует отдельных процессов для каждого клиента и сервера, а также
+ несколько вспомогательных процессов. Многие встраиваемые архитектуры
+ могут соответствовать таким требованиям. Однако, если ваша встраиваемая
+ архитектура требует сервер баз данных для запуска внутри прикладного
+ процесса, вы не можете использовать Postgres и вам лучше бы выбрать
+ для базы данных какое-либо другое облегченное решение.</P>
+
+ <H3><A name="item1.14">1.14</A>) Будет ли PostgreSQL работать с
+ последними изменениями, в разных страных, касающимися дневного времени?</H3>
+
+ <P>Изменения в сохранении дневного времени в США включены в PostgreSQL версии
+ 8.0.[4+] и во все следующие выпуски, например в 8.1. Изменения по Канаде
+ и Западной Австралии включены в 8.0.[10+], 8.1.[6+] и все следующие
+ выпуски. Выпуски PostgreSQL до 8.0 используют информацию о сохранении
+ дневного времени из базы данных временных зон в операционной системе.</p>
<HR>
- <H3 id="item1.15">1.15) ��� ��� ���������� �� ������� �������� PostgreSQL?
- ��� �������� ��������� ����������� ���������?</H3>
+ <H3 id="item1.15">1.15) Как мне отписаться от списков рассылки PostgreSQL?
+ Как избежать получения дублирующих сообщений?</H3>
- <P>�������� <a
+ <P>Страница <a
href="http://mail.postgresql.org/mj/mj_wwwusr/domain=postgresql.org?user=&amp;passw=&amp;func=login">Majordomo</a>
- �� ����� PostgreSQL ��������� ����������� ��� ���������� �� ������ �� �������
- �������� PostgreSQL. (��� ����� ����������� ��� ������ ��� Majordomo, �������
- ������������ �� ��� E-mail, ����� ����� � ���������� ������ ����������.)</P>
+ на сайте PostgreSQL позволяет подписаться или отписаться от любого из списков
+ рассылки PostgreSQL. (Вам может понадобится ваш пароль для Majordomo, который
+ отправляется на ваш E-mail, чтобы войти в управление вашими подписками.)</P>
- <P>��� ������ �������� PostgreSQL ������������� ���, ����� ��������� ����� ������
- �� ����� ������ <I>�</I> �� ����� ������ ���������. ��� �������, ����� ������������
- �������� ������ �� E-mail ��� ����� �������. ���� �� �� ������ �������� �����������
- E-mail ��������� �� ������, � ������� ����� �� ��� �������� ��� ��������� ��������,
- ���������� ������ <I>eliminatecc</I> �� �������� <I>Change Settings</I> �
- Majordomo. �� ����� ������ �������� ��������� ����� ����� ��������� ��� ������ ����,
- ���� ������� ������ <I>selfcopy</I>.</P>
+ <P>Все списки рассылки PostgreSQL настариваются так, чтобы групповой ответ уходил
+ на адрес списка <I>и</I> на адрес автора сообщения. Так сделано, чтобы пользователи
+ получали ответы на E-mail как можно быстрее. Если вы не хотите получать дублирующие
+ E-mail сообщения из списка, в случаях когда вы уже получили эти сообщения напрямую,
+ установите флажок <I>eliminatecc</I> на странице <I>Change Settings</I> в
+ Majordomo. Вы также можете избежать получения копий своих сообщений для самого себя,
+ если снимите флажок <I>selfcopy</I>.</P>
<HR>
- <H2 align="center">������� ������������� �� ���������� �����</H2>
+ <H2 align="center">Вопросы пользователей по клиентской части</H2>
- <H3><A name="item2.1">2.1</A>) ����� ���������� ���� ��� PostgreSQL?</H3>
+ <H3><A name="item2.1">2.1</A>) Какие интерфейсы есть для PostgreSQL?</H3>
- <P>��������� PostgreSQL �������� ������ <small>C</small> � ����������
- (embedded) <small>C</small> ����������. ��� ������ ����������
- �������� ������������ ��������� � ����������� ��������; �����������������
- �������� ��������� �� ������������ ����������� ���������� ��������
- ����� ������ � ����� ����������� ������� �������������.</P>
+ <P>Установка PostgreSQL включает только <small>C</small> и встроенный
+ (embedded) <small>C</small> интерфейсы. Все другие интерфейсы
+ являются независимыми проектами и загружаются отдельно; самостоятельность
+ проектов позволяет им организовать собственное расписание выпусков
+ новых версий и иметь собственную команду разработчиков.</P>
- <P>��������� ����� ����������������, ����� ��� <small>PHP</small>
- �������� � ���� ��������� � PostgreSQL. ���������� ��� ����� ������
- ��� Perl, <small>TCL</small>, Python � ������ ������, �������� ��
+ <P>Некоторые языки программирования, такие как <small>PHP</small>
+ включают в себя интерфейс к PostgreSQL. Интерфейсы для таких языков
+ как Perl, <small>TCL</small>, Python и многих других, доступны на
<a href="http://pgfoundry.org">http://pgfoundry.org</A>.</P>
- <H3><A name="item2.2">2.2</A>) ����� ����������� ���������� ��� �������������
- PostgreSQL ����� Web?</H3>
+ <H3><A name="item2.2">2.2</A>) Какие инструменты существуют для использования
+ PostgreSQL через Web?</H3>
- <P>���������� �������� �� �������������� ��� ������ � Web ����� ����� ��:
+ <P>Прекрасное введение во взаимодействие баз данных и Web можно найти на:
<A href="http://www.webreview.com">http://www.webreview.com</A></P>
- <P>��� ���������� � Web, PHP <A href="http://www.php.net">
- http://www.php.net</A> �������� �������� �����������.</P>
+ <P>Для интеграции с Web, PHP <A href="http://www.php.net">
+ http://www.php.net</A> является неплохим интерфейсом.</P>
- <P>� ������� �������, ������ ���������� Perl � DBD::Pg � CGI.pm
- ��� mod_perl.</P>
+ <P>В сложных случаях, многие пользуются Perl и DBD::Pg с CGI.pm
+ или mod_perl.</P>
- <H3><A name="item2.3">2.3</A>) ���� �� � PostgreSQL ����������� ���������
- ������������?</H3>
+ <H3><A name="item2.3">2.3</A>) Есть ли у PostgreSQL графический интерфейс
+ пользователя?</H3>
- <P>��� PostgreSQL ���������� ������� ���������� ������������ �
- ����������� ����������� ��� ������������, ��� � ��������. �����������
- ����� ����� � <A href="http://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools">
- ������������ ���������� ��� GUI ����������� PostgreSQL</A></P>
+ <P>Для PostgreSQL существует большое количество инструментов с
+ графическим интерфейсом как коммерческих, так и открытых. Подробности
+ можно найти в <A href="http://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools">
+ Документации сообщества для GUI иструментов PostgreSQL</A></P>
<HR>
- <H2 align="center">������� �����������������</H2>
+ <H2 align="center">Вопросы администрирования</H2>
- <H3><A name="item3.1">3.1</A>) ��� ��� ���������� PostgreSQL � ����� ��������
- �� <I>/usr/local/pgsql</I>?</H3>
+ <H3><A name="item3.1">3.1</A>) Как мне установить PostgreSQL в место отличное
+ от <I>/usr/local/pgsql</I>?</H3>
- <P>������� ����� <I>--prefix</I> ����� ���������� <I>configure</I>.</P>
+ <P>Задайте опцию <I>--prefix</I> когда запускаете <I>configure</I>.</P>
- <H3><A name="item3.2">3.2</A>) ��� ��� ��������� ������������ �� ������
- �����������?</H3>
+ <H3><A name="item3.2">3.2</A>) Как мне управлять соединениями от других
+ компьютеров?</H3>
- <P>�� ���������, PostgreSQL ��������� ������ ���������� �� ���������
- ������ ����� ������ ������ Unix ��� TCP/IP ����������. ��� ����, �����
- ������ ������ ������ ������������ � ���� �� ������ ��������
- <I>listen_addresses</I> � <I>postgresql.conf</I>, ���������
- host-����������� � ����� <I>$PGDATA/pg_hba.conf</I> � ��������������
- ������ ����.</P>
+ <P>По умолчанию, PostgreSQL разрешает только соединения на локальной
+ машине через сокеты домена Unix или TCP/IP соединения. Для того, чтобы
+ другие машины смогли подключиться к базе вы должны изменить
+ <I>listen_addresses</I> в <I>postgresql.conf</I>, разрешить
+ host-авторизация в файле <I>$PGDATA/pg_hba.conf</I> и перестартовать
+ сервер СУБД.</P>
- <H3><A name="item3.3">3.3</A>) ����� ��������� ��� ����� ������� ��� ���������
- ������������������?</H3>
+ <H3><A name="item3.3">3.3</A>) Какие настройки мне нужно сделать для улучшения
+ производительности?</H3>
- <P>���������� ��� ������� �������, ������� ������������ �����
- ��������� ������������������:</P>
+ <P>Существует три главных области, которые потенциально могут
+ увеличить производительность:</P>
<DL>
- <DT><B>��������� �������</B></DT>
- <DD>��� �������� ����������� �������� ��� ��������� ������
- ������������������:
+ <DT><B>Изменение запроса</B></DT>
+ <DD>Это означает модификацию запросов для получения лучшей
+ производительности:
<UL>
- <LI>�������� ��������, ������� ������� ��������� � ��������� �������</LI>
- <LI>������������� COPY ������ ��������� <small>INSERT</small></LI>
- <LI>����������� ���������� ���������� � ������ ���������� ���
- ���������� �������� ��� ���������� ���������� ����������</LI>
- <LI>������������� <small>CLUSTER</small>, ����� �� ������� ��ң���
- ��������� �����</LI>
- <LI>������������� <small>LIMIT</small> ��� ����, ����� ������������
- ������ ����� ������ �� �������</LI>
- <LI>������������� �������������� (Prepared) ��������</LI>
- <LI>������������� <small>ANALYZE</small> ��� ������������ ����������
- ������������</LI>
- <LI>���������� ������������� <small>VACUUM</small> ��� <I>pg_autovacuum</I></LI>
- <LI>�������� �������� �� ����� ������� ��������� ������</LI>
+ <LI>Создание индексов, включая индексы выражений и частичные индексы</LI>
+ <LI>Использование COPY вместо множества <small>INSERT</small></LI>
+ <LI>Группировка нескольких операторов в единую транзакцию для
+ уменьшения нагрузки при выполнении завершения транзакции</LI>
+ <LI>Использование <small>CLUSTER</small>, когда из индекса берётся
+ множество строк</LI>
+ <LI>Использование <small>LIMIT</small> для того, чтобы возвращалась
+ только часть вывода от запроса</LI>
+ <LI>Использование Подготовленных (Prepared) запросов</LI>
+ <LI>Использование <small>ANALYZE</small> для обслуживания статистики
+ оптимизатора</LI>
+ <LI>Регулярное использование <small>VACUUM</small> или <I>pg_autovacuum</I></LI>
+ <LI>Удаление индексов во время больших изменений данных</LI>
</UL>
<BR><BR>
</DD>
- <DT><B>��������� �������</B></DT>
+ <DT><B>Настройка сервера</B></DT>
- <DD>��������� ��������� � <I>postgresql.conf</I> ������ ��
- ������������������. ��������� ������ ������ ��������� ��. �
+ <DD>Некоторые установки в <I>postgresql.conf</I> влияют на
+ производительность. Подробный полный список установок см. в
<A href="http://www.postgresql.org/docs/current/static/runtime-config.html">
Administration Guide/Server Run-time Environment/Run-time Configuration</A>,
- � ����������� ��. � <A href="http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html">
+ а комментарии см. в <A href="http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html">
http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html</A>
- � <A href="http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html">
+ и <A href="http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html">
http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html</A>.
<BR><BR>
</DD>
- <DT><B>����� "������" - ����������� �����������</B></DT>
+ <DT><B>Выбор "железа" - аппаратного обеспечения</B></DT>
- <DD>������� "������" �� ������������������ �������� ������� �
+ <DD>Влияние "железа" на производительность подробно описано в
<A href="http://www.powerpostgresql.com/PerfList/">
- http://www.powerpostgresql.com/PerfList/</A> �
+ http://www.powerpostgresql.com/PerfList/</A> и
<A href="http://momjian.us/main/writings/pgsql/hw_performance/index.html">
http://momjian.us/main/writings/pgsql/hw_performance/index.html</A>.
<BR>
@@ -605,59 +605,59 @@
</DD>
</DL>
- <H3><A name="item3.4">3.4</A>) ����� ����������� ��� ������� ���� �
- �������?</H3>
+ <H3><A name="item3.4">3.4</A>) Какие возможности для отладки есть в
+ наличии?</H3>
- <P>���� ��������� ��������� � ���������� �������, ������������
- �� <code>log_*</code> �� <a
+ <P>Есть множество установок в настройках сервера, начинающихся
+ на <code>log_*</code> на <a
href="http://www.postgresql.org/docs/current/interactive/runtime-config-logging.html">http://www.postgresql.org/docs/current/interactive/runtime-config-logging.html</a>,
- ����������� ��������������� ������� � ���������� ������ ��������,
- ������� ����� ������� ��� ������� � ��������� ������������������.</P>
+ позволяющих протоколировать запросы и статистику работы процесса,
+ которая очень полезна для отладки и измерения производительности.</P>
- <H3><A name="item3.5">3.5</A>) ������ � ������� ��������� <I>"Sorry, too
- many clients"</I> ����� ������� ������������ � ����?</H3>
+ <H3><A name="item3.5">3.5</A>) Почему я получаю сообщение <I>"Sorry, too
+ many clients"</I> когда пытаюсь подключиться к базе?</H3>
- <P>�� �������� �������������� �� ��������� ����������� � 100 ������
- ����������� � ���� ������. ��� ���������� ��������� ����� �� ����������
- ������������ backend ��������� ��� ������ ������� ��,
- ������� �������� <I>max_connections</I> � ����� <I>postgresql.conf</I>
- � �������������� ������ ��.</P>
+ <P>Вы достигли установленного по умолчанию ограничения в 100 сессий
+ подключения к базе данных. Вам необходимо увеличить лимит на количество
+ конкурентных backend процессов для вашего сервера БД,
+ изменив значение <I>max_connections</I> в файле <I>postgresql.conf</I>
+ и перестартовать сервер БД.</P>
- <H3><A name="item3.6">3.6</A>) ��� ��������� ���������� PostgreSQL?</H3>
+ <H3><A name="item3.6">3.6</A>) Как выполнить обновление PostgreSQL?</H3>
- <P>��. ���������� �� ���������� � <a
+ <P>См. информацию об обновлении в <a
href="http://www.postgresql.org/support/versioning">http://www.postgresql.org/support/versioning</a>
- � ����������� ���������� � <a href="http://www.postgresql.org/docs/current/static/install-upgrading.html">
+ и специальные инструкции в <a href="http://www.postgresql.org/docs/current/static/install-upgrading.html">
http://www.postgresql.org/docs/current/static/install-upgrading.html</a>.</P>
- <H3><A name="item3.7">3.7</A>) ����� ������������ "������" � ������
- ������������?</H3>
+ <H3><A name="item3.7">3.7</A>) Какое компьютерное "железо" я должен
+ использовать?</H3>
- <P>��������� "������" ������������ ����������� �������� ��������
- �����������, ���� ������� ������, ��� ����� "������" ����� ����������
- ��������. ��� �� ���. ������ ECC, SCSI � ������������ ����������� �����
- �������� ����� ������ � ����� ����� ������ ������������������, ���
- ����� ������� "������". PostgreSQL ����� �������� �� ����� "������",
- �� ���� ��� ��� ����� ������� � ������������������, �� � ����� �������
- ����� ����� ��������� ��������������� "������". �������� ������ "������"
- ����� � ����� ������� ��������.</P>
+ <P>Поскольку "железо" персональных компьютеров является наиболее
+ совместимым, люди склонны верить, что такое "железо" имеет одинаковое
+ качество. Это не так. Память ECC, SCSI и качественные материнские платы
+ являются более надёжными и имеют более лучшую производительность, чем
+ менее дорогое "железо". PostgreSQL будет работать на любом "железе",
+ но если для вас важны надёжность и производительность, то с вашей стороны
+ будет мудро поставить соответствующее "железо". Обсудить разное "железо"
+ можно в наших списках рассылки.</P>
<HR>
- <H2 align="center">������� ������������</H2>
+ <H2 align="center">Вопросы эксплуатации</H2>
- <H3><A name="item4.1">4.1</A>) ��� ��������� <SMALL>SELECT</SMALL> ������
- ��� ���������� ������ ������� �������? ������������ ������?</H3>
+ <H3><A name="item4.1">4.1</A>) Как выполнить <SMALL>SELECT</SMALL> только
+ для нескольких первых строчек запроса? Произвольной строки?</H3>
- <P>��� ��������� ������ ���������� �����, ���� �� ������ �� ����������
- �� ������ ���������� <SMALL>SELECT</SMALL> ����������� <SMALL>LIMIT</SMALL>.</P>
- ���� ���� �����-���� ������, ������� ��������� � <SMALL>ORDER BY</SMALL>,
- �� ��������, ��� ���� ������ �������� � �� �����. ���� �� �� ������
- ���������� ����������� ����� �� ������ ���������� <SMALL>SELECT</SMALL>,
- ����������� ������ � <SMALL>FETCH</SMALL>.</P>
+ <P>Для получения только нескольких строк, если вы знаете их количество
+ на момент выполнения <SMALL>SELECT</SMALL> используйте <SMALL>LIMIT</SMALL>.</P>
+ Если есть какой-либо индекс, который совпадает с <SMALL>ORDER BY</SMALL>,
+ то возможно, что весь запрос выполнен и не будет. Если вы не знаете
+ количества необходимых строк на момент выполнения <SMALL>SELECT</SMALL>,
+ используйте курсор и <SMALL>FETCH</SMALL>.</P>
<P>To <small>SELECT</small> a random row, use:</P>
<PRE> SELECT col
@@ -667,37 +667,37 @@
</PRE>
- <H3><A name="item4.2">4.2</A>) ��� ��� ����� ����� �������, �������,
- ���� ������ � ������������ ����������? ��� ��� ������� �������,
- ������� ���������� <I>psql</I> ��� ��������� ���� ����������?</H3>
-
- <P>����� ������������� ������� � <I>psql</I>, ����������� ������� \dt.
- ������ ������ ������ � <I>psql</I> �� ������ ��������, ��������� \?.
- ����� ����, �� ������ ���������� �������� ��� <I>psql</I> � �����
- <I>pgsql/src/bin/psql/describe.c</I>. �� �������� �������
- <SMALL>SQL</SMALL> ������� ������������ ��� ����� � <I>psql</I> ������,
- ������������ � �������� ����� �����. �� ����� ������ ���������
- <I>psql</I> � ������ <I>-E</I> ���, ����� ��� ��������� ��������
- �������, ������� ��� ���������� ��� ���������� �������� ����
- ������. PostgreSQL ����� ������������� <SMALL>SQL</SMALL>
- ����������� � INFORMATION SCHEMA ���������, � ������� ��������, ��
- ������ ������������ ������ �� ��������� ���������� � ���� ������.</P>
+ <H3><A name="item4.2">4.2</A>) Как мне найти какие таблицы, индексы,
+ базы данных и пользователи существуют? Как мне увидеть запросы,
+ которые использует <I>psql</I> для получения этой информации?</H3>
+
+ <P>Чтобы просматривать таблицы в <I>psql</I>, используйте команду \dt.
+ Полный список команд в <I>psql</I> вы можете получить, используя \?.
+ Кроме того, вы можете посмотреть исходный код <I>psql</I> в файле
+ <I>pgsql/src/bin/psql/describe.c</I>. Он содержит команды
+ <SMALL>SQL</SMALL> которые генерируются при вводе в <I>psql</I> команд,
+ начинающихся с обратной косой черты. Вы также можете запустить
+ <I>psql</I> с опцией <I>-E</I> так, чтобы эта программа выдавала
+ запросы, которые она использует для выполнения заданных вами
+ команд. PostgreSQL также предоставляет <SMALL>SQL</SMALL>
+ совместимый с INFORMATION SCHEMA интерфейс, с помощью которого, вы
+ можете сформировать запрос на получение информации о базе данных.</P>
- <P>����� ���������� ��������� �������, ������������ � <I>pg_</I>.</P>
+ <P>Также существуют системные таблицы, начинающиеся с <I>pg_</I>.</P>
- <P>����������� <I>psql -l</I> ��� ��������� ������ ���� ��� ������.</P>
+ <P>Используйте <I>psql -l</I> для получения списка всех баз данных.</P>
- <P>����� ���������� ���� <I>pgsql/src/tutorial/syscat.source</I>.
- �� ���������� ������ �� ���������� <SMALL>SELECT</SMALL> �����������
- ��� ��������� ���������� �� ��������� ������ ���� ������.</P>
+ <P>Также посмотрите файл <I>pgsql/src/tutorial/syscat.source</I>.
+ Он показывает многие из операторов <SMALL>SELECT</SMALL> необходимых
+ для получения информации из системных таблиц базы данных.</P>
- <H3><A name="item4.3">4.3</A>) ��� �������� ��� ������ �������?</H3>
+ <H3><A name="item4.3">4.3</A>) Как изменить тип данных колонки?</H3>
- <P>� 8.0 � ����� ������� �������, ��������� ���� ������� �����������
- ����� ����� ����� <SMALL>ALTER TABLE ALTER COLUMN TYPE</SMALL>.</P>
+ <P>В 8.0 и более поздних версиях, изменение типа колонки выполняется
+ очень легко через <SMALL>ALTER TABLE ALTER COLUMN TYPE</SMALL>.</P>
- <P>� ����� ������ ������� �������� ���:</P>
+ <P>В более ранних версиях сделайте так:</P>
<PRE>
BEGIN;
ALTER TABLE tab ADD COLUMN new_col <i>new_data_type</i>;
@@ -706,212 +706,212 @@
COMMIT;
</PRE>
- <H3><A name="item4.4">4.4</A>) ������ ������������ ������� ��� ����� � �������,
- ������ � ���� ������?</H3>
+ <H3><A name="item4.4">4.4</A>) Каковы максимальные размеры для строк в таблице,
+ таблиц и базы данных?</H3>
- <P>���������� ��������� �����������:</P>
+ <P>Существуют следующие ограничения:</P>
<BLOCKQUOTE>
<TABLE>
<TR>
- <TD>������������ ������ ����?</TD>
- <TD>����������� (���������� ���� �� 32 TB)</TD>
+ <TD>Максимальный размер базы?</TD>
+ <TD>неограничен (существуют базы на 32 TB)</TD>
</TR>
<TR>
- <TD>������������ ������ �������?</TD>
+ <TD>Максимальный размер таблицы?</TD>
<TD>32 TB</TD>
</TR>
<TR>
- <TD>������������ ������ ������?</TD>
+ <TD>Максимальный размер строки?</TD>
<TD>400 Gb</TD>
</TR>
<TR>
- <TD>������������ ������ ����?</TD>
+ <TD>Максимальный размер поля?</TD>
<TD>1 GB</TD>
</TR>
<TR>
- <TD>������������ ���������� ����� � �������?</TD>
- <TD>������������</TD>
+ <TD>Максимальное количество строк в таблице?</TD>
+ <TD>неограничено</TD>
</TR>
<TR>
- <TD>������������ ���������� ������� � �������?</TD>
- <TD>250-1600 � ����������� �� ����</TD>
+ <TD>Максимальное количество колонок в таблице?</TD>
+ <TD>250-1600 в зависимости от типа</TD>
</TR>
<TR>
- <TD>������������ ���������� �������� � �������?</TD>
- <TD>������������</TD>
+ <TD>Максимальное количество индексов в таблице?</TD>
+ <TD>неограничено</TD>
</TR>
</TABLE>
</BLOCKQUOTE>
<BR>
- <P>����������, ������� "������������" �� ����� ���� ��������������
- ��������� �������� �������������� � ��������� ������/���������.
- ����� �������� ������������� ���� ����������� �������, �����
- ���������� ������������������.</P>
-
- <P>������������ ������ ������� � 32 TB �� ������� ����� ������������
- ������� ������������ ����� ������� ��������. ������� ������� ��������
- ��� ��������� ������ �������� � 1 GB, ��� ��� �����������, �������
- ����������� �������� ������� �� �����.</P>
-
- <P>������������ ������ ������� � ������������ ���������� �������
- ����� ���� ��������� � ������ ����, ���� ������ ����� �� ��������� �����
- �������� �� 32k.</P>
+ <P>Разумеется, понятие "неограничено" на самом деле ограничивается
+ доступным дисковым пространиством и размерами памяти/своппинга.
+ Когда значения перечисленные выше неоправдано большие, может
+ пострадать производительность.</P>
+
+ <P>Максимальный размер таблицы в 32 TB не требует чтобы операционная
+ система поддерживала файлы больших размеров. Большие таблицы хранятся
+ как множество файлов размером в 1 GB, так что ограничения, которые
+ накладывает файловая система не важны.</P>
+
+ <P>Максимальный размер таблицы и максимальное количество колонок
+ могут быть увеличены в четыре раза, если размер блока по умолчанию будет
+ увеличен до 32k.</P>
- <P>���������� �����������, �� �������� ������� �� ����� ����������� ���
- ������� ������� ��� 2,000 ��������. � ������� ����� ������� ���� ��
- ������������� ����-�� �����. ������������ ������������� �������� �������,
- � ������� ��������������� ������� �� ���� MD5 ������� �������, �
- �������������� �������������� ��������� ������ ����� ������ �������.</P>
-
- <H3><A name="item4.5">4.5</A>) ��� ����� ��������� ������������ � ���� ������
- ����� ��� ���������� ������ �� �������� ���������� �����?</H3>
-
- <P>���� PostgreSQL ����� ������������� ��������� ������������ �� 5 ���
- ������ ��� ���������� ������ �� �������� ���������� �����.</P>
-
- <P>� �������� �������, ���������� ���� � 100,000 ����� � ������, ��
- ������� ����� ����� � ��������� ��������. ��� ���� ����� ������,
- � �������, ���������� 20 ����. ������ �������� ����� �������� 2.8 MB.
- ������ ���� PostgreSQL, ���������� ��� �� ������ �������� ��������������
- 5.2 MB �� �������:</P>
+ <P>Существует ограничение, по которому индексы не могут создаваться для
+ колонок длиннее чем 2,000 символов. К счастью такие индексы вряд ли
+ действительно кому-то нужны. Уникальность гарантируется наилучим образом,
+ с помощью функционального индекса из хэша MD5 длинной колонки, а
+ полнотекстовое индексирование позволяет искать слова внутри колонки.</P>
+
+ <H3><A name="item4.5">4.5</A>) Как много дискового пространства в базе данных
+ нужно для сохранения данных из обычного текстового файла?</H3>
+
+ <P>СУБД PostgreSQL может потребоваться дискового пространства до 5 раз
+ больше для сохранения данных из простого текстового файла.</P>
+
+ <P>В качестве примера, рассмотрим файл в 100,000 строк в каждой, из
+ которых целое число и текстовое описание. При этом длина текста,
+ в среднем, составляет 20 байт. Размер простого файла составит 2.8 MB.
+ Размер базы PostgreSQL, содержащей эти же данные составит приблизительно
+ 5.2 MB из которых:</P>
<PRE>
- 24 ����: �� ������ ��������� ������ � ������� (��������������)
- + 24 �����: ���� ���� � ������������� ����� � ���� ��������� ����
- + 4 �����: ��������� �� �������� ��� ���� ��������� ������
+ 24 байт: на каждый заголовок строки в таблице (приблизительно)
+ + 24 байта: одно поле с целочисленным типом и одно текстовое поле
+ + 4 байта: указатель на странице для всей табличной строки
----------------------------------------
- 56 ���� �� ������ � �������
+ 56 байт на строку в таблице
- ������ �������� ������ � PostgreSQL ���������� 8192 ���� (8 KB), ��� ���:
+ Размер страницы данных в PostgreSQL составляет 8192 байт (8 KB), так что:
- 8192 ���� �� ��������
- --------------------- = 158 ����� � ������� �� �������� �� (�����̣���)
- 52 ���� �� ������ � �������
+ 8192 байт на страницу
+ --------------------- = 158 строк в таблице на страницу БД (округлённо)
+ 52 байт на строку в таблице
- 100000 ����� ������
- ----------------------- = 633 ������� � �� (�����̣���)
- 158 ����� � ������� �� ��������
+ 100000 строк данных
+ ----------------------- = 633 страниц в БД (округлённо)
+ 158 строк в таблице на страницу
- 633 ������� �� * 8192 ���� �� �������� = 5,185,536 ���� (5.2 MB)
+ 633 страниц БД * 8192 байт на страницу = 5,185,536 байт (5.2 MB)
</PRE>
- <P>������� �� ������� ��� �����, �� ��������� ��� ��������� ���
- �������� ���������� ������, ��� ����� ����� ���� ������.</P>
+ <P>Индексы не требуют так много, но поскольку они создаются для
+ большого количества данных, они также могут быть велики.</P>
- <P>�������� <small>NULL</small> �������� ��� ������� ����� � ������� ���
- �������� ����� ���� �����.
+ <P>Значения <small>NULL</small> хранятся как битовые карты и поэтому они
+ занимают очень мало места.
</P>
- <H3><A name="item4.6">4.6</A>) ������ ��� ������� �������� �������? ������
- ��� �� ���������� ��� �������?</H3>
+ <H3><A name="item4.6">4.6</A>) Почему мои запросы работают медлено? Почему
+ они не используют мои индексы?</H3>
- <P>������� �� ������������ ��� ������� �������. ���
- ������������ ������ ���� ������� ������ ������������ ������� � ������
- �������� ������ ��������� ������� ����� � �������. ��� ��������,
- ������ ��� ������ � ����� � ����������� ������������ ��� ������������
- �������� ����� ���� ���������, ��� ������� ������ ������� ��� ��
- ���������������� ������������.</P>
+ <P>Индексы не используются для каждого запроса. Они
+ используются только если таблица больше минимального размера и запрос
+ выбирает только маленький процент строк в таблице. Так устроено,
+ потому что доступ к диску с применением рандомизации при сканировании
+ индексов может быть медленнее, чем простое чтение таблицы или ее
+ последовательное сканирование.</P>
- <P>����� ���������� ������������� ������������� ������� ��� �����-����
- �������, PostgreSQL ������ ����� ���������� �� ���� �������. ���
- ���������� ���������� ��� ������������� <SMALL>VACUUM ANALYZE</SMALL>
- ��� ������ <SMALL>ANALYZE</SMALL>. ��������� ����������, �����������
- ������ � ��� ��� ����� ����� � ������� � ���� �� ������ ������������
- �������, �� �� ����� ��������� ������ �������. ���������� �����
- ������ �� ����������� ������������ ������� ���������� � ������ ����������.
- ��� ��������� ����������� ������� ������ ������������ ����������
- ���� ����������.</P>
+ <P>Чтобы определить необходимость использования индекса для какой-либо
+ таблицы, PostgreSQL должен иметь статистику по этой таблице. Эта
+ статистика собирается при использовании <SMALL>VACUUM ANALYZE</SMALL>
+ или просто <SMALL>ANALYZE</SMALL>. Используя статистику, оптимизатор
+ узнает о том как много строк в таблице и если он должен использовать
+ индексы, то он может принимать лучшие решения. Статистика также
+ влияет на определение оптимального порядка связывания и метода связывания.
+ При изменении содержимого таблицы должен периодически выполнятся
+ сбор статистики.</P>
- <P>������ ������� �� ������������ ��� <SMALL>ORDER BY</SMALL> ��� ���
- ���������� ����������. ���������������� ������� ��������� �� �����
- ����������� ������ �������, ��� ����� �� �������� � ������� �������.
- ������, <SMALL>ORDER BY</SMALL> ����� ������������� � <SMALL>LIMIT</SMALL>
- � � ���� ������ ������ ����� ��������������, ��������� ��� ����������
- ����� ������������ ��������� ����� �������.</P>
-
- <P>���� ��� �������, ��� ����������� ����������� �������� ����������������
- �������, ����������� <CODE>SET enable_seqscan TO 'off'</CODE> �
- ��������� ������ �����, ����� �������, ������������� �� ������������
- �������� �������.
+ <P>Обычно индексы не используются для <SMALL>ORDER BY</SMALL> или для
+ выполнения связываний. Последовательный перебор следующий за явной
+ сортировкой обычно быстрее, чем поиск по индексам в большой таблице.
+ Однако, <SMALL>ORDER BY</SMALL> часто комбинируется с <SMALL>LIMIT</SMALL>
+ и в этом случае индекс будет использоваться, поскольку при выполнении
+ будет возвращаться небольшая часть таблицы.</P>
+
+ <P>Если вам кажется, что оптимизатор некорректно выбирает последовательный
+ перебор, используйте <CODE>SET enable_seqscan TO 'off'</CODE> и
+ запустите запрос снова, чтобы увидеть, действительно ли сканирование
+ индексов быстрее.
</P>
- <P>����� ������������ �������� � ���������, �������� <SMALL>LIKE</SMALL>
- ��� <I>~</I>, ������� ����� ���� ������������ � ��������� �������:</P>
+ <P>Когда используются операции с шаблонами, например <SMALL>LIKE</SMALL>
+ или <I>~</I>, индексы могут быть использованы в следующих случаях:</P>
<UL>
- <LI>������ ������ ������ ������ ��������� � ������� ������� ������, �.�.:
+ <LI>Начало строки поиска должно совпадать с началом искомой строки, т.е.:
<UL>
- <LI><small>LIKE</small> ������� �� ������ ���������� � <i>%.</i>.</LI>
- <LI><i>~</i> ������� ���������� ��������� ������ ���������� �� <i>^</i>.</LI>
+ <LI><small>LIKE</small> шаблоны не должны начинаться с <i>%.</i>.</LI>
+ <LI><i>~</i> шаблоны регулярных выражений должна начинаться на <i>^</i>.</LI>
</UL></LI>
- <LI>������ ������ �� ������ ���������� � ������� ������, �.�. [a-e].</LI>
- <LI>����� ����������� �� ��������, ����� ��� <small>ILIKE</small> �
- <i>~*</i> �� ���������� �������. ������ ����, ����������� �������
- ���������, ������� ����������� � ������ <A href="#item4.8">4.8</A>.</LI>
- <LI>�� ����� <i>initdb</i> ������ �������������� ������ �� ���������
- <i>C</i>, ������ ��� �� ���������� ����������� ������ ��������� ����������
- ������ ��� ��-C ������. �� ������ ��� ����� ������� ������� �����������
- ������ <CODE>text_pattern_ops</CODE> ������� �������� ������ ���
- <SMALL>LIKE</SMALL> ��������������. ��� ������ ���� ����� �����
- ������������ �������������� ������.</LI>
+ <LI>Строка поиска не должна начинаться с символа класса, т.е. [a-e].</LI>
+ <LI>Поиск независимый от регистра, такой как <small>ILIKE</small> и
+ <i>~*</i> не использует индексы. Вместо него, используйте индексы
+ выражений, которые описываются в секции <A href="#item4.8">4.8</A>.</LI>
+ <LI>Во время <i>initdb</i> должна использоваться локаль по умолчанию
+ <i>C</i>, потому что не существует возможности узнать следующий наибольший
+ символ для не-C локали. Вы можете для таких случаев создать специальный
+ индекс <CODE>text_pattern_ops</CODE> который работает только для
+ <SMALL>LIKE</SMALL> индексирования. Для поиска слов также можно
+ использовать полнотекстовый индекс.</LI>
</UL>
- <H3><A name="item4.7">4.7</A>) ��� ���������� �� ��, ��� ����������� ���������
- ��� ������?</H3>
+ <H3><A name="item4.7">4.7</A>) Как посмотреть на то, как оптимизатор выполняет
+ мой запрос?</H3>
- <P>�������� �������� ����������� ����������� <SMALL>EXPLAIN</SMALL>.</P>
+ <P>Смотрите страницу руководства посвященную <SMALL>EXPLAIN</SMALL>.</P>
- <H3><A name="item4.8">4.8</A>) ��� ��� ��������� ����� ����������� ���������
- � ����� ����������� �� �������� ���� ����� ����������� ���������?
- ��� ��� ������������ ������ ��� ������ ������������ �� �������� ����?</H3>
+ <H3><A name="item4.8">4.8</A>) Как мне выполнить поиск регулярного выражения
+ и поиск независимый от регистра букв поиск регулярного выражения?
+ Как мне использовать индекс для поиска независимого от регистра букв?</H3>
- <P>�������� <I>~</I> ���������� ����� ����������� ���������, � ��������
- <I>~*</I> ���������� ����������� �� �������� ���� ����� �����������
- ���������. ����������� �� �������� ������� <SMALL>LIKE</SMALL> ����������
+ <P>Оператор <I>~</I> производит поиск регулярного выражения, а оператор
+ <I>~*</I> производит независимый от регистра букв поиск регулярного
+ выражения. Независимый от регистра вариант <SMALL>LIKE</SMALL> называется
<SMALL>ILIKE</SMALL>.</P>
- <P>����������� �� �������� ��������� ������ ���������� ���:</P>
+ <P>Независимое от регистра сравнение обычно выражается так:</P>
<PRE>
SELECT *
FROM tab
WHERE lower(col) = 'abc';
</PRE>
- ��� ����������� �� ����� ������������ ����������� ������. ������, ����
- �� ��������� ������ ���������, �� ����� �����������:
+ Эта конструкция не будет использовать стандартный индекс. Однако, если
+ вы создадите индекс выражения, он будет использован:
<PRE>
CREATE INDEX tabindex ON tab (lower(col));
</PRE>
- <P>���� ������������� ������ ��������� ��� <SMALL>UNIQUE</SMALL>, ��
- �������, ��� ������� �� ��������� ����� ������� ������� � � �������,
- � � ������ ��������, ����� �� ����� ����� ���������� ��������, �������
- ���������� ������ ���������. ����� � ������� ����� ���� ������� �������
- ������ � ������̣���� ��������, ����������� �����������
- <SMALL>CHECK</SMALL> ��� �������� ����� �������.</P>
-
- <H3><A name="item4.9">4.9</A>) ��� ��� ����������, ��� �������� ���� � �����-����
- ������� ����� <SMALL>NULL</SMALL>? ��� ��� ��������� ���������
- <SMALL>NULL</SMALL>? ���� � ����������� ���� <SMALL>NULL</SMALL> ��� ���?</H3>
-
- <P>�� ������ ����������� �������� � <SMALL>IS NULL</SMALL> �
- <SMALL>IS NOT NULL</SMALL>, ��� �����:</P>
+ <P>Если вышеуказанный индекс создаётся как <SMALL>UNIQUE</SMALL>, то
+ колонка, для которой он создаётся может хранить символы и в верхнем,
+ и в нижнем регистре, индес не может иметь идентичных значений, которые
+ отличаются только регистром. Чтобы в колонке можно было хранить символы
+ только в определённом регистре, используйте ограничение
+ <SMALL>CHECK</SMALL> или проверку через триггер.</P>
+
+ <H3><A name="item4.9">4.9</A>) Как мне определить, что значение поля в каком-либо
+ запросе равно <SMALL>NULL</SMALL>? Как мне соединить возможные
+ <SMALL>NULL</SMALL>? Могу я сортировать поля <SMALL>NULL</SMALL> или нет?</H3>
+
+ <P>Вы просто сравниваете значение с <SMALL>IS NULL</SMALL> и
+ <SMALL>IS NOT NULL</SMALL>, как здесь:</P>
<PRE>
SELECT *
FROM tab
WHERE col IS NULL;
</PRE>
- <P>����� ��������� � ���������� ���������� <SMALL>NULL</SMALL>, �����������
- <I>COALESCE()</I> ��� �����:</P>
+ <P>Чтобы соединить с возможными значениями <SMALL>NULL</SMALL>, используйте
+ <I>COALESCE()</I> как здесь:</P>
<PRE>
SELECT COALESCE(col1, '') || COALESCE(col2, '')
FROM tab
</PRE>
- <P>����� ������������� ������ �� �������� <NULL> ����������� ������������
- <SMALL>IS NULL</SMALL> � <SMALL>IS NOT NULL</SMALL> � ���������
- <SMALL>ORDER BY</SMALL>. ����� ��� ����� ������������ ��������
- <I>������</I>, �� ��� ���������� ��� ����� ����, ��� ��������
- <I>����</I>, ��� ��� ������ � NULL ����� � ��������������� ������ ������:</P>
+ <P>Чтобы отсортировать данные по значению <NULL> используйте модификаторы
+ <SMALL>IS NULL</SMALL> и <SMALL>IS NOT NULL</SMALL> в выражении
+ <SMALL>ORDER BY</SMALL>. Когда они будут генерировать значения
+ <I>истина</I>, то при сортировке они будут выше, чем значения
+ <I>ложь</I>, так что записи с NULL будут в отсортированном списке сверху:</P>
<PRE>
SELECT *
@@ -919,70 +919,70 @@
ORDER BY (col IS NOT NULL);
</PRE>
- <H3><A name="item4.10">4.10</A>) ������ ������� ����� ������� �����������
- ������?</H3>
+ <H3><A name="item4.10">4.10</A>) Каковы отличия между разными символьными
+ типами?</H3>
<BLOCKQUOTE>
<TABLE>
<TR>
- <TH>���</TH>
- <TH>���������� ���</TH>
- <TH>���������</TH>
+ <TH>Тип</TH>
+ <TH>Внутреннее имя</TH>
+ <TH>Замечания</TH>
</TR>
<TR>
<TD>VARCHAR(n)</TD>
<TD>varchar</TD>
- <TD>������ ������ ������������ �����, ��� ����������</TD>
+ <TD>размер задает максимальную длину, нет заполнения</TD>
</TR>
<TR>
<TD>CHAR(n)</TD>
<TD>bpchar</TD>
- <TD>����������� �������� �� ������������� �����</TD>
+ <TD>заполняется пустотой до фиксированной длины</TD>
</TR>
<TR>
<TD>TEXT</TD>
<TD>text</TD>
- <TD>��� ����������� �������� ����������� ��� �����</TD>
+ <TD>нет задаваемого верхнего ограничения или длины</TD>
</TR>
<TR>
<TD>BYTEA</TD>
<TD>bytea</TD>
- <TD>������ ���� ���������� ����� (����� ������������ null-���� ��� ������)</TD>
+ <TD>массив байт переменной длины (можно использовать null-байт без опаски)</TD>
</TR>
<TR>
<TD>"char"</TD>
<TD>char</TD>
- <TD>���� ������</TD>
+ <TD>один символ</TD>
</TR>
</TABLE>
</BLOCKQUOTE>
- <P>���������� ��� �� ������ �������, ����� �������� ��������� ��������
- � � ��������� ���������� �� �������.</P>
-
- <P>������ ������ ���� �������� "varlena" ������ (�.�., ������
- ������ ����� �� ����� �������� �������, �� ������� ������� ������).
- ����� �������, ���������� ������������ ������������ ������, ���
- ������������ ������. ������, ������� �������� ����� ���������,
- ��� ��� ���������� �������� ������������ ����� ����� ���� � ������,
- ��� ���������.</P>
-
- <SMALL>VARCHAR(n)</SMALL> - ��� ������ �������, ����� ����� �������
- ������ ���������� �����, �� ����������� ������������� �������.
- <SMALL>TEXT</SMALL> - ��� ������ ������� ��� ����� �������������� �����,
- � ����������� ���������� ������ � 1 ��������.
- <P><SMALL>CHAR(n)</SMALL> - ��� ������ ������� ��� �������� �����, �������
- ������ ����� ���������� �����. <SMALL>CHAR(n)</SMALL> �����������
- �������� �� �������� �����, � �� ����� ��� <SMALL>VARCHAR(n)</SMALL>
- ������ ������ �������, �� ������� ������� ������.
- <SMALL>BYTEA</SMALL> ������������ ��� �������� �������� ������, ��������
- ������� ����� �������� <SMALL>NULL</SMALL> �����. ��� ���� ���������
- �����, ����� ������� �������������� ������������������.</P>
-
- <H3><A name="item4.11.1">4.11.1</A>) ��� ��� ������� ����
- serial/�-����-�����������?</H3>
-
- <P>PostgreSQL ������������ ��� ������ <SMALL>SERIAL</SMALL>. ��
- ������������� ������� ������������������. ��������:</P>
+ <P>Внутреннее имя вы можете увидеть, когда смотрите системные каталоги
+ и в некоторых сообщениях об ошибках.</P>
+
+ <P>Первые четыре типа являются "varlena" типами (т.е., первые
+ четыре байта на диске являются длинной, за которой следуют данные).
+ Таким образом, фактически используемое пространство больше, чем
+ обозначенный размер. Однако, длинные значения также сжимаются,
+ так что занимаемое дисковое пространство может также быть и меньше,
+ чем ожидалось.</P>
+
+ <SMALL>VARCHAR(n)</SMALL> - это лучшее решение, когда нужно хранить
+ строки переменной длины, не превышающие определенного размера.
+ <SMALL>TEXT</SMALL> - это лучшее решение для строк неограниченной длины,
+ с максимально допустимой длиной в 1 гигабайт.
+ <P><SMALL>CHAR(n)</SMALL> - это лучшее решение для хранения строк, которые
+ обычно имеют одинаковую длину. <SMALL>CHAR(n)</SMALL> заполняется
+ пустотой до заданной длины, в то время как <SMALL>VARCHAR(n)</SMALL>
+ хранит только символы, из которых состоит строка.
+ <SMALL>BYTEA</SMALL> используется для хранения бинарных данных, значения
+ которых могут включать <SMALL>NULL</SMALL> байты. Все типы описанные
+ здесь, имеют сходные характеристики производительности.</P>
+
+ <H3><A name="item4.11.1">4.11.1</A>) Как мне создать поле
+ serial/с-авто-увеличением?</H3>
+
+ <P>PostgreSQL поддерживает тип данных <SMALL>SERIAL</SMALL>. Он
+ автоматически создает последовательность. Например:</P>
<PRE>
CREATE TABLE person (
id SERIAL,
@@ -990,7 +990,7 @@
);
</PRE>
- ������������� ������������� �:
+ автоматически транслируется в:
<PRE>
CREATE SEQUENCE person_id_seq;
CREATE TABLE person (
@@ -999,198 +999,198 @@
);
</PRE>
- <P>������������� ��������� ������������������ ����� ��� ����
- &lt;<I>�������</I>&gt;_&lt;<I>�������_serial</I>&gt;_<I>seq</I>, ���
- <I>�������</I> � <I>�������_serial</I> - ��� �������������� �����
- ������� � ������� � ����� <SMALL>SERIAL</SMALL>.
- �������� ����������� � ������������������� �� �������� �����������
- ����������� <I>create_sequence</I>.</P>
+ <P>Автоматически созданная последовательность имеет имя вида
+ &lt;<I>таблица</I>&gt;_&lt;<I>колонка_serial</I>&gt;_<I>seq</I>, где
+ <I>таблица</I> и <I>колонка_serial</I> - это соответственно имена
+ таблицы и колонки с типом <SMALL>SERIAL</SMALL>.
+ Смотрите подробности о последовательностях на странице руководства
+ посвященной <I>create_sequence</I>.</P>
- <H3><A name="item4.11.2">4.11.2</A>) ��� ��� �������� �������� ��� �������
+ <H3><A name="item4.11.2">4.11.2</A>) Как мне получить значение при вставке
<SMALL>SERIAL</SMALL>?</H3>
- <P>���������� ������ �������� ����������� �������� <SMALL>SERIAL</SMALL>
- ��� ������������ <SMALL>RETURNING</SMALL>. ��������� ��� ������� ������� � <A
- href="#item4.11.1">4.11.1</A>, ��� ����� ��������� ���:</P>
+ <P>Простейший способ получить назначенное значение <SMALL>SERIAL</SMALL>
+ это использовать <SMALL>RETURNING</SMALL>. Используя для примера таблицу в <A
+ href="#item4.11.1">4.11.1</A>, это может выглядеть так:</P>
<PRE>
INSERT INTO person (name) VALUES ('Blaise Pascal') RETURNING id;
</PRE>
- �� ����� ������ ������� <I>nextval()</I> � ������������ ��� �������� �
- <SMALL>INSERT</SMALL> ��� ������� <I>currval()</I> <I>�����</I>
+ Вы также можете вызвать <I>nextval()</I> и использовать это значение в
+ <SMALL>INSERT</SMALL> или вызвать <I>currval()</I> <I>после</I>
<SMALL>INSERT</SMALL>.
- <H3><A name="item4.11.3">4.11.3</A>) �� ����� �� ���������� ���, ���
- ������������� <I>currval()</I> � <I>nextval()</I> �������� �
- �������������� � ������� ��������������?</H3>
+ <H3><A name="item4.11.3">4.11.3</A>) Не может ли получиться так, что
+ использование <I>currval()</I> и <I>nextval()</I> приведет к
+ зациклированию с другими пользователями?</H3>
- <P>���. <i>currval()</i> ���������� ������� ��������, ����������� �����
- �������, � �� ������� ��������.</P>
+ <P>Нет. <i>currval()</i> возвращает текущее значение, назначенное вашей
+ сессией, а не другими сессиями.</P>
- <H3><A name="item4.11.4">4.11.4</A>) ������ ����� �� ���� ������������������
- �� ������������ ����� ��� ������ ����������? ������ ��������� �������
- ��� ��������� � �������, ��� � ��������� ������������������/SERIAL?</H3>
+ <H3><A name="item4.11.4">4.11.4</A>) Почему числа из моей последовательности
+ не используются снова при отмене транзакции? Почему создаются разрывы
+ при нумерации в колонке, где я использую последовательность/SERIAL?</H3>
- <P>��� ���������� �������������, �������� �������������������, ���
- ������������� �������� �� ����� ������� ���������� � �� �����������
- �� ������� ���������� ����������. ��� ����� �������� ������� �
- ��������� ��� ������ ����������.</P>
+ <P>Для реализации конкуретности, значения последовательностей, при
+ необходимости выдаются во время запуска транзакций и не блокируются
+ до полного выполнения транзакций. Это может вызывать разрывы в
+ нумерации при отмене транзакций.</P>
- <H3><A name="item4.12">4.12</A>) ��� ����� <SMALL>OID</SMALL>? ��� �����
+ <H3><A name="item4.12">4.12</A>) Что такое <SMALL>OID</SMALL>? Что такое
<SMALL>CTID</SMALL>?</H3>
- <P>���� ������� ������� � <SMALL>WITH OIDS</SMALL>, �� ������ ������
- �������� ���������� �������������� <SMALL>OID</SMALL>.
- O<SMALL>ID</SMALL> - ��� ������������� ����������� ���������� 4-�
- �������� ����� �����, ������� ��������� ��� ���� ������������� ����.
- ������, ����� ���� ��� ��� �������� �������� 4 ���������, ��������
- O<SMALL>ID</SMALL> �������� �������������. PostgreSQL ����������
- <SMALL>OID</SMALL> ��� ���������� ����� ���������� ������.</P>
-
- <P>��� ����������� �������� � ������� ������� ������������, ������
- �������� �������� ������������� <SMALL>SERIAL</SMALL> ������
- O<SMALL>ID</SMALL>, ������ ��� ������������������ <SMALL>SERIAL</SMALL>
- ��������� ������ ������ ������� � ����� ������� ������ ����������
- ������������. ��� �������� �������� 8-�� ������� ������������������
- �������� ��� <SMALL>SERIAL8</SMALL>.
-
- <P>C<SMALL>TID</SMALL> ������������ ��� ������������� �����������
- ���������� ������� � �������� � offset ����������. C<SMALL>TID</SMALL>
- ���������� ����� ���� ��� ������ � ������� ���� �������� ��� �����������.
- <P>T<SMALL>ID</SMALL> ������������ ���������� �������� � ��������
- ��������� �� ���������� ������.</P>
-
-
- <H3><A name="item4.13">4.13</A>) ������ � ������� ������ <I>"ERROR: Memory
+ <P>Если таблица создана с <SMALL>WITH OIDS</SMALL>, то каждая строка
+ получает уникальный индентификатор <SMALL>OID</SMALL>.
+ O<SMALL>ID</SMALL> - это автоматически назначаемое уникальное 4-х
+ байтовое целое число, которое уникально для всей установленной СУБД.
+ Однако, после того как его значение превысит 4 миллиарда, значения
+ O<SMALL>ID</SMALL> начинают дублироваться. PostgreSQL использует
+ <SMALL>OID</SMALL> для связывания своих внутренних таблиц.</P>
+
+ <P>Для уникального значения в строках таблицы пользователя, лучшим
+ способом является использование <SMALL>SERIAL</SMALL> вместо
+ O<SMALL>ID</SMALL>, потому что последовательности <SMALL>SERIAL</SMALL>
+ уникальны только внутри таблицы и таким образом меньше подвержены
+ переполнению. Для хранения значений 8-ми байтной последовательности
+ доступен тип <SMALL>SERIAL8</SMALL>.
+
+ <P>C<SMALL>TID</SMALL> используется для идентификации специальных
+ физических записей с блочными и offset значениями. C<SMALL>TID</SMALL>
+ изменяется после того как строки в таблице были изменены или перегружены.
+ <P>T<SMALL>ID</SMALL> используется индексными записями в качестве
+ указателя на физические записи.</P>
+
+
+ <H3><A name="item4.13">4.13</A>) Почему я получаю ошибку <I>"ERROR: Memory
exhausted in AllocSetAlloc()"</I>?</H3>
- <P>���������������� � ��� ����������� ����������� ������
- ��� ��� ���� ���� ����� ��������� ����� �� ������������ �������.
- ����������� ����� �������� ������� �� ��������� ���������
- �������:</P>
+ <P>Предположительно у вас закончилась виртуальная память
+ или что ваше ядро имеет маленький лимит на определенные ресурсы.
+ Попытайтесь перед запуском сервера БД выполнить следующие
+ команды:</P>
<PRE>
ulimit -d 262144
limit datasize 256m
</PRE>
- � ����������� �� ���������� �������������� shell, ������ ���� �� ������
- ������ ���������� �������, �� ��� �������� ��� ���������� �������
- ������� ������ �������� � �������� ����� ��������. ��� �������
- �������� ��������� �������� �������� � ���� ��� ��������, ���������
- ����� ţ �������. ���� � ��� �������� �������� � <SMALL>SQL</SMALL>
- ��������, ������ ��� backend ���������� ������� ������� ����� ������,
- ����������� ��������� ��� ������� ����� �������� �������.
+ В зависимости от командного интерпретатора shell, только одна из данных
+ команд выполнится успешно, но она позволит вам установить больший
+ сегмент данных процесса и возможно решит проблему. Эта команда
+ изменяет параметры текущего процесса и всех его потомков, созданных
+ после её запуска. Если у вас возникла проблема с <SMALL>SQL</SMALL>
+ клиентом, потому что backend возвращает слишком большой объем данных,
+ попытайтесь выполнить эту команду перед запуском клиента.
- <H3><A name="item4.14">4.14</A>) ��� ��� ������, ����� ������ PostgreSQL
- ��������?</H3>
+ <H3><A name="item4.14">4.14</A>) Как мне узнать, какая версия PostgreSQL
+ запущена?</H3>
- <P>�� <I>psql</I>, �������� <CODE>SELECT version();</CODE></P>
+ <P>Из <I>psql</I>, наберите <CODE>SELECT version();</CODE></P>
- <H3><A name="item4.15">4.15</A>) ��� ��� ������� ������� ������� �� ���������
- ����� ��������� ������� �����?</H3>
+ <H3><A name="item4.15">4.15</A>) Как мне создать колонку которая по умолчанию
+ будет содержать текущее время?</H3>
- <P>����������� <I>CURRENT_TIMESTAMP</I>:</P>
+ <P>Используйте <I>CURRENT_TIMESTAMP</I>:</P>
<PRE>
CREATE TABLE test (x int, modtime TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
</PRE>
- <H3><A name="item4.16">4.16</A>) ��� ��� ��������� ������� ����������?</H3>
+ <H3><A name="item4.16">4.16</A>) Как мне выполнить внешнее связывание?</H3>
- <P>PostgreSQL ������������ ������� ����������,
- ��������� ����������� ��������� SQL. ��� ��� �������:</P>
+ <P>PostgreSQL поддерживает внешнее связывание,
+ используя стандартный синтаксис SQL. Вот два примера:</P>
<PRE>
SELECT *
FROM t1 LEFT OUTER JOIN t2 ON (t1.col = t2.col);
</PRE>
- ���
+ или
<PRE>
SELECT *
FROM t1 LEFT OUTER JOIN t2 USING (col);
</PRE>
- <P>��� ���������� ������� ���������� t1.col � t2.col, ����� ����������
- ����� ����������� ������ � t1 (������� �� ��������� � t2).
- <SMALL>RIGHT</SMALL> ���������� ������ �������� ����������� ������
- t2. <SMALL>FULL</SMALL> ���������� ������ ���������� ���������
- ������ ���� ��� ����������� ������ �� t1 � t2. ����� <SMALL>OUTER</SMALL>
- �������� �������������� � ����������� � <SMALL>LEFT</SMALL>,
- <SMALL>RIGHT</SMALL> � <SMALL>FULL</SMALL> �����������. �������
- ���������� ���������� <SMALL>INNER</SMALL> ����������.</P>
+ <P>Это идентичные запросы связывания t1.col и t2.col, также возвращают
+ любые несвязанные строки в t1 (которые не совпадают с t2).
+ <SMALL>RIGHT</SMALL> связывание должно добавить несвязанные строки
+ t2. <SMALL>FULL</SMALL> связывание должно возвратить совпавшие
+ строки плюс все несвязанные строки из t1 и t2. Слово <SMALL>OUTER</SMALL>
+ является необязательным и назначается в <SMALL>LEFT</SMALL>,
+ <SMALL>RIGHT</SMALL> и <SMALL>FULL</SMALL> связываниях. Обычные
+ связывания называются <SMALL>INNER</SMALL> связывания.</P>
- <H3><A name="item4.17">4.17</A>) ��� ��������� �������, ������������ ���������
- ��� ������?</H3>
+ <H3><A name="item4.17">4.17</A>) Как выполнять запросы, использующие несколько
+ баз данных?</H3>
- <P>�� ���������� ������� ������� ������ � ����� ������ �������� �� �������.
- ��������� PostgreSQL ��������� ��������� �������� ����������� ��� ����
- ������, ��������� ����, ��� ������ ���� ����� ����� ���������� ������.</P>
+ <P>Не существует способа создать запрос к базам данных отличным от текущей.
+ Поскольку PostgreSQL загружает системные каталоги специфичные для базы
+ данных, непонятно даже, как должен себя вести такой межбазовый запрос.</P>
- <P><I>contrib/dblink</I> ��������� ������� ����� ������, ���������
- ������ �������. ����������, ������ ����� ������������ ����� �������������
- ����������� � ���������� ������ ������ � ����� ������� ����������
- ���������� �� ���.</P>
+ <P><I>contrib/dblink</I> позволяет запросы между базами, используя
+ вызовы функций. Разумеется, клиент может одновременно также устанавливать
+ соедиенения с различными базами данных и таких образом объединять
+ информацию из них.</P>
- <H3><A name="item4.18">4.18</A>) ��� ��� ������� �� ������� ��������� ����� �������?</H3>
+ <H3><A name="item4.18">4.18</A>) Как мне вернуть из функции несколько строк таблицы?</H3>
- <P>�� ������ ����� ������������ �������, ������������ ������,
+ <P>Вы можете легко использовать функции, возвращающие список,
<a href="http://wiki.postgresql.org/wiki/Return_more_than_one_row_of_data_from_PL/pgSQL_functions">
http://wiki.postgresql.org/wiki/Return_more_than_one_row_of_data_from_PL/pgSQL_functions</a>.</P>
- <H3><A name="item4.19">4.19</A>) ������ � ������� ������ "relation with OID ####
- �� ����������", ����� ���������� � ��������� �������� � �������� PL/PgSQL?</H3>
+ <H3><A name="item4.19">4.19</A>) Почему я получаю ошибку "relation with OID ####
+ не существует", когда обращаютсь к временным таблицам в функциях PL/PgSQL?</H3>
- <P>� PostgreSQL �� ������ 8.3, PL/PgSQL �������� �������� ������� � ���� ��
- ���������� �������� ����� ������� � ���, ��� ���� ������� PL/PgSQL ����������
- � ��������� ������� � ��� ������� ������� ��������� � �������������, � �������
- ����� ���������� �����, �� �� ����� �������� � ������, ������ ��� �������������
- ���������� ������� �������� ��������� �� ������ ��������� �������. ����� ������
- ��� ��������, ����������� <SMALL>EXECUTE</SMALL> ��� ������� � ���������
- �������� � PL/PgSQL. ������������� ����� ��������� �������� ������
- ������������������ ������ ���.</P>
-
- <P>� PostgreSQL 8.3 � �������, ���� �������� ���.</p>
+ <P>В PostgreSQL до версии 8.3, PL/PgSQL кэширует сценарии функции и один из
+ негативных эффектов этого состоит в том, что если функция PL/PgSQL обращается
+ к временной таблице и эта таблица позднее удаляется и пересоздается, а функция
+ затем вызывается снова, то ее вызов приведет к ошибке, потому что скэшированное
+ содержимое функции содержит указатель на старую временную таблицу. Чтобы решить
+ эту проблему, используйте <SMALL>EXECUTE</SMALL> для доступа к временным
+ таблицам в PL/PgSQL. Использование этого оператора заставит запрос
+ перегенерироваться каждый раз.</P>
+
+ <P>В PostgreSQL 8.3 и позднее, этой проблемы нет.</p>
- <H3><A name="item4.20">4.20</a>) ����� ���� ������� ��� ����������?</H3>
+ <H3><A name="item4.20">4.20</a>) Какие есть решения для репликации?</H3>
- <P>���� "����������" -- ��� ������ ������, ���� ��������� ������ ����������
- ��� ���������� ���������� � ������� ������������� ��� ������.</P>
+ <P>Хотя "репликация" -- это единый термин, есть несколько разных технологий
+ для выполнения репликаций с разными особенностями для каждой.</P>
- <P>���������� Master/slave ��������� ����� ���� ������� (master) ������
- ��� ���������� �������� ������/������, � �� ����� ��� ���������
- (slave) ������� ����� ����������� ������ �������
- ������/<SMALL>SELECT</SMALL>. �������� ���������� �������� ��� ����������
- master-slave � PostgreSQL ��������
+ <P>Репликация Master/slave позволяет иметь один главный (master) сервер
+ для выполнения запросов чтения/записи, в то время как подчинённые
+ (slave) сервера могут производить только запросы
+ чтения/<SMALL>SELECT</SMALL>. Наиболее популярным решением для репликации
+ master-slave в PostgreSQL является
<A href="http://main.slony.info/">
Slony-I</A>.</P>
- <P>���������� Multi-master ��������� ��������� ������� ������/������
- �� ����������, ������������� ���� � ������ �����������. ��� �����������
- ����� �������� � ������ ������������������, ������ ��� ����������
- ������������� ��������� ����� ����������� ���������. ��������
- ���������� �������� ��� ����� ���������� � PostgreSQL ��������
+ <P>Репликация Multi-master позволяет выполнять запросы чтения/записи
+ на нескольких, реплицируемых друг с другом компьюетрах. Эта особенность
+ также приводит к потере производительности, потому что необходима
+ синхронизация изменений между несколькими серверами. Наиболее
+ популярным решением для такой репликации в PostgreSQL является
<A href="http://pgfoundry.org/projects/pgcluster/">PGcluster</A>.
- <H3><A name="item4.21">4.21</A>) ������ ����� ������� � ������� ��
- ������������ � � �ϣ� �������? ������ �� ����������� ��������� �����?</H3>
+ <H3><A name="item4.21">4.21</A>) Почему имена таблицы и колонок не
+ распознаются в в моём запросе? Почему не сохраняются заглавные буквы?</H3>
- <P>�������� ����� ����� �������������� ��-�� ������������� ������� ������� �
- ����� ������� ��� ������� ��� �������� �������. ��� ������������� �������
- �������, ��� ������� � ������� (������� �������� ����������������)
- ����������� � <A href="http://www.postgresql.org/docs/current/static/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS">
- ��������-��������� ����</A>; ��� ��������, ��� �� ������ ������������
- ������� �������, ����� ���������� ��� ����� � �������. ���������
- ����������, ����� ��� pgAdmin, �� ����� �������� ������� ���������
- ������� ������� �������������. ����� �������, ����� ��������������
- �������������� �� ������ ��������� ������ �� ��������� ������:
+ <P>Наиболее часто имена нераспознаются из-за использования двойных кавычек в
+ имени таблицы или колонки при создании таблицы. При использовании двойных
+ кавычек, имя таблицы и колонки (которые называют идентификаторами)
+ сохраняются в <A href="http://www.postgresql.org/docs/current/static/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS">
+ регистро-зависимом виде</A>; это означает, что вы должны использовать
+ двойные кавычки, когда указываете эти имена в запросе. Некоторые
+ интерфейсы, такие как pgAdmin, во время создания таблицы добавляют
+ двойные кавычки автоматически. Таким образом, чтобы идентификаторы
+ распознавались вы должны следовать одному из следующих правил:
<UL>
- <LI>�������� ������������� ������� ������� ��� �������� ������</LI>
- <LI>������������ � ��������������� ������ ������� ������� ��������</LI>
- <LI>������������ ������� ������� ��� ��������������� � ��������</LI>
+ <LI>Избегать использования двойных кавычек при создании таблиц</LI>
+ <LI>Использовать в идентификаторах только символы нижнего регистра</LI>
+ <LI>Использовать двойные кавычки для идентификаторов в запросах</LI>
</UL>
</BODY>