Открыть сервисСервис

PostgreSQL 6.5

PostgreSQL 6.5 — это версия объектно-реляционной системы управления базами данных (СУБД) PostgreSQL, выпущенная 9 июля 1999 года. Она стала одним из первых значительных релизов проекта после перехода от университетской исследовательской разработки к открытому сообществу, и закрепила переход от нумерации версий, начатой в Postgres95, к современной системе. Версия 6.5 считается важным этапом в истории PostgreSQL, так как она существенно расширила возможности для промышленного использования, включая поддержку многоверсионного управления параллельным доступом (MVCC) и улучшенную производительность.

История

Предпосылки создания

Проект PostgreSQL берёт начало от СУБД Postgres, разработанной в Калифорнийском университете в Беркли под руководством профессора Майкла Стоунбрейкера. В 1995 году проект был переименован в Postgres95, а в 1996 году — в PostgreSQL, чтобы отразить поддержку языка SQL. Версия 6.0, выпущенная в 1997 году, стала первой, распространяемой под лицензией, близкой к современной PostgreSQL License. Однако к 1998 году стало очевидно, что для конкуренции с коммерческими СУБД (например, Oracle, Informix) требуется фундаментальная переработка механизмов управления транзакциями и параллелизмом.

Разработка и выпуск

Разработка версии 6.5 велась в течение 1998–1999 годов под руководством ядра разработчиков, включая Брюса Момджанана, Тома Лейна и Вадима Михеева. Ключевым нововведением стала реализация многоверсионного управления параллельным доступом (MVCC), которая заменила устаревший механизм блокировок на основе чтения/записи. Это позволило значительно повысить производительность при одновременной работе множества пользователей. Релиз состоялся 9 июля 1999 года. В отличие от предыдущих версий, 6.5 получила более широкую поддержку со стороны сообщества, включая исправления ошибок от сторонних разработчиков.

Ключевые особенности

Многоверсионное управление параллельным доступом (MVCC)

Основным нововведением PostgreSQL 6.5 стала полноценная поддержка MVCC. В отличие от традиционных блокировок, MVCC позволяет читателям не блокировать писателей и наоборот. Каждая транзакция видит «снимок» данных на момент её начала, что исключает проблемы «грязного» чтения и неповторяющегося чтения. Это сделало PostgreSQL пригодным для высоконагруженных систем с большим количеством одновременных запросов.

Улучшенная производительность

В версии 6.5 была значительно оптимизирована работа с индексами и планами запросов. В частности:

  • Улучшен алгоритм объединения таблиц (hash join и merge join).
  • Оптимизировано выполнение подзапросов.
  • Увеличена скорость операций INSERT и UPDATE за счёт снижения накладных расходов на управление транзакциями.

Поддержка SQL

Версия 6.5 расширила соответствие стандарту SQL-92. Были добавлены:

  • Полноценная поддержка внешних ключей (FOREIGN KEY) с каскадными операциями.
  • Поддержка ограничений CHECK.
  • Тип данных INTERVAL для работы с временными интервалами.
  • Функции агрегации, такие как STDDEV и VARIANCE.

Инструменты администрирования

В состав дистрибутива PostgreSQL 6.5 входили утилиты:

Системные требования

PostgreSQL 6.5 поддерживала следующие операционные системы:

  • Unix-подобные системы: Linux, FreeBSD, Solaris, HP-UX, AIX, IRIX.
  • Windows (через эмуляцию Cygwin, официальная поддержка Windows отсутствовала).

Минимальные требования к оборудованию:

  • Процессор: 32-битный x86 или RISC.
  • Оперативная память: от 32 МБ (рекомендовалось 64 МБ и более).
  • Дисковое пространство: от 50 МБ для установки и хранения данных.

Применение

Научные и образовательные проекты

Благодаря бесплатной лицензии и открытому исходному коду, PostgreSQL 6.5 активно использовалась в университетах и научно-исследовательских институтах для хранения экспериментальных данных, ведения лабораторных журналов и обучения студентов.

Веб-приложения

В конце 1990-х годов PostgreSQL 6.5 стала популярной среди разработчиков веб-приложений, особенно в сочетании с языком Perl и веб-сервером Apache. Она использовалась для создания систем управления контентом (CMS), форумов и электронной коммерции.

Корпоративные системы

Несмотря на ограниченную по сравнению с коммерческими СУБД функциональность, PostgreSQL 6.5 применялась в небольших и средних предприятиях для автоматизации учёта, складского учёта и документооборота.

Ограничения и критика

Несмотря на прогресс, версия 6.5 имела ряд недостатков:

  • Отсутствие полноценной поддержки хранимых процедур на языках, отличных от SQL (например, PL/pgSQL появился только в версии 7.0).
  • Ограниченные возможности репликации и резервного копирования.
  • Отсутствие встроенной поддержки Unicode (UTF-8), что затрудняло интернационализацию.
  • Производительность при работе с очень большими таблицами (миллионы строк) оставалась ниже, чем у коммерческих аналогов.

Наследие

PostgreSQL 6.5 заложила основу для дальнейшего развития проекта. Внедрение MVCC стало стандартом для всех последующих версий. Уже в 2000 году вышла версия 7.0, которая добавила поддержку хранимых процедур и триггеров, а в 2005 году — версия 8.0, представившая нативную поддержку Windows. Сегодня PostgreSQL является одной из самых популярных СУБД в мире, используемой такими компаниями, как Apple, Red Hat и Instagram (принадлежит компании Meta, признанной экстремистской и запрещённой в РФ).

Интересные факты

  • Версия 6.5 была последней, в которой использовался номер версии с двумя цифрами (6.5). Начиная с версии 7.0, нумерация перешла на трёхзначную систему (7.0, 7.1, 7.2 и т.д.).
  • Исходный код PostgreSQL 6.5 состоял примерно из 200 000 строк на языке C.
  • В 1999 году проект PostgreSQL насчитывал около 10–15 активных разработчиков, в то время как сегодня в сообществе участвуют сотни людей.

Источники

  • PostgreSQL Global Development Group. «PostgreSQL 6.5 Release Notes». 1999.
  • Stonebraker, M. «The Design of Postgres». ACM SIGMOD Record, 1986.
  • Momjian, B. «PostgreSQL: Introduction and Concepts». Addison-Wesley, 2001.
  • Документация PostgreSQL 6.5 (архивная версия на сайте postgresql.org).