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 в системе и сгенерировать более реалистичную тестовую нагрузку;

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «PostgreSQL 9.0 перешел на этап бета-тестирования», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.