PostgreSQL 9.0 перешел на этап бета-тестирования
3 мая 2010 года
Вышла (Архивная копия от 25 октября 2011 на Wayback Machine) первая бета-версия СУБД PostgreSQL 9.0 (Архивная копия от 20 ноября 2011 на Wayback Machine), ознаменовавшая переход от наращивания функциональности к выявлению и исправлению ошибок. PostgreSQL 9.0 является первым релизом со встроенной системой бинарной репликации данных в режиме реального времени, позволяющей организовать горячее резервное копирование и потоковую репликацию.
Главные новшества PostgreSQL 9.0:
- Реализация режима "горячего резерва" (Hot Standby), при котором появилась возможность выполнения select запросов на запасном сервере, т.е. теперь можно штатными средствами организовать master-slave репликацию с практически нулевой дополнительной нагрузкой на сервер (с master сервера просто копируются WAL-логи, без каких-либо блокировок и дополнительного вызова триггеров). Ранее синхронизированный сервер был неактивен и мог только перехватить управление в случае сбоя основного сервера;
- Поддержка режима потоковой репликации ( Streaming Replication), суть которой в организации непрерывной передачи бинарных WAL-логов нескольким запасным серверам PostgreSQL;
- Поддержка 64-разрядной версии для платформы Windows;
- Замена pg_listener на новый работающий в памяти механизм Listen/Notify, ориентированный на высокопроизводительный обмен сообщениями и обслуживание очередей;
- Через оператор "DO" теперь можно выполнять код в SQL-выражении на процедурном языке в асинхронном режиме без создания отдельной функции;
- Возможность назначать триггеры для отдельных столбцов;
- По умолчанию теперь активируется встроенный язык PL/pgSQL. Переработан парсер PL/pgSQL. Разнообразные улучшения также добавлены в реализации PL/Perl и PL/Python, например, добавлена поддержка Python 3.
- Добавлены "контейнеры ограничений", представляющие собой обобщенный аналог UNIQUE и реализующие новые способы гарантии логической целостности данных в базе;
- Улучшена поддержка хранения в одном поле произвольного набора данных в формате ключ/значение;
- В оптимизаторе появились средства для автоматического удаления лишних JOIN-ов и оптимизиции для ORM-запросов.
- Автоматический возврат числа строк, фигурирующих в выполненном SELECT-запросе. В psql данное значение не отображается, но может быть получено с использованием программного интерфейса, подобного libpq.
- Поддержка функций ROWS PRECEDING и ROWS FOLLOWING в WINDOW-блоке SELECT-запроса, позволяющих сформировать кадр из заданного числа строк, относительно текущей позиции.
- Использование блока ORDER BY внутри агрегатных функций (например: array_agg(a ORDER BY b)), теперь не нужно прибегать к ухищрениям для получения упорядоченного набора записей на входе агрегатных функций;
- Добавлена возможность контроля доступа к большим объектам (large objects);
- В функции регулярных выражений добавлена поддержка независимых от регистра проверок и классификации символов, привязанной к текущей локализации, при использовании кодировки UTF8 на сервере;
- Для упрощения разграничения доступа реализованы конструкции "DEFAULT PRIVILEGES" и "GRANT ALL ON";
- Возможность задания флага DEFERRABLE для выражений с признаком UNIQUE;
- Возможность использования в функциях именованных параметров.
- Поддержка конструкции IF EXISTS в DROP COLUMN/CONSTRAINT;
- Возможность вывода результатов работы EXPLAIN в XML и JSON форматах;
- Новый шестнадцатиричный формат ввода и вывода для типа данных BYTEA
- Поддержка многопоточности в утилите pgbench, что позволяет задействовать все CPU в системе и сгенерировать более реалистичную тестовую нагрузку;
Источники
править- Главная ссылка к новости (http://www.postgresql.org/abou...) (Архивная копия от 25 октября 2011 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.