Блог
Фильтр по тегам

Как мониторить сотни инстансов PostgreSQL и не сойти с ума
Если вы инженер в крупной компании, а особенно если ваша организация поставляет свои услуги в виде SaaS-решений, то вам так или иначе придется решать задачу мониторинга работы всех ваших баз PostgreSQL. На них часто бывает завязан функционал, важный для компании с точки зрения финансовых рисков, поэтому крайне желательно организовать не только мониторинг, но и получение уведомлений, когда что-то идет не по плану (или пойдет в ближайшем будущем).

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

Почему SELECT FOR UPDATE считается в PostgreSQL вредным
Разбирая взаимоблокировки у клиента, я вспомнил, насколько опасным может быть использование SELECT FOR UPDATE при конкурентном доступе. В этом нет ничего нового, но я заметил, что многие не знают о режимах блокировки строк в PostgreSQL, и решил подробно описать, когда следует избегать SELECT FOR UPDATE.

64-битный счётчик транзакций в PostgreSQL
В статье описывается история создания патча, вводящего поддержку 64-битных номеров транзакций в PostgreSQL и почему он есть только в коммерческих форках. Статья особенно ценна тем, что под ней есть комментарий автора патча, Александра Короткова.

Выбор индекса при соединении по нескольким столбцам
Технически доклад довольно сложен, рассматривается в нём сразу несколько тем: алгоритм вычисления стоимости индексного доступа с точки зрения разработчика, проблема вычисления селективности при использовании предиката с несколькими условиями, проблема неиспользования расширенной статистики с параметризованным индексным доступом (parameterized scan), а также описывается патч, который позволяет её использовать.

Работа с временными таблицами в PostgreSQL
В статье рассматриваются особенности работы с временными таблицами и описано решение проблемы раздувания таблиц системного каталога, реализованное в СУБД Tantor Postgres. Начиная с версии 17.5, при создании и удалении временных таблиц, а также при работе с временными объектами таблицы системного каталога не изменяются.

pg_dphyp: учим PostgreSQL соединять таблицы по-другому
Эта статья не о DPhyp как таковом, а о том, с чем мне пришлось столкнуться в процессе написания расширения pg_dphyp (репозиторий) для PostgreSQL, реализующего этот алгоритм.

Пример создания патча для PostgreSQL
В статье рассмотрена техника создания патча на примере добавления нового колоночного атрибута в системный каталог, с возможностью установки значения через команду ALTER TABLE. Техника будет полезна тем, кто хочет лучше разобраться, как расширяется функционал PostgreSQL.

СУБД Tantor Postgres 17.5: обзор улучшений для 1С
Сегодня мы проведем обзор изменений, касающихся работы с высоконагруженными системами 1С. Новый релиз предлагает не просто несколько точечных исправлений, а целый арсенал специализированных функций, призванных существенно ускорить выполнение типичных для 1С операций, снизить нагрузку на инфраструктуру и упростить администрирование.