Как стать автором
Обновить

Вышел PostgreSQL 11

Время на прочтение4 мин
Количество просмотров27K


Специальный выпуск POSTGRESSO, посвященный выходу официального релиза версии 11.


На улице PostgreSQL праздник. После четырех beta вышла PostgreSQL 11 General Availability, то есть официальная версия. В анонсе есть даже приветственное слово Брюса Момджана: «готовя этот релиз, сообщество особенно заботилось о добавлении функциональности, необходимой для работы с очень большими базами данных. Доказано, что PostgreSQL хорошо работает с транзакционными нагрузками, а теперь новая версия — PostgreSQL 11 — облегчит разработчикам еще и создание приложений для Big Data».

В release notes выделяют

  • секционирование:
    • добавлено секционирование по хешу;
    • PRIMARY KEY, FOREIGN KEY, индексы (см. ниже на эту тему) и триггеры;
    • секция по умолчанию для записей, вышедших за границы созданных секций;
    • UPDATE по ключу секционирования теперь может автоматически перемещать запись в соответствующую секцию;
    • PostgreSQL научился исключать ненужные секции (partition pruning) во время исполнения запросов SELECT;
  • распараллеливание:
    • теперь можно параллельно создавать индекс в случае B-tree;
    • при CREATE TABLE… AS, CREATE MATERIALIZED VIEW и в некоторых случаях запросов с UNION;
    • улучшена производительность в параллельных HASH JOIN и SEQUENTIAL SCAN;
  • появились хранимые процедуры, и в них возможно управление транзакциями;
  • JIT-компиляция фрагментов запросов, выигрыш на вычислении выражений;
  • оконные функции теперь поддерживают все фреймовые опции SQL:2011 стандарта, в том числе расстояния по RANGE у PRECEDING/FOLLOWING, режим GROUPS, возможность исключения строк из фрейма;
  • появились покрывающие индексы [не покрывающие, а инклюзивные, строго говоря — прим. POSTGRESSO], использующие выражение INCLUDE при CREATE INDEX;
  • из раздела «разное»: ALTER TABLE… ADD COLUMN c значениями NOT NULL по умолчанию: этот вариант команды теперь не перезаписывает все строки таблицы и, следовательно, работает быстро.

Читать дальше →
Всего голосов 37: ↑34 и ↓3+31
Комментарии31

Союз R и PostgreSQL. Анализируем работу аэропортов, рассчитываем пенсии

Время на прочтение5 мин
Количество просмотров7.5K

Часть I. R извлекает и рисует


Конечно, PostgreSQL с самого начала создавалась как универсальная СУБД, а не как специализированная OLAP-система. Но один из больших плюсов Постгреса — в поддержке языков программирования, с помощью которых из него можно сделать что угодно. По изобилию встроенных процедурных языков ему просто нет равных. PL/R — серверная реализация R — любимого языка аналитиков — один из них. Но об этом позже.

R – удивительный язык со своеобразными типами данных — list, например, может включать в себя не только данные разных типов, но и функции (вообще, язык эклектичный, и говорить о принадлежности его к определенному семейству не будем, чтобы не порождать отвлекающие дискуссии). В нем есть симпатичный тип данных data.frame, который подражает таблице РСУБД — это матрица, у которой столбцы содержат разные типы данных, общие на уровне столбца. Поэтому (и по другим причинам) работать в R с базами данных довольно удобно.

Мы будем работать в командной строке в среде RStudio и соединяться с PostgreSQL через драйвер ODBC RpostgreSQL. Их несложно установить.

Поскольку R создавался как этакий вариант языка S для тех, кто занимается статистикой, то и мы приведем примеры из простенькой статистики с простенькой графикой. У нас нет цели знакомить с языком, но есть цель показать взаимодействие R и PostgreSQL.

Обрабатывать данные, хранящиеся в PostgreSQL, можно тремя путями.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии13

Дайджест новостей из мира PostgreSQL. Выпуск №12

Время на прочтение7 мин
Количество просмотров5.9K


Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL.

Релизы


PostgreSQL 11.1
Вместе с этой версией вышли также 10.6, 9.6.11, 9.5.15, 9.4.20 и 9.3.25 (это последний релиз 9.3). В этой версии есть изменения, связанные с безопасностью. Исправили выявленные ошибки. Прочитать о релизах можно здесь, а скачать здесь.


