Как стать автором
Поиск
Написать публикацию
Обновить
219.92
Postgres Professional
Разработчик СУБД Postgres Pro
Сначала показывать

Postgresso #1 (62)

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

Умер Никлаус Вирт

1-го января этот мир покинул Великий человек - Никлаус Вирт (Niklaus Emil Wirth). Его создания: Pascal, Algol-W, Euler, Modula-1, 2, Oberon-1, 2.

Но прежде всего Никлаус был главным идеологом программирования сверху вниз, структурного программирования.

Релизы

Shardman 14.10.2, 14.10.3

Ещё недавно мы писали, что в документации по Postgres на сайте Postgres Professional появился четвёртый столбец - ora2pgpro. А сейчас там 5 столбцов: появился Shardman. Всего пока 2 релиза:

Postgres Pro Shardman 14.10.2 и Postgres Pro Shardman 14.10.3.

В 14.10.3 улучшения и исправления. А в заметках к релизу предыдущего можно узнать, что:

Читать далее

Как в СУБД реализовать администратора без прав доступа к данным

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров8.5K

В СУБД-строении есть не новая, но не теряющая актуальности задача. Сформулировать её можно примерно так: как убрать возможность суперпользователя взаимодействовать с данными, но оставить ему все возможности по управлению СУБД? Эта функция затребована не только большими компаниями с жёсткими требованиями к информационной безопасности, но и крайне нужна всем, кто попадает под различного вида государственные регуляции, вроде приказа ФСТЭК №64 или страшного GDPR.

Всё это необходимо, чтобы закрыть риски, связанные с доверием как к самому DBA, так и обезопасить себя на случай угона учётной записи злоумышленником. 

В этой статье мы хотим поговорить о том, какие есть подходы к решению этой проблемы, какие можно найти реализации на рынке, и что решили сделать мы в Postgres Professional.

Читать далее

Postgresso за 2023

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

В прошлом году Postgresso 12 (49) и был обзором, пробегающим по 11 предыдущим номерам. В этом году мы решили, что эту задачу лучше выделить в отдельный выпуск.

ЯНВАРЬ
Postgresso 1 за 2023 (50)
Игрушки
Да, мы любим рассказывать об игрушечных базах, самодельных базах для души. Булат Башеев (Basheyev) из Астаны развлекался написанием виртуальной машины и компилятора под неё, теперь переключился на СУБД. Назвал её Boson. Это, говорит автор, легкая, встраиваемая документоориентированная база данных на С/С++. Хранить она будет документы формата ключ/значение (JSON).

Читать далее

Postgresso 12 (61)

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

В эти предновогодние дни перегружать вас техническими деталями не будем. И даже не всё в этом выпуске будет вертеться вокруг СУБД и SQL. Начнём, впрочем, с такой серьёзной новости:

Postgres Pro Enterprise 16.1.1

Читать далее

Использование On-Logon триггеров в СУБД Postgres Pro Enterprise

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.8K

Триггеры On-Logon хорошо знакомы разработчикам приложений для СУБД Oracle Database.
On-Logon триггер является одним из видов триггеров событий базы данных, и автоматически срабатывает при подключении пользователя к БД.

В СУБД Postgres Pro Enterprise, еще в версии 14, среди прочих расширенных возможностей, была добавлена поддержка On-Logon триггеров.
В данной статье речь пойдет о данной функциональности, а также будет приведено сравнение с аналогичной функциональностью в СУБД Oracle Database.

Стоит отметить, что поддержка On-Logon триггеров будет добавлена в следующий мажорный релиз open source СУБД PostgreSQL - в версию 17.
Компания Postgres Pro передала свою реализацию этой технологии сообществу PostgreSQL.

Данный пример ярко характеризует модель развития СУБД PostgreSQL.
Идеи и их реализации, апробированные компаниями в коммерческих форках, передаются в open source. С другой стороны, компании точно также получают наработки open source в свой коммерческий форк.

Это формирует устойчивую ситуацию взаимовыгодного сотрудничества коммерческих компаний и open source сообщества. Эта ситуация может оказаться более долговечной, чем отдельные коммерческие компании или открытые продукты.

Читать далее

PostgreSQL 17: Часть 3 или Коммитфест 2023-11

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.3K


Ноябрьский коммитфест принес немало интересного! Без лишних предисловий приступаем к обзору.


Самое интересное об июльском и сентябрьском коммитфестах ― в предыдущих статьях серии: 2023-07, 2023-09.

