После 15 месяцев разработки увидел свет (http://www.postgresql.org/about/news/1557/) релиз новой стабильной ветки СУБД PostgreSQL 9.4. Выпуск обновлений для ветки 9.4 продлится (http://www.postgresql.org/support/versioning/) до декабря 2019 г., 9.0 до сентября 2015 г., 9.1 до сентября 2016 г., 9.2 до сентября 2017 г., 9.3 до сентября 2018 г.
Основные улучшения (https://wiki.postgresql.org/wiki/What%27s_new_in_Postgr...) PostgreSQL 9.4:
- Новый тип JSONB (http://www.craigkerstiens.com/2014/03/24/Postgres-9.4-Lookin.../) ("binary JSON") для хранения структурированных наборов данных в бинарном формате, обеспечивающем высокую производительность и допускающем создание индексов, функций и операторов для манипулирования данными JSON. В тестах (http://www.opennet.me/opennews/art.shtml?num=40690) средства обработки неструктурированных данных на основе JSONB показали более высокие результаты производительности, чем MongoDB;
- Новый Data Change Streaming API, позволяющий декодировать и преобразовывать потоки данных, передаваемые в результате репликации. Указанный API может использоваться для создания новых более гибких, высокопроизводительных и масштабируемых инструментов репликации;- Поддержка слотов репликации, позволяющих запасному серверу передавать системе, с которой поступают данные репликации, информацию о позиции в журнале репликации, которой соответствует текущее состояние запасной системы;
- Выражение "REFRESH MATERIALIZED VIEW CONCURRENTLY" для фонового обновления материализованных представлений без блокировки таблиц до завершения перестроения представления, генерирующего суммарный отчёт над сложным набором данных. Например, "REFRESH MATERIALIZED VIEW CONCURRENTLY mv_data";- Выражение "ALTER SYSTEM SET" для изменения настроек, заданных в файле postgresql.conf, из командной строки SQL или удалённых клиентов. Например, "ALTER SYSTEM SET log_min_duration_statement = '5s'";
- Утилита pg_prewarm для перезапуска сервера в тёплом режиме с сохранением состояния кэшей и буферов;
- Выражение "WITH ORDINALITY" для вывода номеров строк при выводе результатов функции, например, "SELECT * FROM json_object_keys('{"mobile": 4234234232, "email": "x@me.com", "address": "1 Street Lane"}'::json) WITH ORDINALITY";
- Возможность установки порядка группируемых значений, например,
"SELECT mode() WITHIN GROUP (ORDER BY eye_colour) FROM population";
- Возможность «разогрева» буферов памяти (pg_prewarm) после старта системы;
- Оптимизация GIN-индексов;URL: http://www.postgresql.org/about/news/1557/
Новость: http://www.opennet.me/opennews/art.shtml?num=41293
А я только сегодня ночью новый сервак на 9.3 поднимал :-(
надо было подождать та денек всего
в любом случае, пусть пока баги пофиксят, а там и проапдейтишься
Не слушай его, он тебе сейчас сервер заштунцит! Быстрее собирай из исходников и ставь!
Это конечно постгрес, ошибки весьма редки. Но на боевой сервер сразу новый релиз выкатить? Учитывая длинный список изменений при миграции? Разве что чисто побаловаться.
Процедура обновления не очень сложная и можно уложиться в мизерный даунтайм.
(Добавьте, пожалуйста, в анонс новости, если не трудно — места у нас ещё есть)23-го декабря состоится очередной митап PostgreSQL-сообщества в Москве, на этот раз в компании Parallels http://postgresmen.ru/meetup/2014-12-23-parallels
Всех с наступающим Новым годом и наступившим релизом!
--Николай
Спасибо
> (Добавьте, пожалуйста, в анонс новости, если не трудно — места у нас ещё есть)Так добавьте, под новостью ссылка "исправить" на то и есть (с премодерацией) :-)
PS: заглянуть, что ли... а у вас там только матёрые слоноводы или любопытствующим есть смысл?
Конечно, приходите. Аудитория самая разношёрстная, иначе и быть не может, когда собираются 100-150 человек
> Конечно, приходите.Спасибо, было весьма интересно, особенно послушать.
Также немного обидно, что вы не даёте ссылку на официальный перевод пресс-кита на русский.
http://www.postgresql.org/about/press/presskit94/ru/
> REFRESH MATERIALIZED VIEW CONCURRENTLY
> Поддержка параллельного обновления материализованных представленийОбновляюсь срочно!
Мда.. сейчас сложилась благоприятна ситуация в стране для принятия стандартов ПО и форматов документов.
JSOB в городе. Шах и мат, хипстеры.
он там уже не первую версию, и с каждой версией всё лучше и лучше, всё быстрее и быстрее. :)
> он там уже не первую версию, и с каждой версией всё лучше
> и лучше, всё быстрее и быстрее. :)jsonb? Вы, наверное перепутали с json.
jsonb - в первую.
не json а hstore
Как обычно, команда PostgreSQL радует. Отличная база, пользуюсь уже 15 лет :) Будем осваивать json функциональность, это сейчас актуально. Не на всякую же безsql-ную хрень переходить ))))А мускуль как отставала на годы, так воз и ныне там. Мускулеводы, скажите (не праздно, вспомнилось), родная консоль там по-прежнему корявая и дохлая? Периодически надо бывает, но в 5.1 всё грустно с этим - как в стартовой 3.23. Там в стабильной ветке как оно?
> Выражение "ALTER SYSTEM SET" для изменения настроек, заданных в файле postgresql.conf, из командной строки SQL или удалённых клиентов.Здравствуй, новый класс уязвимостей.
>> Выражение "ALTER SYSTEM SET" для изменения настроек, заданных в файле postgresql.conf, из командной строки SQL или удалённых клиентов.
> Здравствуй, новый класс уязвимостей.Это только для суперпользователей доступно. Да и не применяется сразу, а только после перезапуска сервера. Просто удобная надстройка над postgresql.conf, не более.
А отключить эту "удобную надстройку" можно?
>Поддержка страниц памяти большого размера (Huge Pages) для оптимизации работы на Linux-серверах с большим объемов памяти;Блин... а все эти годы не умел что ли...
>>Поддержка страниц памяти большого размера (Huge Pages)
> Блин... а все эти годы не умел что ли...Они пару лет(?) как с "прогрессистами" из LKML _разговаривать начали. До того (год-два тому!) у них было открытием-приговором "большинство наших ентер-прайс клиентов живут на ядре 2.6._18_"!
Так что H.P. -- кровавейший bleeding edge.
...(google postgresql kernel site:lwn.net)
Huge Pages (неожиданно) в linux появились еще в 2.4, и oracle их одерживает еще в 9-и (середина 2000-х).
*поддерживает.
> Huge Pages (неожиданно) в linux появились еще в 2.4, и oracle
> их одерживает еще в 9-и (середина 2000-х).Молодец, поймал. Не кровавый. Будем считать, я с THP попутал.
Дважды молодец, следишь за оракелом, как он там.
>>Поддержка страниц памяти большого размера (Huge Pages) для оптимизации работы на Linux-серверах с большим объемов памяти;
> Блин... а все эти годы не умел что ли...Угу , умел . До 20% процентов медленнее , но умел . А фиг ли , поменял в базе 4 кбайт - весь huge page надо дергать .
Ась? Какое отношение размер блоков в базе (которые в постгресе, кстати, 8КБ) имеют к размеру страниц, которыми аллоцируют память?Huge pages в постгресе (как и в любой другой БД) нужны в первую очередь для уменьшения размера page tables, которые при большом числе клиентов без Huge Tables могут занимать гигабайты - т.к. требуются страницы для каждого клиента на весь объем виртуальной памяти. Т.е. например при 32 Гб shared buffers требуется 64 Мб на таблицы страниц каждому процессу, работающему с этой памятью (т.е. каждому клиентскому процессу постгреса). Если коннектов много, на таблицы страниц могут уходить гигабайты. С Huge pages размер таблиц страниц в 512 раз меньше.
Сразу вопрос: при изменении параметров через ALTER SYSTEM SET нужно перезапускать сервис или изменения будут применяться "на лету"?
Нужно будет перезапускать. Values set with ALTER SYSTEM will be effective after the next server configuration reload (SIGHUP or pg_ctl reload), or after the next server restart in the case of parameters that can only be changed at server start.
Most advanced DBMS in the world.
Ni plus ni moins, как говорится.
Когда уже запилят в неё патчи от 1с, чтобы все работало из коробки
> Когда уже запилят в неё патчи от 1с, чтобы все работало из
> коробкиКогда деньги получат. Привет от Кэпа.
Главное что бы костыли не вводились вместе с патчами под 1С, или была регрессия в производительности.
А что 1С такого делает, чтоб модификация кода требовалась?
> А что 1С такого делает, чтоб модификация кода требовалась?Принципиально пытается работать с версионным Постгресом так же как с старым блокировочным MSSQL. Вот патчи и эмулируют возможность блокировки таблиц. Сомнительно что такое поведение когда-нибудьзапилят в апстрим.
Тот кто ест кактусы, должен чувствовать боль и вырабатывать рефлекс.
Ну наконец-то! Дождались вкусного релиза...
Но как "обычно искаропки", кол-во функций для работы с JSON(b) слишком ограничено, и чтобы реально документо-ориентированность реализовать, приходится задействовать plv8, а это делается только с полными привилегиями, что не комильфо для "лёгкого" распространения некоторых приложений, работающих с базой.
> а это делается только с полными привилегиями, что не комильфо для
> "лёгкого" распространения некоторых приложений, работающих с базой.При этом специфика приложений подразумевает работу с уже существующей базой или возможно укомплектование своим экземпляром?
что-то сложно придумать необходимость установки порядка группируемых значений...