Postgres Pro Standard 11.1.1, 10.6.1, 9.6.11.1, 9.5.15.1, Postgres Pro Enterprise 10.6.1, 9.6.11.1

Эти релизы основаны на соответствующих ванильных версиях PostgreSQL и на предыдущих версиях Standard и Enterprise. В разделе «Замечания к выпуску» в соответствующей версии документации можно прочитать об отличиях от предыдущей версии семейства. Например, в Enterprise 10.6.1 и 9.6.11.1 добавлена поддержка операционной системы Astra Linux «Смоленск» 1.6 и улучшена стабильность автономных транзакций.

pgAdmin 4 version 3.5.

В этом релизе не только исправлены баги (11 штук), но и добавлены новые возможности. Среди них:
  • Миграция с Bootstrap 3 на Bootstrap 4
  • Можно останавливать сервисные процессы (Backup/Restore/Maintenance...)

Бинарники для Windows и macOS, а также для Python Wheel, Docker-контейнеры и тарболы с исходниками можно скачать отсюда. RPMы и DEBы должны появиться в репозиториях postgresql.org в ближайшие дни.

TimescaleDB 1.0

В анонсе говорится, что это версия годится для использования в промышленном режиме. Эта СУБД, ориентированная на работу с временнЫми рядами, выполнена как расширение для PostgreSQL. Можно запускать разные версии TimescaleDB с одним и тем же экземпляром PostgreSQL Ядро команды разработчиков — выпускники Принстонского Университета.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии0

Битва при MERGE. Хроника с выводами и моралью

Время на прочтение11 мин
Количество просмотров25K
Несколько недель перед важным комитфестом — последним перед feature freeze версии PostgreSQL 11 — читатели рассылки hackers, сжимая в левой пакет с чипсами, следили за триллером MERGE. Режиссер триллера, глава компании 2ndQuadrant Саймон Риггс (Simon Riggs), с впечатляющей настойчивостью и изобретательностью пытался протащить в версию патч, реализующий синтаксис команды MERGE. Риггс комитер с 2009 года, а со статусом комитера можно самому утверждать патчи. Ему противостояли не менее уважаемые комитеры и ветераны PostgreSQL. Страсти кипели явно и подспудно, до прямых оскорблений все же не дошло — факт удивительный для завсегдатаев многих отечественных форумов. Однако некоторое напряжение осталось до сих пор, когда вопрос утрясли, и спорить уже не о чем.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии18

Колоночные СУБД против строчных, как насчет компромисса?

Время на прочтение7 мин
Количество просмотров28K

Колоночные СУБД активно развивались в нулевых годах, на данный момент они нашли свою нишу и практически не конкурируют с традиционными, строчными системами. Под катом автор разбирается, возможно ли универсальное решение и насколько оно целесообразно.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии43

Дайджест новостей из мира PostgreSQL. Выпуск №7

Время на прочтение4 мин
Количество просмотров5.4K


Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL.

Релизы


Как и обещано, бета-версия PostgreSQL 11 вышла 25-го мая. Ее новшества по отношению к 10.х в основном уже перечислены в сводке Что заморозили на feature freeze.

Postgres Pro 10.4.1
Компания Postgres Professional выпустила новые релизы Postgres Pro Standard/Enterprise 10.4.1, созданные на базе PostgreSQL 10.4 и Postgres Pro 10.3.2. В них вошли все улучшения версии PostgreSQL 10.4, а также ряд важных доработок:

  • обновлён модуль jsquery, отвечающий за запросы к типу данных jsonb;
  • утилита pg_probackup для управления резервным копированием и восстановлением кластеров баз данных обновлена до версии 2.0.17 и дополнена новыми возможностями; например, добавлен режим DELTA, в котором считываются все файлы данных в каталоге и создаётся инкрементальная копия для страниц, изменённых со времени предыдущего копирования;
  • модуль pg_pathman, отвечающий за секционирование больших и распределённых баз данных, обновлён до версии 1.4.11, в которой исправлен ряд ошибок;
  • исправлена сортировка букв «Ё» и «Й» в модуле mchar, предоставляющем дополнительные типы данных для совместимости с Ms SQL Server;
  • доработана версия для Windows.

Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии0

Расширение встроенной документации в СУБД Caché

Время на прочтение2 мин
Количество просмотров2.9K