Читать дальше →

Postgresso #11 (60)

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

Лицензии и апокалипсис

10-го августа сего года компания HashiCorp позволила себе нехороший - с точки зрения многих участников движения open source - поступок. Она поменяла лицензию своего любимого многими Terraform (инфраструктура как код - Infrastructure-as-Code, IaC) с MPL 2.0 (Mozilla Public License) на BSL 1.1 (Business Source License). BSL относят к категории source-available software - более широкой, чем free software (свободное - подмножество SAS), а бизнес-модель HashiCorp относят к freemium (=free+premium), то есть вроде и бесплатно, но за что-то лучше заплатить. Как бы и ничего такого уж страшного, но через 5 дней на сайте SecurityLab.ru, который поддерживает Positive Technologies, появилась статья с пугающим названием:

Конец открытому ПО? HashiCorp переводит Terraform и Vagrant под закрытую лицензию

Читать далее

Как мы судили на чемпионате России по спортивному программированию

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.6K

В начале ноября так сложились обстоятельства, что мне с коллегой довелось поучаствовать в качестве судей на мероприятии под строгим названием «Отборочный этап чемпионата России по спортивному программированию» в дисциплине «Продуктовое программирование». Или, говоря более простым языком — студенческий трехдневный онлайн-хакатон, победители которого поедут на финал чемпионата страны в Москву.

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

Читать далее

Postgresso #10 (59)

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

PostgreSQL 16.1

- а также PostgreSQL 15.5, 14.10, 13.13, 12.17 и 11.22 (эта версия последняя, которая будет поддерживаться в линейке 11). Обновление закрывает 3 проблемы безопасности:

CVE-2023-5868: показ содержимого памяти в вызовах функций с агрегацией (memory disclosure in aggregate function calls) - может произойти, когда в качестве аргумента передаётся тип unknown;

CVE-2023-5869: переписывание буфера от его переполнения целыми при модификации массивов (buffer overrun from integer overflow in array modification) - недостаточные проверки переполнения позволяют аутентифицированным пользователям и читать в памяти и записывать в неё, чтобы исполнить вредоносный код;

CVE-2023-5870: роль pg_cancel_backend может рассылать сигналы некоторым процессам суперпользователей (role pg_cancel_backend can signal certain superuser processes) - а по документации не должна; роль может, например, посылать сигналы процессу, запускающему логическую репликацию.

Кроме того были ликвидированы баги - 55 штук. А теперь перейдём конференциям, по ним накопилась информация.

PostgreSQL 17: Часть 2 или Коммитфест 2023-09

Если новости о 16-й версии у кого-то уже не вбрасывают адреналин в кровь, то вот очередная статья-обзор Павла Лузанова, небольшое путешествие в будущее об июльском коммитфесте в предыдущей статье этой серии: 2023-07). Павел рассматривает 18 пунктов. Например:

Читать далее

PostgreSQL 17: Часть 2 или Коммитфест 2023-09

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров5.8K


Продолжаем следить за новинками 17-й версии PostgreSQL. На этот раз поговорим о том, чем запомнился сентябрьский коммитфест.


Самое интересное об июльском коммитфесте ― в предыдущей статье серии: 2023-07.

Читать дальше →

Темпоральные типы в PostgreSQL и их использование

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров19K

Меня зовут Фролков Иван, я работаю программистом с 1993 года, и уже восемь лет — в Postgres Professional. Периодически выступаю на конференциях. В этой статье я расскажу вам про темпоральные типы данных в PostgreSQL — доклад о них я читал на PGConf.Russia 2022. Почему меня это заинтересовало? Мне много раз приходилось сталкиваться с тем, что из-за разницы часовых поясов не сходились отчёты за месяц или даже за сутки. Подобные проблемы возникают из-за неаккуратной обработки даты и времени, которой можно избежать.

В чём проблема?

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

У меня была ситуация, когда я работал в международной компании с серверами по всему миру. Паника из-за неверного построения отчётов там возникала дважды в сутки. Сначала поднимались московские менеджеры и ругались, что цифры получаются не те. Мы поправляли часовые пояса, и всё было хорошо до тех пор, пока не просыпались менеджеры в Сан-Франциско. Они тоже выдвигали претензии по цифрам, мы снова исправляли время, но после этого опять «уезжала» Москва.

Заря приходит с востока

