Блог

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

    Разбираемся с ошибкой no empty local buffer available в PostgreSQL 18

    Ошибка возникала на типовой конфигурации 1С:ЗУП при формировании отчета по штатной численности. Версия PostgreSQL - 18.1, на 17-й версии проблемы не было. Запрос, приводившей к ошибке, пытался выполнить вставку во временную таблицу

    От неизвестной схемы до защищённой БД: полный цикл защиты данных в Tantor Certified 17

    Ручной анализ схемы БД из 50+ таблиц займёт часы, а риск что-то упустить останется высоким. Каждый день промедления – потенциальное нарушение требований регуляторов.

    Ускорение планирования JOIN’ов — до 16 раз быстрее

    Скрытая стоимость избыточной осведомленности. Так можно сказать о ситуации, когда данные распределены неравномерно, целевые значения статистики Postgres установлены высоко, и планировщик пытается оценить стоимость операции JOIN

    Логирование (аудит) сессий в PostgreSQL

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

    Как мониторить сотни инстансов 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), а также описывается патч, который позволяет её использовать.