В СУБД Caché есть возможность встраивать свои материалы в стандартную документацию с помощью методов класса DocBook.Utils.
Таким образом можно создать собственную корпоративную документацию с возможностью удобной навигации и расширенным поиском по ней.
Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Работа с объектами СУБД Caché на примере Delphi

Время на прочтение17 мин
Количество просмотров11K

Несмотря на перманентные похороны Delphi, эта платформа построения Desktop приложений живёт и здравствует, а со сменой владельца даже обретает второе дыхание и продолжает оставаться основным инструментом для тысяч разработчиков во всём мире.
Как и с любыми другими СУБД, Delphi прекрасно взаимодействует с СУБД Caché.

Из Delphi можно подключиться к Caché, используя следующие интерфейсы:


В данной статье будут рассмотрены примеры использования объектного интерфейса при работе с СУБД Caché.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии5

Работа с сокетами в СУБД Caché. Пример реализации серверной части протокола WebSocket

Время на прочтение10 мин
Количество просмотров4.3K
СУБД Caché для взаимодействия через TCP/IP с удалёнными процессами посредством сокетов предоставляет низкоуровневые команды, что может представлять собой сложность для новичков.

А есть ли возможность использовать сокеты «по-другому», не теряя при этом в гибкости, скорости и удобстве разработки?

Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии2

Локализация в СУБД Caché

Время на прочтение9 мин
Количество просмотров5.4K
Предположим, вы написали программу, выводящую «Hello, World!», например:
  write "Hello, World!"

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

Поехали!
Всего голосов 9: ↑5 и ↓4+1
Комментарии5

Релиз GlobalsDB 2012.2

Время на прочтение6 мин
Количество просмотров2.8K
15 мая вышла новая версия бесплатной NoSQL СУБД GlobalsDB 2012.2.

Что нового?
Добавлен ожидаемый многими Node.JS API интерфейс для Windows, и сразу же для Windows 64-bit.
Реализованы небольшие дополнения и устранены некоторые ошибки.
Об этом и остальном
очень подробно под катом
Всего голосов 4: ↑3 и ↓1+2
Комментарии3

ObjectDB — система управления базами данных для Java приложений

Время на прочтение4 мин
Количество просмотров3.6K
ObjectDB является объектно-ориентированной, написанной на Java СУБД, которая при всех своих впечатляющих тестах на скорость и используемая (как следует из рекламы на официальном сайте) такими организациями как HP и Novell малознакома для многих программистов (Сам я об этой базе узнал буквально месяц назад, и использовал ее только один раз в рамках учебного проекта, да и мой препод узнал о ней как раз из моего проекта). За продолжением прошу под кат.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии12

Вебинар по Mirroring в Caché и Ensemble: High Availability и резервирное копирование

Время на прочтение1 мин
Количество просмотров1.5K
Уважаемые дамы и господа IT-специалисты!
В СУБД Caché и интеграционной платформе Ensemble есть полезная технология Mirroring, позволяющая создавать High Availability решения или систему резервного копирования для данных в Caché или Ensemble.
10 июля 2012 компания InterSystems проводит вебинар на тему:
Caché/Ensemble Mirroring — от распределенной системы резервирования до High Availability.
О чем вебинар?
Всего голосов 1: ↑0 и ↓1-1
Комментарии2

XML-сериализация для развёртывания начальных данных в Caché. Часть I

Время на прочтение5 мин
Количество просмотров4.8K
image
Думаю, не преувеличением будет сказать, что почти каждый разработчик информационной системы сталкивается с задачей формирования начальных данных при внедрении.
У Caché-разработчиков есть несколько стандартных подходов к инициализации начальных данных:

  • загрузка данных для классов-справочников из внешних файлов,
  • получение данных из онлайн-сервисов,
  • импорт статических данных из файлов-глобалов,
  • выполнение методов класса, создающих начальные данные из “зашитых” в код данных.

Для инициализации статических данных, небольших справочников или каких-либо конфигурационных данных системы, есть еще один способ, о котором пойдет речь в статье.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии4

InterSystems Database Mirroring. Создание и тестирование зеркала. Часть 2

Время на прочтение10 мин
Количество просмотров2.6K
В предыдущей части рассматривалась настройка зеркала — технологии высокой доступности InterSystems Database Mirroring СУБД Caché.
В этой статье будут рассмотрены сценарии перерывов (отказов) и реакция зеркала на них.