С чем же связаны такие проблемы? С тем, что Земля круглая, и время наступает везде по-разному. Казалось бы, это тривиальное знание, но в реальности его мало кто учитывает. На востоке часовые пояса с плюсом, а на западе — с минусом. Где-то посередине располагается Гринвич, нулевой меридиан (кстати, в Лондоне есть летнее время, и оно не совпадает с гринвичским!). Есть ещё места вроде Непала и Бутана, где время сдвигается не на полные часы, а на 45 или 15 минут, и это может создать вам проблемы.

Читать далее

Postgresso №9(58)

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

Microsoft

PostgreSQL 16

Наконец, официально вышел релиз PostgreSQL 16. Мы регулярно писали о новом в бетах и релиз-кандидатах, поэтому подробно говорить об официальном нет, кажется, особой необходимости: с тех пор ничего принципиального не ушло и, тем более, не пришло.

На сайте выделяют такие главные преимущества релиза, вот некоторые:

улучшение производительности: оптимизатор научился распараллеливать FULL и RIGHT JOIN, ускорились оконные функции, появилась балансировка нагрузки.

расширение возможностей логической репликации: репликация с реплики, распараллеливание, новая роль pg_create_subscription,

для разработчиков: новые (вернувшиеся "старые") возможности работы с SQL/JSON, улучшения в правилах сортировки, команда \bind в psql для подготовленных запросов, улучшения в правилах сортировки,

мониторингpg_stat_io, новое поле в pg_stat_all_tables,

доступ и безопасность: появилась возможность задавать дополнительные файлы в include.

Как вы, может быть, заметили, ссылки ведут на РУССКУЮ ДОКУМЕНТАЦИЮ к PostgreSQL, которая только что появилась на сайте Postgres Professional.

Читать далее

Postgresso №8 (57)

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

Между выходом этого обзора и предыдущего успели выйти бета3 и первый релиз-кандидат.

В PostgreSQL 16 Beta 3 закрыты 2 уязвимости, они касаются расширений и MERGE. В сообщении есть важные замечания для тех, кто использует BRIN-индексы для запросов, затрагивающих NULL-величины.

А вот это почти детективный сюжет: PostgreSQL: CVE-2020-21469 is not a security vulnerability.

Читать далее

PostgreSQL 17: Часть 1 или Коммитфест 2023-07

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров8.3K


Продолжаем следить за новостями из мира PostgreSQL. Выпуск PostgreSQL 16 Release Candidate 1 планируется на 31 августа и, если всё будет в порядке, то 16-я версия выйдет 14 сентября.


Что изменилось в 16-й версии после апрельской заморозки кода? Что попало в 17 версию по результатам первого коммитфеста? Обо всем об этом в свежем обзоре.

Читать дальше →

CFS — сжатие на уровне страниц СУБД в Postgres Pro

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров8.6K

Сжатие данных на уровне блоков: механизм компрессии CFS и его особенности

Привет, Хабр! Меня зовут Антон Дорошкевич, я сертифицированный эксперт по PostgreSQL и архитектор многокластерных систем 1С. Это мой первый гостевой пост в блоге компании Postgres Professional. Многие мои выступления на PGConf.Russia были тепло приняты аудиторией  в частности, в этом году доклад о тонкостях эксплуатации 1С и PostgreSQL вошёл в тройку лучших презентаций конференции. Сегодня мне хотелось бы рассказать о том, как сжатие данных на уровне блоков (страниц) влияет на работу баз 1С.

Механизмы сжатия на уровне блоков разработаны и успешно используются в таких СУБД, как MS SQL Server, Oracle, MySQL. В PostgreSQL сжатие на уровне страниц почему-то не было реализовано; лишь сравнительно недавно оно появилось в Postgres Pro Enterprise. Этот механизм называется CFS (Compressed File System, но файловой системой он не является, поэтому далее будет использоваться сокращение CFS).

Читать далее

Postgresso №7 (56)

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

Конференции, битва за Ибицу

PGConf.СПб 2023

PGConf впервые пройдёт 25 сентября в Санкт-Петербурге. Конференция будет называться PGConf.СПб 2023. Место - Отель «Коринтия», Невский проспект., д.57.

Регистрация открыта и заявки принимаются. Подать заявку можно в личном кабинете. Количество тем не ограничено.

PGConf.Сибирь 2023

Пройдёт на площадке Город ИТ пройдёт 9-го сентября в Томске. Программа еще формируется, но общая канва известна.

