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

Postgresso 36

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


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


Главный девелопер-адвокат AWS Себастьян Стормак (Sébastien Stormacq) от имени Amazon объявил с зашкаливающим радикализмом об открытии кода Babelfish: Goodbye Microsoft SQL Server, Hello Babelfish. Об этом пишут и на OpenNet:
Читать дальше →

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

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


Пресс-релиз 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 в целом. Но перед этим разомнёмся

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

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

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

Время на прочтение7 мин
Количество просмотров5.3K
30 сентября вышла новая версия PostgreSQL 14… но хватит уже жить прошлым☺, в этот же день закончился второй коммитфест 15 версии. А значит прямо сейчас можно узнать что нового ждет нас через год.

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

  • Как заставить очистку в «агрессивном» режиме работать менее агрессивно?
  • Кто на самом деле владелец схемы PUBLIC?
  • Cколько разделяемой памяти потребуется для запуска сервера? А количество огромных страниц?
Читать дальше →

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

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

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

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

Читать далее

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

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

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

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

Читать далее

Postgresso 34

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


В ожидании 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.

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

Запросы в PostgreSQL: 1. Этапы выполнения

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

Привет, Хабр! Начинаю еще один цикл статей об устройстве PostgreSQL, на этот раз о том, как планируются и выполняются запросы.

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

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

Материал перекликается с нашим учебным курсом QPT «Оптимизация запросов», но ограничивается только подробностями внутреннего устройства и не затрагивает оптимизацию как таковую. Кроме того, я ориентируюсь на еще не вышедшую версию PostgreSQL 14. А курс мы тоже скоро обновим (правда, на версию 13; приходится бежать со всех ног, чтобы только оставаться на месте).

Поехали

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

Время на прочтение13 мин
Количество просмотров8.2K
Закончился июль, не только самый жаркий месяц года, но и месяц первого коммитфеста очередного релизного цикла PostgreSQL. Самое время собрать свежую версию сервера и посмотреть на принятые изменения.

SELECT version();
                          version                           
