После восьми месяцев разработки представлена (http://www.postgresql.org/about/news/1522/) первая бета-версия СУБД PostgreSQL 9.4.Основные улучшения (http://wiki.postgresql.org/wiki/What%27s_new_in_Postgre...):
- Новый тип JSONB ("binary JSON") для хранения структурированных наборов данных в формате, обеспечивающем высокую производительность и допускающем создание индексов, функций и операторов для манипулирования данными JSON;
- Новый 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";URL: http://www.postgresql.org/about/news/1522/
Новость: http://www.opennet.me/opennews/art.shtml?num=39782
Немного подробнее и на русском - http://www.sai.msu.su/~megera/postgres/talks/RIT-Bartunov-Ko...Много подробней - http://www.depesz.com/tag/pg94/
Имеете отношение к разработчикам? Скажите, вы с 1С сотрудничаете, или они сами свою версию пилят?
AFAIK, первая адаптация для 8.2 была сделана по индивидуальному контракту с несколькими разработчиками, теперь сами.
А выступление есть где посмотреть?
http://www.youtube.com/watch?v=S8PSpqiChtQ
Спасибо!
>> для хранения структурированных наборов данных в формате JSONУход в NoSQL? Оригинально.
нет, не уход
релизноты http://www.postgresql.org/docs/devel/static/release-9-4.html
А вот здесь главная страница проекта - http://www.postgresql.org
> Выражение "ALTER SYSTEM SET" для изменения настроек, заданных в файле postgresql.conf, из командной строки SQL или удалённых клиентов. Например, "ALTER SYSTEM SET log_min_duration_statement = '5s'";Хех. Идем по пути оракла (с 10-ти летним отставанием) :))
В будущем, вероятно, нас так же ожидает новый бинарный конфиг, который удобнее править из БД (чтобы не спотыкаться на парзинге написанных пользователем конструкций - все-таки модифицировать текстовый конфиг из программы не очень приятно), потом постепенный отказ от текстового в пользу бинарного и необходимость менять все настройки только через ALTER SYSTEM...
Так конфиг и так уже весь в БД, зачем ему еще и бинарным быть?>модифицировать текстовый конфиг из программы не очень приятно
Основная цель ALTER SYSTEM SET была в том чтобы менять эти настройки без downtime
Какой ещё даунтайм? Роб Пайк не знает про SIGHUP? Почему тебе не стыдно с такими познаниями подписываться именем Роба?
Вы пробовали с SIGHUP-то? Чтоб с тредами, надежно и на всех платформах.
Что-то мне подсказывает что нет. У разработчиков OpenLDAP можете спросить, они пытались.
В итоге плюнули и сделали cn=config. Что в общем и правильно.
> Так конфиг и так уже весь в БД, зачем ему еще и
> бинарным быть?
>>модифицировать текстовый конфиг из программы не очень приятно
> Основная цель ALTER SYSTEM SET была в том чтобы менять эти настройки
> без downtimeВо-во, в оракле так же думали. А в итоге путь привел к полностью бинарному конфигу, а текстовый давно "deprecated".
Это просто логическое продолжение. Хочется: менять конкретную настройку надежно и, по возможности, автоматически (из скрипта / по ssh / без downtime). Решение: вместо костыля в виде правки конфига sed'ом и SIGHUPа, делаем представление конфига в программе и возможнсть менять специальной командой.
Дальше что? Хочется иметь возможность вносить перманентные изменения. Значит, возможность сохранять конфиг из программы. Начинается конфликт: когда текстовый конфиг может править и админ, и программа, получается ммм не очень хорошо и неудобно обоим. Почти везде такое противостояние заканчивается бинарным конфигом. Так вышло и в оракле, и, уверен, выйдет и в постгресе, если они продолжат логическую цепочку.
>> Выражение "ALTER SYSTEM SET" для изменения настроек, заданных в файле postgresql.conf, из командной строки SQL или удалённых клиентов. Например, "ALTER SYSTEM SET log_min_duration_statement = '5s'";
> Хех. Идем по пути оракла (с 10-ти летним отставанием) :))Глупости то не пишите, PostgreSQL самостоятельная СУБД к Oracle не имеющая отношения. ALTER SYSTEM SET сделали что бы редактировать конфигурацию без SSH и к бинарным конфигам Oracle это никакого отношения не имеет.
Ну зачем ты так бредишь. Очень многие прикольные штучки для рСУБД действительно давно сделали в оракд дб и PG постепенно делает точно такие же у себя. Иногда из-за того, что иначе нормально и не сделать, а иногда просто копируют фичу.
Типа plperl, plpython, и т.д. которых в oracle отрадясь не было и не будет.
> Типа plperl, plpython, и т.д. которых в oracle отрадясь не было и
> не будет.Ну вы же понимаете, что хотя для костыльной разработки это "прикольные" возможности, но на практике в оракле и pl/sql мощнее, чем pl/pgsql, и тяжелая артиллерия в виде java доступна. И на них можно сделать все, что и на plpython и иже с ними. Да, если разработчик не знает джаву и не хочет учить pl/sql, наличие plpython может быть удобным - иногда это важно, но если подходить серьезно, оверхед на запуск plpython кода и передачи параметров туда-сюда значительно выше, чем у откомпилированного pl/sql - т.е. под нагрузку не воткнешь..
А в общем, это бессмысленный спор - в оракле с его Ада-наследием и строгостью не будет многих приятных небольших фич из постгреса - например, такого количества типов данных и специфичных функций для работы с ними - но отрицать, что оракл во многом все еще "локомотив" индустрии и постгрес еще очень много полезного может оттуда взять (и периодически берет) тоже глупо.
pfile вполне себе текстовый, и модифицировать его весьма удобно с последующим create spfile frpm pfile = '<path>';.
Текстовый, да deprecated, многие вещи официально через pfile сделать "нельзя" :)
Ну и данная конструкция переопределит все, что было до этого в spfile, так что.. очень крайний случай.