PGIbiza 2023: Postgres and Ecosystem

Но с ней не всё просто. Казалось бы, на Ибице есть всё, чтобы поработать и расслабиться последовательно или одновременно (насколько помню, там даже доклады на пляже). Но всплыл старый конфликт между Альваро Эрнандесом (Álvaro Hernández Tortosa) и старейшинами (Core Team) PostgreSQL. Поскольку есть риск многое истолковать неправильно, напомним предысторию. Альваро не рейдер, попытавшийся захватить торговые марки PostgreSQL. Он революцьонэр. История эта началась ещё в 2021-м.

Читать далее

Postgresso №6 (55)

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

PostgreSQL 16 Beta 2

Изменения по сравнению с 1-й бетой коснулись прежде всего правил сортировки (collation): провайдер по умолчанию, которого выбирает initdb, теперь сноваlibc. В 1-й бете решили сделать так: если доступна ICU, то выбирается ICU. Откатили. Временно или нет - не знаю. То же при сборке из исходников.

Поведение при выборе локали C сlibicu - возвращено обратно кlibicu;[??вот это не понял] На ICU 64 и выше локальC не используется, а у ICU есть собственный механизм для выбора локали или генерации ошибки.

Полный список новых и измененных старых возможностей 16-й версии в release notes. Скачать можно здесь.

Обожаемый и желанный:

Читать далее

Задачи третьего этапа олимпиады «IT-Планеты» по PostgreSQL

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

В шахматы меня когда-то легко обыгрывал восьмибитный компьютер, а действующего чемпиона мира IBM-овский Deep Blue одолел уже в 1997 году. Но игра Го держалась значительно дольше: победить обладателя девятого дана Ли Седоля удалось только в 2016 году компании Гугл с машиной AlphaGo. В Го простые правила, которые, однако, приводят к очень сложным стратегическим построениям. Ровно то, что нужно: простое условие, не дающее намека на то, как справиться с задачей одним SQL-запросом. Тема Го и легла в основу задач финала олимпиады, про которую я уже начал рассказывать в прошлый раз.

Финал проходил в Сочинском государственном университете. Пользуясь случаем, хочу сказать спасибо гостеприимным сотрудникам университета и организаторам, оперативно устранявшим все трудности.

Поговорим про задачи

Задачи второго этапа олимпиады «IT-Планеты» по PostgreSQL

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

В этом году наша компания впервые провела конкурс по базам данных в рамках международной олимпиады IT-Планета по информационным технологиям. Раньше на олимпиаде использовалась СУБД Oracle; наш коллега Евгений Бредня в свое время делился таким опытом.

Олимпиада проходила в три этапа. Первым шел заочный теоретический тест, который преодолели примерно двести человек из двух тысяч зарегистрировавшихся.

На втором этапе участникам было предложено подумать над пятью задачами, каждую из которых следовало решить одним SQL-запросом. Этот этап также проводился заочно: на раздумья было дано примерно три недели. Условия всех задач были опубликованы одновременно, но у каждой был свой крайний срок; поэтому первыми шли задачи полегче, чтобы на более сложные осталось больше времени. Задачи проверялись на корректность (автоматическими тестами) и на качество кода (вручную). По результатам мы отобрали двадцать человек для последнего, очного этапа.

Третий этап состоялся 27 мая в Сочи. К сожалению, из двадцати приглашенных приехать смогли только четырнадцать; между ними и состоялось соревнование. Задачи этого этапа также предполагали решение одним запросом, но сами задания были объединены общей темой, навеянной игрой Го, и строились так, что решение одной задачи помогало подступиться к следующей.

Я занимался придумыванием задач для второго и третьего этапов. Хочу поблагодарить участников олимпиады, которым пришлось их решать, организаторов, собравших нас вместе, и своих коллег: Дарью Рисухину, взвалившую на себя все оргвопросы, Евгения Моргунова, предоставившего задания для первого этапа, а также всех помогавших мне с задачами.

Поговорим о втором этапе

Postgresso №5 (54)

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

Beta!

Это Beta 1 - PostgreSQL 16 Beta 1. После неё будут ещё беты, число которых заранее не известно - по обстоятельствам. После появится релиз-кандидат, скорее всего тоже не один. Официальный релиз запланирован на конец 2023-го. Можно заглянуть в Beta Testing в случае заинтересованности.

Читать далее

Информация

Сайт
www.postgrespro.ru
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия
Представитель
Иван Панченко