The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Вышла первая альфа-версия PostgreSQL 9.1

08.09.2010 10:51

Еще до момента выхода финального релиза PostgreSQL 9.0 представлена первая альфа версия следующей ветки - PostgreSQL 9.1, первый релиз которой ожидается в середине 2011 года.

Ключевые улучшения PostgreSQL 9.1alpha1:

  • Добавлена поддержка конструкции "CREATE TABLE IF NOT EXISTS", позволяющая создавать таблицу только если она еще не существует;
  • Для первичных ключей реализовано определение функциональной зависимости, что позволяет исключить в некоторых условиях столбцы с не первичными ключами из блоков "GROUP BY";
  • Сокращен уровень блокировок для "CREATE TRIGGER" и некоторых действий с "ALTER TABLE" и "CREATE RULE", что положительно сказывается на производительности;
  • Изменено значение по умолчанию для опции "standard_conforming_strings", которая теперь переведена в активное состояние, что значительно отражается на совместимости с прошлыми выпусками, так как опция блокирует выполнение некоторых операций со стоками, выполняемых небезопасным путем;
  • Добавлены новые параметры файла конфигурации: log_file_mode для задания прав доступа на лог-файл, и restart_after_crash для управления поведением сервера в случае краха;
  • Добавлена поддержка аутентификации сервера через доменные сокеты Unix (Unix-domain sockets);
  • В представления "pg_stat_*_tables" добавлены счетчики выполнения операций vacuum и analyze;
  • Добавлены новые функции для обработки XML-данных: xmlexists, xpath_exists, xml_is_well_formed;
  • Добавлены новые строковые функции: concat(), concat_ws(), left(), right() и reverse();
  • Увеличена компактность представления числовых типов;
  • В утилиты pg_dump и pg_dumpall добавлена опция "--quote-all-identifiers", включающая режим заключения в кавычки идентификаторов;
  • В командной оболочке psql расширены возможности команд "\e" и "\ef", в которых теперь допустимо указания номера строки и возможно перемещение курсора в режиме редактирования на указанную позицию. Для просмотра информации о текущих соединениях добавлена команда "\conninfo".

Во второй альфа-версии добавлены следующие новшества:

  • Поддержка установки триггеров на представления с целью обеспечения программируемых действий над операциями по вставке, обновлению и удалению данных (INSERT, UPDATE и DELETE);
  • Возможность модификации содержимого ENUM-полей (упорядоченный перечисляемый тип данных). Отныне можно добавлять новые значения в тип данных ENUM без пересоздания типа и обновления связанных таблиц;
  • Возможность использования выражения "WITH" с операциями INSERT, UPDATE, DELETE, что позволяет осуществить рекурсивное обновление столбцов или обновление по сложному критерию, ранее требовавшему написания встраиваемой процедуры;
  • Поддержка использования имен хостов вместо IP-адресов в файле pg_hba.conf;
  • Обновлены ISBN-таблицы в contrib/isn.

Из добавленных в третьей альфа-версии улучшений можно отметить:

  • Реализация KNN GiST, добавляющая в GiST поддержку алгоритма оптимального поиска ближайших соседей, что может быть использовано для организации поиска географических объектов;
  • Дополнительные возможности обслуживания и мониторинга, включая поддержку интроспекции контрольных точек (checkpoint introspection) и учет информации о последних изменениях WAL-лога (last-WAL-timestamp) в репликации;
  • Несколько новых встроенных функций: format(), pg_describe_object(), pg_read_binary_file(), которые в будущем будут поддерживать технологию подключения дополнений;
  • Новые функции в libpq: PQping(), PQlibVersion();
  • Поддержка генерации crash-дампов на платформе Windows;
  • Новый модуль auth_delay, позволяющий реализовать дополнительную задержку в случае некорректной аутентификации для защиты от атак по подбору паролей;
  • Отслеживание создания объектов, необходимое для реализации поддержки технологии обеспечения безопасности SEPostgres.