------------------------------------------------------------
 PostgreSQL 15devel on x86_64-pc-linux-gnu, compiled by gcc
 (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, 64-bit

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

Postgresso 33

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


Продолжаем экспериментировать с форматом: в этом выпуске нет раздела Релизы, но несколько релизов разбросаны по соответствующему контексту.

Люди


Список коммитеров прирос Даниэлем Густафссоном (Daniel Gustafsson, Greenplum, из Стокгольма) и Джоном Найлором (John Naylor, 2ndQuadrant=EDB)

Даниэль: я использую, разрабатываю и продвигаю open source последние 15 лет, фокусируясь в основном на PostgreSQL и curl. Сейчас я работаю в Greenplum. Я контрибьютор PostgreSQL и работаю над кодом ядра PostgreSQL. А ещё над веб-сайтом, там я коммитер. Кроме программистских дел, я ещё и организую международные конференции: Nordic PGDay, FOSDEM, PGDay и PostgreSQL Conference Europe.

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

Интервью: Брин Льюэллин
Читать дальше →

Postgresso 32

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


БЕТА 14


PostgreSQL 14 beta

Вышла первая бета PostgreSQL 14, а затем и вторая (здесь отличия 1-й беты от 2-й, они незначительные). Дальше будет ещё, возможно, несколько бета-релизов, потом один или несколько релиз-кандидатов и — в конце сентября 2021-го — официальная PostgreSQL 14.

Загрузить
Информация для бета-тестеров
Новое в PostgreSQL 14
Нерешённые проблемы PostgreSQL 14
Найдите баг. И пришлите.

Вместо эпиграфа слова Брюса Момджана:
в предыдущих четырёх в мажорных релизах было от 170 до 189 пунктов с новшествами, а здесь — 222. Такое случалось разве что до 2017 года.

Что делать с такой горой информации?

Первый совет наш обычный: не ждите релиза, читайте уникальные (не только для русского контекста) обзоры принятых коммитов от Павла Лузанова. Это энциклопедия новшеств. С примерами. Можно увидеть и динамику — что когда приняли. Вот все 5 частей по коммитфестам, имеющим отношение к версии 14:
Июльский,
Сентябрьский,
Ноябрьский,
Январский,
Апрельский.

Кроме того, на этот раз можно посмотреть, например, ещё вот какие источники: микро-обзоры Мишеля Пакье (Michael Paquier) в серии Postgres 14 highlights. Пока их вышло пять:

Monitoring for COPY

COPY TO и COPY FROM нередко занимают много времени, поэтому возможность посмотреть, как идут дела с копированием, не прихоть. В новом системном представлении pg_stat_progress_copy по одной строке с 8 полями (см. статью) на каждый бэкенд.
Читать дальше →

Отказоустойчивый кластер PostgreSQL с помощью crm

Время на прочтение10 мин
Количество просмотров11K
Автор — Игорь Косенков, инженер Postgres Professional

Привет всем! Сегодня речь пойдет о кластере. Да, снова об отказоустойчивом кластере на базе Corosync/Pacemaker. Только настраивать мы его будем не как обычно — с помощью утилиты pcs, а с помощью мало используемой утилиты crm.

С точки зрения использования этих утилит (pcs и crm) весь мир Unix-like операционок делится на два вида:

  • содержит пакеты утилиты pcs (RHEL, CentOS, Debian, Ubuntu);
  • содержит пакеты утилиты crm (SLES, Opensuse, Elbrus, Leningrad и т.д.).

crm — cluster resource manager — специальная утилита, которая используется для создания и управления отказоустойчивым кластером. Она включена в пакет crmsh, который обычно не входит в состав самых распространенных дистрибутивов Linux.

Идея написать статью об этой утилите пришла однажды, когда я спросил у поисковика: «Как настроить отказоустойчивый кластер с помощью crm». В ответ не получил ничего нужного и полезного, т.к. поисковик мне предложил много вариантов, никак не связанных с crm.

В то же время, если спросить у поисковика про утилиту настройки кластера pcs, которая является по функционалу такой же утилитой, как и crm, то информации будет много. Есть даже несколько статей на Хабре (в том числе и моя статья Кластер pacemaker/corosync без валидола).
Читать дальше →

Мониторинг 95+ метрик PostgreSQL с помощью плагина Zabbix Agent 2

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

В прошлом году популярный сервис мониторинга Zabbix представил Agent 2, призванный сократить число TCP-подключений и обеспечить удобную расширяемость за счёт плагинов на Golang.

Меня зовут Даша и я один из разработчиков плагина мониторинга PostgreSQL для Zabbix Agent 2. В этой статье я расскажу об основных “фишках” использования Zabbix Agent 2 для мониторинга PostgreSQL, о принципе работы плагина, дам советы по его настройке, а также объясню на примере, как кастомизировать плагин.

Читать далее

SQL: разбор задачи на поиск последней цены

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

В эфире снова Радио SQL, здравствуйте, согалактчики!

Сегодня у нас обещанный разбор задачи на поиск последней цены.

Давай, уже заждались

Postgresso 31

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


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

PostgreSQL 14 Beta 1


Релизная группа в составе Пит Гейган (Pete Geoghegan, Crunchy Data), Мишель Пакье (Michael Paquier, VMWare) и Эндрю Данстан (Andrew Dunstan, EDB) предлагают опубликовать бету 20-го мая, как это и происходило с предыдущими бетами.



Commitfest afterparty


PostgreSQL 14: Часть 5 или «весенние заморозки» (Коммитфест 2021-03)

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

Вот авторский тизер:
  • Может ли один запрос параллельно выполняться на разных серверах?
  • Как найти запрос из pg_stat_activity в pg_stat_statements?
  • Можно ли добавлять и удалять секции секционированной таблицы не останавливая приложение?
  • Как пустить разработчиков на прод чтобы они могли всё видеть, но ничего не могли изменить?
  • Почему VACUUM после COPY FREEZE заново переписывает всю таблицу и что с этим делать?
  • Можно ли сжимать TOAST чем-то кроме медленного zlib?
  • Как понять сколько времени длится блокировка найденная в pg_locks?
  • Для чего нужны CYCLE и SEARCH рекурсивному запросу?
  • Текст функций на каких языках (кроме C) не интерпретируется при вызове?

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

PostgreSQL 14: Часть 5 или «весенние заморозки» (Коммитфест 2021-03)

Время на прочтение47 мин
Количество просмотров10K
8 апреля 2021 г. в 15:00 по московскому времени закончился мартовский коммитфест, а вместе с ним и прием изменений в PostgreSQL 14.

Напомню, что всё самое интересное о первых четырех коммитфестах можно найти в предыдущих статьях серии: июльский, сентябрьский, ноябрьский, январский.

В этой пойдет речь о последнем, мартовском. Заранее предупреждаю, что статья получилась огромная. Но плохо ли это? Чем длиннее список новых возможностей, тем лучше PostgreSQL 14! Это с одной стороны. А с другой, вовсе не обязательно читать всё подряд от начала и до конца. Текст состоит из описания патчей. В любом месте можно остановиться, с любого места можно начать.

А почитать есть о чем. Не верите? Вопросы на засыпку:

  • Может ли один запрос параллельно выполняться на разных серверах?
  • Как найти запрос из pg_stat_activity в pg_stat_statements?
  • Можно ли добавлять и удалять секции секционированной таблицы не останавливая приложение?
  • Как пустить разработчиков на прод чтобы они могли всё видеть, но ничего не могли изменить?
  • Почему VACUUM после COPY FREEZE заново переписывает всю таблицу и что с этим делать?
  • Можно ли сжимать TOAST чем-то кроме медленного zlib?
  • Как понять сколько времени длится блокировка найденная в pg_locks?
  • Для чего нужны CYCLE и SEARCH рекурсивному запросу?
  • Текст функций на каких языках (кроме C) не интерпретируется при вызове?

Приступим.
Читать дальше →

Postgresso 30

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

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

Хардверные ускорители: FPGA


В небольшом сообщении Энди Эликотта (Andy Ellicott) в блоге Swarm64 3 hardware acceleration options Postgres users should know in 2020 рассказывается о трёх аппаратных ускорителях, не GPU, а FRGA, и все они в облаках. У автора свой интерес: у Swarm64 есть собственное решение на FPGA-ускорителе. Значимым сигналом он считает объявление Amazon об FPGA-ускорителе кэша (FPGA-powered caching layer) в Redshift AQUA (Advanced Query Accelerator) в Amazon, который убыстряет запросы на порядок. А вообще уже почти все облака (во всяком случае Amazon, Alibaba, и Azure) используют сейчас FPGA-ускорители, просвещает нас Энди.

Итак:

Swarm64 Data Accelerator (DA)

это расширение, которое умеет переписывать обычные SQL-запросы, чтобы распараллеливать вычисления на всех этапах их исполнения, а сотни читающих или пишущих процессов будут работать параллельно на FPGA. Кроме того, там реализованы индексы columnstore, как в MS SQL Server. Есть техническое описание в PDF, но именно про FPGA в нём ничего нет. Зато есть демонстрационное видео, показывающее, как можно легко и быстро развернуть Postgres на инстансе Amazon EC2 F1 с FPGA. Ещё есть результаты тестов TPC-H (а позиционируется эта комбинация с FPGA прежде всего как ускоритель для гибридных транзакционно-аналитических нагрузок — HTAP), и там показывает выигрыш в 50 раз по скорости.
Читать дальше →

Информация

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