Как стать автором
Обновить
130.07
Рейтинг
Postgres Professional
Разработчик СУБД Postgres Pro
Сначала показывать

Постгрессо №4 (41)

Блог компании Postgres Professional PostgreSQL *

ИТ-инфраструктура — это как водопровод, без неё жизнь уже почти невозможна. И в эти безрадостные дни мы продолжаем выпускать Postgresso.


PostgreSQL 14.3

Вышла версия 14.3 (release notes), и обновлены предыдущие ветки: 13.7, 12.11, 11.16, и 10.21 (объявлено, что ветвь PostgreSQL 10 не будет обновляться с 10-го ноября 2022-го).

В версии много исправлений, отметим два. Александр Лахин из Postgres Professional обратил внимание на лазейку:

В случае, когда привилегированный пользователь работает с объектами другого пользователя, команды REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW и CLUSTER отрабатывали недостаточно безопасно. Это же относится и к autovacuum, и pg_amcheck. Они активировали релевантную защиту (заключали процессы в песочницу операций, ограниченных соображениями безопасности — «security restricted operation» sandbox) или слишком поздно, или вообще не активировали её. Если у атакующего были привилегии создавать не временные объекты хотя бы в одной схеме, он мог запустить под суперпользователем зловредные SQL-функции.

Похожая проблема, но с конструкциями DECLARE CURSOR… WITH HOLD и вызовом отложенных триггеров в выражениях индексов и запросов матпредставлений была замечена и ликвидирована ещё в PostgreSQL 12. Новый баг поправлен во всех версиях PostgreSQL от 10 до 14.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 3.4K
Комментарии 1

Как работает оптимизатор PostgreSQL при большом количестве таблиц в запросе

Блог компании Postgres Professional PostgreSQL *SQL *Администрирование баз данных *
SQL — это декларативный язык программирования, используемый для создания и манипулирования объектами в реляционных СУБД. Этот язык описывает что должно быть получено, но не описывает как это получить. Программист пишет запрос и (чаще всего) хочет получить результат от СУБД максимально быстро.

Работу по нахождению самого лучшего способа получения требуемых данных выполняет планировщик (он же оптимизатор) запросов. Он выбирает способы соединения наборов строк и их обработки, строит различные планы выполнения запроса и находит среди них наилучший, для чего используется стоимостная модель оптимизации.

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

Для демонстрации работы оптимизатора практически во всех наших (и чужих) примерах на эту тему используются довольно скромные параметры: две-три таблицы, пара JOIN-ов, миллисекунды на выполнение запросов. А что будет, если загрузить оптимизатор десятками таблиц за раз? Как разные конфигурационные параметры влияют на производительность запросов с сотней JOIN-ов? И переживет ли это среднестатистический рабочий ноутбук? Ответы на эти вопросы — со схемами и графиками — вы найдете под катом!
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Просмотры 9.9K
Комментарии 4

Postgresso #3 (40)

Блог компании Postgres Professional PostgreSQL *


ИТ-инфраструктура — это как водопровод, без неё жизнь уже почти невозможна. И в эти безрадостные дни мы продолжаем выпускать Postgresso.


Feature Freeze


7 апреля произошла Заморозка функциональности. Вошедших новшеств много. Традиционный обзор Павла Лузанова выйдет немного позже.


Главными достижениями недавнего времени стали 2 серии мощных патчей, добавляющие важную функциональность и ещё плотней приближающие к стандартам SQL — SQL/JSON и MERGE.

SQL/JSON


Вот два поста в ЖЖ Олега Бартунова:

SQL/JSON standard-2016 conformance for PostgreSQL, Oracle, SQL Server and MySQL

SQL/JSON in PG15 !


Скрин стандартов из статьи Олега Бартунова

Между этими двумя постами три года. В первом он обозначил 3 большие серии патчей, связанных со стандартом SQL/JSON. Во втором — недавние коммиты. Судьба патчей такова:

SQL/JSON: jsonpath (закоммичено на коммитфесте 2019-03)
SQL/JSON: functions (закоммичено на коммитфесте 2022-03)
SQL/JSON: JSON_TABLE (закоммичено на коммитфесте 2022-03)
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 4.1K
Комментарии 0

Postgresso #2 за 2022 (39)

Блог компании Postgres Professional PostgreSQL *


В эти безрадостные дни многим трудно работать, сочинять и даже читать статьи. Но ИТ-инфраструктура это как водопровод — без неё жизнь уже почти невозможна. И мы продолжаем выпускать Postgresso. По понятным причинам в этом выпуске будет много ссылок, меньше анализа. И главная тема — миграция

Миграция


Проблемы миграции с Oracle на Postgres обычно начинаются там, где приходится иметь дело с различиями в синтаксисе команд и прочими расхождениями в этих СУБД. Об этом и говорится в большинстве статей и видео.

Начнём с Oracle to Postgres Conversion

Это официальный документ сообщества PostgreSQL. Есть список инструментов миграции.

The Complete Oracle to PostgreSQL Migration Guide: Move and convert Schema, Application & Data

Довольно пространное руководство от EDB. Есть матрица возможностей миграционных инструментов.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 5.1K
Комментарии 1

PostgreSQL 15: Часть 4 или Коммитфест 2022-01

Блог компании Postgres Professional PostgreSQL *SQL *
Первые три коммитфеста 15-й версии (2021-07, 2021-09, 2021-11) не баловали нас крупными изменениями. Не стал исключением и четвертый, январский коммитфест. Но всё-таки найдется о чем рассказать.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 3.4K
Комментарии 6

Postgresso №1 за 2022 (38)

Блог компании Postgres Professional PostgreSQL *


Экстренное сообщение: PGConf.Russia переносится!


Уважаемые коллеги! Вынуждены сообщить, что площадка, на которой мы хотели провести PGConf.Russia 2022, попала под приказ о непроведении массовых мероприятий. В связи с этим конференция переносится на другую площадку и иные даты — конец марта или начало апреля. Мы активно работаем над тем, чтобы PGConf.Russia 2022 состоялся. Более подробная информация появится чуть позже.

Но это хорошая новость для нерасторопных: прием докладов продлевается до 20 февраля.

Принимаются доклады оффлайн длительностью 45 или 22 минуты или мастер-классы длительностью 90 минут на русском и английском языке. Возможно подключение ноутбука докладчиков для живых демонстраций (Live coding).

Регистрироваться здесь.

Основные темы:
  • PostgreSQL на переднем крае: высокие нагрузки, большие БД, отказоустойчивость;
  • новое в PostgreSQL и вокруг: развитие PostgreSQL и его экосистемы;
  • PostgreSQL в реальных системах: архитектура, миграция, эксплуатация;
  • использование PostgreSQL в платформе 1С;
  • PostgreSQL в геоинформационных системах (GIS).

Другие конференции


HighLoad++

Должна пройти в Крокус-Экспо 17-18 марта. Вот программа.

pgDay Paris 2022
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 3.2K
Комментарии 2

Вспоминаем доклады конференции PGConf.Russia 2021

Блог компании Postgres Professional PostgreSQL *


Открыта регистрация на конференцию PGConf.Russia 2022. Конференция состоится 28 февраля – 01 марта там же, где и в прошлом году — в Первом МГМУ имени И. М. Сеченова. Принимаются доклады оффлайн длительностью 45 или 22 минуты или мастер-классы длительностью 90 минут на русском и английском языке. Возможно подключение ноутбука докладчиков для живых демонстраций (Live coding).

Ну а мы решили по этому поводу обновить воспоминания о предыдущей конференцииPGConf.Russia 2021 (офлайновой, в 2021-м была и онлайновая)

Начнём с докладов, которые стали тогда победителями голосования.
1-е место:

Андрей Зубков, руководитель группы систем мониторинга (Postgres Professional),
Развитие модуля анализа исторической нагрузки pg_profile/pgpro_pwr.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1K
Комментарии 1

Битвы на территории ZFS

Блог компании Postgres Professional PostgreSQL *
Один из крупных клиентов нашей компании попал в грустную ситуацию: базы данных подросли, потребности тоже, купили мощные NUMA-сервера, установили любимую файловую систему ZFS (ZFS — для краткости: формально это OpenZFS), а производительность PostgreSQL стала хуже, чем до покупки.

Базы нешуточные: две базы, в каждой по 180ТБ. В них сливаются данные из многих других, непостгресовых баз. А этими, огромными, напрямую пользуются аналитики компании, и эта деятельность критически важная. ZFS сжала эти базы в два раза — теперь каждая занимает на диске по 90 ТБ, железу бы вздохнуть с облегчением. А стало только хуже. Пригласили наших сотрудников из поддержи, они провели аудит. Случай нам показался интересным, и мы решили о нём рассказать. Заодно напомнив о средствах диагностики.
Читать дальше →
Всего голосов 89: ↑87 и ↓2 +85
Просмотры 15K
Комментарии 95

Postgresso 37

Блог компании Postgres Professional PostgreSQL *


Топы


Best PostgreSQL GUIs in 2021 (Updated)

TOP-11 GUI от Retool. Поразительно, что Retool (GUI с web-интерфейсом) участник топа, но не входит в десятку — он скромно замыкает их список.

По каждому GUI обязательные пункты: преимущества, недостатки. К PgAdmin добавили главку по набору шорткатов редактирования, а для Navicat по их высокоэстетичному дизайну. Рассматриваются:
  1. pgAdmin;
  2. Navicat;
  3. DBeaver;
  4. HeidiSQL;
  5. Datagrip;
  6. OmniDB;
  7. Beekeeper Studio;
  8. TablePlus;
  9. QueryPie;
  10. SQLGate;
  11. Retool.

Но это, в свою очередь, топ внутри топа, золото на пьедестале вот этого:

TOP-8: Что больше всего читали (кликали) на Postgres Weekly в 2021-м
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 5.6K
Комментарии 1

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

Блог компании Postgres Professional PostgreSQL *SQL *
Вместе с началом зимы, релизный цикл 15-й версии продвинулся еще на один, теперь уже третий, коммитфест. Напомню, что о предыдущих двух можно подробнее прочитать здесь: 2021-07, 2021-09.

Теперь же посмотрим, что происходило в последнем на текущий момент, ноябрьском коммитфесте.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 3.2K
Комментарии 2

Postgresso 36

Блог компании Postgres Professional PostgreSQL *


Вавилонская рыбка открыла свои коды


Главный девелопер-адвокат AWS Себастьян Стормак (Sébastien Stormacq) от имени Amazon объявил с зашкаливающим радикализмом об открытии кода Babelfish: Goodbye Microsoft SQL Server, Hello Babelfish. Об этом пишут и на OpenNet:
Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Просмотры 4.9K
Комментарии 4

Postgresso 35 — спецвыпуск: PostgreSQL 14

Блог компании Postgres Professional PostgreSQL *


Пресс-релиз PostgreSQL обширен и основателен. Есть и выжимка (highlights), в которой после бурных обсуждений в рассылках выделили главное.

Статей о 14-й много. Мы смотрели и разрозненные статьи и целые сериалы:
обзоры коммитфестов Павла Лузанова (5 серий),
waiting for PostgreSQL 14 Хуберта 'depesz' Любашевского (18),
микрообзоры Postgres 14 highlights Мишеля Пакье (Michael Paquier) (5),
в блоге Fujitsu OSS (5).

Кроме того есть пространная статья-справочник от HPE: PostgreSQL 14 New Features With Examples (Beta 1).

Начнём со статей, в которых авторы стараются охватить версию 14 в целом. Но перед этим разомнёмся

в облаках и контейнерах

Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 5.2K
Комментарии 1

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

Блог компании Postgres Professional PostgreSQL *SQL *
30 сентября вышла новая версия PostgreSQL 14… но хватит уже жить прошлым☺, в этот же день закончился второй коммитфест 15 версии. А значит прямо сейчас можно узнать что нового ждет нас через год.

Список изменений в этом выпуске получился не очень длинным, но кое-что интересное всё-таки найдется:

  • Как заставить очистку в «агрессивном» режиме работать менее агрессивно?
  • Кто на самом деле владелец схемы PUBLIC?
  • Cколько разделяемой памяти потребуется для запуска сервера? А количество огромных страниц?
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 3.2K
Комментарии 0

Запросы в PostgreSQL: 7. Сортировка и слияние

Блог компании Postgres Professional PostgreSQL *SQL *

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

В заключительной статье этой серии я расскажу про алгоритм слияния и про сортировку, и сравню все три алгоритма соединения между собой.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 5.7K
Комментарии 6

Запросы в PostgreSQL: 6. Хеширование

Блог компании Postgres Professional PostgreSQL *SQL *

В предыдущих статьях я рассказал про этапы выполнения запросов, про статистику, про два основных вида доступа к данным — последовательное сканирование и индексное сканирование, — и перешел к способам соединения.

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

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 8.7K
Комментарии 0

Postgresso 34

Блог компании Postgres Professional PostgreSQL *


В ожидании PostgreSQL 15


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

Думаю, вы следите за обзорами Павла Лузанова о новостях коммитфестов. Если нет, то задумайтесь, не стоит ли. Павел, между прочим, не перечисляет буквально все патчи, а отбирает значимые, обычно с SQL-примерами.

Название скромничает: в обзоре также и о PostgreSQL 14 — принятые доработки. Но больше о 15-й. Часто Павел даёт коротенький код, демонстрирующий изменения — в духе «вот так запрос работал в 14-й, а в 15-й уже вот так». Иногда заныривает и глубже в историю — в 13-ю, если это оправдано контекстом, как при анализе pg_dump и схема public, например.

Напоминаем, что самое интересное о 14 версии можно прочитать и в предыдущих статьях: 2020-07, 2020-09, 2020-11, 2021-01 и 2021-03.

Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 3K
Комментарии 1

Запросы в PostgreSQL: 5. Вложенный цикл

Блог компании Postgres Professional PostgreSQL *SQL *

Я уже рассказал об этапах выполнения запросов и о статистике, и о двух основных видах доступа к данным: о последовательном сканировании и об индексном сканировании.

Настал черед способов соединения. В этой статье я кратко напомню, какие бывают логические типы соединений, и расскажу о первом из трех физических способов соединения — о вложенном цикле. Заодно посмотрим и на новую для 14-й версии мемоизацию строк.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 8K
Комментарии 0

Запросы в PostgreSQL: 4. Индексное сканирование

Блог компании Postgres Professional PostgreSQL *SQL *

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

Прежде чем погружаться в детали индексного доступа, надо было бы рассказать про интерфейс индексных методов. Но я это уже делал в статье про индексы, и, хотя та серия несколько устарела, повторяться не буду. Если слова «класс операторов» и «свойства методов доступа» не находят отклика в душе, статью лучше перечитать.

Читать далее
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 7.7K
Комментарии 9

Запросы в PostgreSQL: 3. Последовательное сканирование

Блог компании Postgres Professional PostgreSQL *SQL *

В предыдущих статьях я рассказал об этапах выполнения запросов и о статистике.

Теперь пришла пора рассмотреть самые важные узлы, из которых может состоять план. Я начну со способов доступа к данным, и в этой статье расскажу о последовательном сканировании.

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

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 7.7K
Комментарии 5

Запросы в PostgreSQL: 2. Статистика

Блог компании Postgres Professional PostgreSQL *SQL *

В прошлый раз я рассказал об этапах выполнения запросов. Прежде чем переходить к тому, как работают различные узлы плана (способы доступа к данным и методы соединения), надо разобраться с той основой, на которую опирается стоимостной оптимизатор — со статистикой.

Как обычно, я буду приводить примеры из демобазы. В этой статье будет довольно много планов выполнения, но про их составные части я буду рассказывать только в следующих статьях. Здесь же нас в первую очередь будут интересовать оценки количества строк (кардинальности), то есть числа, указанные в верхней строке плана в позиции rows.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 10K
Комментарии 2

Информация

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