Из добавленных в PostgreSQL 9.1 Alpha 5 улучшений можно отметить:

  • Поддержка указания COLLATION-свойств для отдельных столбцов, доменов, индексов и выражений, что позволяет задать для разных столбцов свои правила хранения, сортировки и сравнения с учетом указанной локали. Например: CREATE TABLE test1 ( a text COLLATE "de_DE", b text COLLATE "ru_RU"...). Ранее COLLATION могли быть указаны только на уровне БД в целом.
  • Поддержка синхронной репликации, при которой запасной сервер (standby) будет содержать гарантированно совпадающие с основным сервером данные - до получения подтверждения записи синхронизированных данных транзакция не будет считаться завершенной. Ранее репликация на запасной сервер осуществлялась только в асинхронном режиме. Синхронную репликацию можно применять для отдельных транзакций, что позволяет комбинировать оба механизма, используя по умолчанию быстрый асинхронный механизм для обычных операций и надежный синхронный для наиболее критичных изменений;
  • Произведена переработка оптимизаций для агрегатных функций min/max;
  • Увеличены максимальные значения большинства настроек, связанных с установкой таймаутов;
  • Устранено более ста ошибок, в том числе исправлена утечка памяти при работе с массивами в PL/Python, решена проблема с эффектом гонки (race condition) в pg_basebackup, налажена обработка неизвестных литералов в запросах UNION, устранены проблемы связанные с делением на ноль, приведены в непротиворечивый вид права доступа для COMMENT ON ROLE.


  1. Главная ссылка к новости (http://www.postgresql.org/abou...)
  2. OpenNews: Уведомление о скором прекращении поддержки PostgreSQL 7.4 и 8.0
  3. OpenNews: PostgreSQL 9.0 перешел на этап бета-тестирования
  4. OpenNews: Вышла четвертая альфа-версия PostgreSQL 9.0
  5. OpenNews: Вышла третья альфа-версия PostgreSQL 8.5
  6. OpenNews: Новая политика поддержки релизов PostgreSQL
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/27889-postgresql
Ключевые слова: postgresql
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Devider (ok), 11:12, 08/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Сколько наблюдаю за ними, одно слово - молодцы, чуваки работают.
     
  • 1.2, qwer (??), 11:13, 08/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Добавлена поддержка конструкции "CREATE TABLE IF NOT EXISTS", позволяющая
    > создавать таблицу только если она еще не существует;

    Офигеть, я думал это давно уже есть. А раньше тогды как обходились?

     
     
  • 2.3, qwer (??), 11:16, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Добавлены новые строковые функции: concat(), concat_ws(), left(), right() и reverse();

    И этого оказывается не было. Так чем же тогда постгрес лучше мускула?

     
     
  • 3.4, Трухин_Юрий_Владимирович (ok), 11:25, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • –7 +/
    быстрее, более близок к Oracle
     
     
  • 4.7, аноним (?), 11:49, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >быстрее

    э-э-э. не правда.
    собственно мускуль тем и хорош, что быстрее. и меньше жрёт.
    >более близок к Oracle

    да не к ораклу (хотя и к нему тоже). просто версионник со всеми требованиями к ынтырпрайзу.
    в общем не плохой oltp получается из него.

     
     
  • 5.11, anonymous (??), 12:10, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >собственно мускуль тем и хорош, что быстрее. и меньше жрёт.

    он не быстрее, он тупее (если функция не поддерживается, то как ни меряй но деление на 0 дает бесконечность).

     
     
  • 6.12, аноним (?), 12:23, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    дело не в функциях. и не в делении. (о тупости даже и говорить не буду. оставлю сей жаргон троллям)
    а в оптимальном выборе - майисам дает выборку быстрее. иннодб даёт транзакционность. в одной бд можно держать таблицы и того, и другого типа.
    и жрет памяти и цпу он на порядок меньше (кто хостингом занимается, подтвердит).
    т.е. для хостинга (когда не много то и надо), для кассовых аппаратов и пр. - достаточно.
    а вот если нужно что-то на замену ораклу, мссиквелу, диби2, информиксу - слон адназначна.
     
     
  • 7.16, letsmac (ok), 17:09, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >для кассовых аппаратов и пр. - достаточно.

    Там по большей части FireBird сидит или Ms SQL. В них багов и настроек на порядок меньше.


     
     
     
    Часть нити удалена модератором

  • 9.23, letsmac (ok), 10:39, 09/09/2010 [ответить]  
  • +/
    Сервис, что, разраба поменял Старый вроде любил как раз птицу Да и не только о... текст свёрнут, показать
     
     
  • 10.24, аноним (?), 12:41, 09/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    укм4 уже годов 6-7 как старый вообще досовский ... текст свёрнут, показать
     
  • 10.26, Аноним (-), 17:59, 09/09/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты забыл добавить у нас в Мухосранске Данные уже не гробит Бакапы _рабоч... текст свёрнут, показать
     
  • 7.20, аноним (?), 18:01, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >и жрет памяти и цпу он на порядок меньше (кто хостингом занимается,
    >подтвердит)

    Я занимаюсь - ничего подобного.

     
     
  • 8.21, аноним (?), 20:34, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ставишь постгри нука-нука мне как раз хостинг нужен расценки, пароли, явки ... текст свёрнут, показать
     
  • 5.15, letsmac (ok), 17:07, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >собственно мускуль тем и хорош, что быстрее. и меньше жрёт.

    Да лан. Мускуль уходит в себя на любом сколько-нибудь сложном запросе и сколько-нибудь большой нагрузке. Недобаза была, есть и всегда будет недобазой.

     
     
  • 6.18, аноним (?), 17:45, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • +5 +/
    да лан. мускуль уходит в себя на любом сколько-нибудь сложном запросе только у соответствующего админа.
     
  • 6.22, sHaggY_caT (ok), 23:26, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Да лан. Мускуль уходит в себя на любом сколько-нибудь сложном запросе и сколько-нибудь >большой нагрузке. Недобаза была, есть и всегда будет недобазой.

    Какие такие сложные запросы на _хостинге_? Вообще-то, на шареде отрубают _всех_, кто позволяет себе слишком часто мелькать в slow queries :)

    Что касается быстроты и легковесности MyISAM (при достаточно большом фунционале, в отличае от того же sqlite), подтвержу: так же очень рулит на легких VPS (до 512Mb несвапируемой ОЗУ) под один сайт средней посещаемости (или с большими требованиями по изоляции от соседей по железке)

     
  • 5.25, Ян Злобин (ok), 17:23, 09/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >собственно мускуль тем и хорош, что быстрее. и меньше жрёт.

    Неправда.  Мускуль быстрее только на прямом переборе при меньше, чем пять юзеров.  А на пяти юзерах и больше Постгрес уже быстрее.  Да и по прожорливости тоже неправда - на то и есть конфиги.

     
     
  • 6.27, sHaggY_caT (ok), 09:55, 10/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>собственно мускуль тем и хорош, что быстрее. и меньше жрёт.
    >
    > Да и по прожорливости тоже неправда - на то и
    >есть конфиги.

    Давайте явки, пароли, адреса крупного, коммерчески успешного(давно существующего) хостинга с VPS-темплейтами с православно-настроенными Postgre и VPS-асами с 256Mb ОЗУ :)
    Пока же это только Ваши слова, и крайне голосоловно-самооуверенные :)

    З.Ы. Вы бы еще сказали, что Postgre легковеснее, чем SQLite :)

     
     
  • 7.28, Ян Злобин (ok), 14:26, 10/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >...православно-настроенными Postgre и VPS-асами с 256Mb ОЗУ :)

    У меня работало, было время, и на 64-х мозгобайтах.  И что?

    >З.Ы. Вы бы еще сказали, что Postgre легковеснее, чем SQLite :)

    Савсэм глюпий да?

    Еще бы сравнили хранение данных в текстовом файле :-)  Ну как можно сравнивать сервер БД с библиотекой???

     
  • 4.19, аноним (?), 18:00, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > более близок к Oracle

    Это вы зря так говорите - слава богу, от этой распиаренной ынтерпрайзной недобазенки он как раз очень далеко. Oracle надо с mysql сравнивать, да и тот его уделывает по большей части.

     
  • 3.5, Аноним (-), 11:37, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    тем что это реляционная субд, очевидно
     
  • 3.10, Tuxoid (ok), 12:00, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • +4 +/
    С каких это пор у нас мускуль стал обьектно-реляционной СУБД? И где в мускуле поддержка допустим PL\Perl?
     
  • 2.9, аноним (?), 11:53, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Офигеть, я думал это давно уже есть. А раньше тогды как обходились?

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

     
  • 2.13, Гога (?), 13:37, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Блин, а я думал, что DROP TABLE; CREATE TABLE ... ; - это только мое изобретение, оттого что лень документацию покопать, оказывается вон оно как :)
     
     
  • 3.14, fr0ster (ok), 16:11, 08/09/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Брат Вася, узнаешь брата Колю?
    А вообще конструкция сложнее, в таблице могут быть нужные данные, все равно без проверок никак.
     

  • 1.29, Аноним (-), 18:39, 25/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    MERGE/UPSERT я так понял - не светит и в 9.1?
    Досадно, ёлытьпалыть.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру