Что будет в PostgreSQL 8.2?

PostgreSQLВ рассылке разработчиков PostgreSQL pgsql-hackers разгорелась дискуссия о том, каких характеристик заслуживает предстоящий этой осенью выход новой версии ОРСУБД PostgreSQL, 8.2. Каким будет этот релиз? Прорыв или укрепление позиции? В ответ на прозвучавшие реплики, что предстоящий релиз будет содержать в себе скорее улучшения быстродействия и некоторые удобные, но не необходимые для большинства нововведения, Том Лэйн (Tom Lane) привёл предварительный список “Что нового?”, из которого следует, что можно ожидать появление нескольких совершенно новых “штучек”.

Вот его список:

  • <font face="Arial, Helvetica, sans-serif">multi-row VALUES, not only for INSERT but everywhere SELECT is allowed</font>
  • <font face="Arial, Helvetica, sans-serif">pg_dump multiple -n and -t options, regex patterns for object names</font>
  • <font face="Arial, Helvetica, sans-serif">multi-argument aggregates, including SQL2003-standard statistical aggregates</font>
  • <font face="Arial, Helvetica, sans-serif">fully configurable timezone abbreviations (no more 'australian_timezones' hack)</font>
  • <font face="Arial, Helvetica, sans-serif">allow full zic timezone names in datetime input values</font>
  • <font face="Arial, Helvetica, sans-serif">support comparisons like "if row(new.*) is distinct from row(old.*)"</font>
  • <font face="Arial, Helvetica, sans-serif">DROP ... IF EXISTS</font>
  • <font face="Arial, Helvetica, sans-serif">numerous tsearch2 improvements, eg thesaurus</font>
  • <font face="Arial, Helvetica, sans-serif">GIN index opclass</font>
  • <font face="Arial, Helvetica, sans-serif">GRANT CONNECT ON DATABASE</font>
  • <font face="Arial, Helvetica, sans-serif">support SSL Certificate Revocation List (CRL) files</font>
  • <font face="Arial, Helvetica, sans-serif">plpython supports named parameters, composite-type results, more result-set options</font>
  • <font face="Arial, Helvetica, sans-serif">plperl prepared queries</font>
  • <font face="Arial, Helvetica, sans-serif">domain constraint checks are now applied everywhere</font>
  • <font face="Arial, Helvetica, sans-serif">better psql multiline command handling</font>
  • <font face="Arial, Helvetica, sans-serif">error cursor position displayed for many parse-analysis errors</font>
  • <font face="Arial, Helvetica, sans-serif">standard_conforming_strings can be turned on (HUGE deal for some people)</font>
  • <font face="Arial, Helvetica, sans-serif">initdb and pg_ctl can safely start from an admin account on Windows</font>
  • <font face="Arial, Helvetica, sans-serif">display multiline values nicely in psql</font>
  • <font face="Arial, Helvetica, sans-serif">support SQL-compliant row comparisons; they can be indexscan quals</font>
  • <font face="Arial, Helvetica, sans-serif">DROP OWNED, REASSIGN OWNED for dealing with removal of a user</font>
  • <font face="Arial, Helvetica, sans-serif">null elements in arrays</font>

Здесь стоит прежде всего отметить GIN (см. описание и презентацию с саммита в Торонто) и возможность работы с многострочными командами в интерактивном терминале psql. Это – наши, российские продукты :-)

В этот список не вошли (а надежда, что ещё войдут, – есть!) ещё несколько интересных нововведений. И это в первую очередь поддержка bitmap index (которая, если не ошибаюсь, должна прийти из проекта Bizgres) и возможность создания представлений, поддерживающих операции обновления (без всяких там RULE). Последнее лично я с нетерпением давно жду :-)

Вообще, конечно, после “прорывных” 8.0 и 8.1 есть ощущение, что в 8.2 происходит “доводка до ума” новой функциональности. Например, возможность constraint exclusion для операций UPDATE/DELETE/INSERT делает поддержку раздельного хранения таблицы на нескольких дисках полноценной.

Я, конечно же, перечислил не все возможные нововведения. Интересующихся подробностями отсылаю к исходному сообщению Тома.