Перерывы могут быть как плановые, так и внеплановые.
Плановые — это когда нам нужно остановить сервер для обновления операционной системы, версии СУБД, версии прикладной системы и мы контролируем процесс.

Примеры плановых перерывов:

  • перезагрузка ОС, например для установки обновлений;
  • перезагрузка СУБД;
  • обновление hardware сервера.

Внеплановые — когда происходит нечто, приводящее к невозможности работы сервера с клиентами информационной системы, причём без нашего ведома. Причиной этому могут быть:

  • зависание СУБД;
  • зависание операционной системы;
  • экстренные (Reset, Power Off);
  • выход из строя оборудования сервера;
  • выход из строя сетевого оборудования;
  • война, эпидемия, снежный буран, космоса чёрные дыры.

Читать дальше →
Всего голосов 2: ↑1 и ↓10
Комментарии1

Конкурс студенческих проектов InterSystems CIS Student Innovator Awards 2012

Время на прочтение2 мин
Количество просмотров2.2K
Открыт прием заявок на ежегодный конкурс программных решений
CIS Students Innovator Awards 2012.
Мы рассматриваем заявки на программные проекты на базе технологий InterSystems: Caché, DeepSee, Ensemble, GlobalsDB.
Прием заявок до 10 декабря.
Подробнее об условиях и темах конкурса
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Реализация интервально-ассоциативного массива в СУБД Caché

Время на прочтение19 мин
Количество просмотров2.9K
Пост написан на основе статьи на хабре: «Интервально-ассоциативный массив».

Поскольку изначальная реализация основана на слайсах (срезах) питона, нелишней для прочтения будет статья: Всё, что вы хотели знать о слайсах. И, конечно, немного теории: Дерево Интервалов (Отрезков).
Итак, как же слайсы будут выглядеть в Caché?
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии0

Релиз СУБД InterSystems Caché 2015.2

Время на прочтение4 мин
Количество просмотров3K
Корпорация InterSystems на Global Summit 2015 приняла социалистическое обязательство объявила о политике частых релизов — выпуск новых версий как минимум 4 раза в год. В исполнение этого обета, 8 июля вышел релиз СУБД InterSystems Caché 2015.2 через 3 месяца после релиза Caché 2015.1. Видео о релизе.
В Caché 2015.2 улучшена производительность и масштабируемость, появилась поддержка русского и украинского в iKnow, реализована поддержка CORS в REST.
Подробности
Всего голосов 11: ↑10 и ↓1+9
Комментарии1

Дайджест новостей из мира PostgreSQL. Предновогодний (укороченный) выпуск №13

Время на прочтение2 мин
Количество просмотров6K


Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL. В этом предновогоднем выпуске не будем утомлять вас длинным перечнем новостей. С Наступающим Новым Годом!

Релизы


pgAdmin4 3.6

В этой версии добавлены:

  • из панели Properties можно дропать несколько объектов одновременно;
  • можно импортировать из и экспортировать в определения серверов из базы и в базу данных конфигураций.

pgpoolAdmin 4.0.2

Можно скачать здесь, как и многочисленные предыдущие версии.

dbForge Studio for PostgreSQL v2.0

На этот раз devart выпустила Studio со Standard edition, в которой есть функциональность, не включенная в бесплатную версию Express. 30 дней можно пользоваться Standard edition бесплатно. О различиях Standard и Express можно почитать здесь.

VOPS-2.0

Вышла новая версия расширения PostgreSQL от Postgres Professional для эффективного исполнения векторных операций.

pg_probackup 2.0.25

Новая версия утилиты для бэкапа и восстановления, тоже от Postgres Professional

pgCluu 2.9

Новую версию этой программы на Perl для аудита производительности кластеров с PostgreSQL можно скачать здесь. pgCluu собирает статистику работы не только СУБД, но и системные ресурсы кластера.

postgres_dba 4.0

Вышла новая версия утилиты Николая Самохвалова для администрирования PostgreSQL. В ней появились три новых отчета: список расширений, настройка параметров PostgreSQL и Вакуум: что происходит прямо сейчас. И, конечно, доработки и исправления.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии2

Lambda-функции в SQL… дайте подумать

Время на прочтение13 мин
Количество просмотров9.6K
image

О чем будет статья, и так понятно из названия.

Кроме того, автор объяснит, зачем с его точки зрения это нужно, а также расскажет, что SUBJ не просто модная технология, но и «дело вдвойне нужное — как приятное, так и полезное».
Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии30