zhub.link is one of the many independent Mastodon servers you can use to participate in the fediverse.

Administered by:

Server stats:

31
active users

#Tantor_Postgres

0 posts0 participants0 posts today
Habr<p>Как мониторить сотни инстансов PostgreSQL и не сойти с ума</p><p>Если вы инженер в крупной компании, а особенно если ваша организация поставляет свои услуги в виде SaaS-решений, то вам так или иначе придется решать задачу мониторинга работы всех ваших баз PostgreSQL. На них часто бывает завязан функционал, важный для компании с точки зрения финансовых рисков, поэтому крайне желательно организовать не только мониторинг, но и получение уведомлений, когда что-то идет не по плану (или пойдет в ближайшем будущем). В рамках статьи мы рассмотрим несколько способов, как это можно сделать: самостоятельно, с использованием уже привычного стека Prometheus + Grafana, либо подключая сторонние open-source специализированные решения для мониторинга PostgreSQL, либо же используя специализированные платные решения. По каждому варианту поймем все плюсы и минусы, чтобы вы cмогли более уверенно выбрать свой путь.</p><p><a href="https://habr.com/ru/companies/tantor/articles/940752/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/tantor/a</span><span class="invisible">rticles/940752/</span></a></p><p><a href="https://zhub.link/tags/postgresql" class="mention hashtag" rel="tag">#<span>postgresql</span></a> <a href="https://zhub.link/tags/tantor" class="mention hashtag" rel="tag">#<span>tantor</span></a> <a href="https://zhub.link/tags/tantor_postgres" class="mention hashtag" rel="tag">#<span>tantor_postgres</span></a> <a href="https://zhub.link/tags/saas_%D1%83%D1%81%D0%BB%D1%83%D0%B3%D0%B8" class="mention hashtag" rel="tag">#<span>saas_услуги</span></a> <a href="https://zhub.link/tags/prometheus" class="mention hashtag" rel="tag">#<span>prometheus</span></a> <a href="https://zhub.link/tags/grafana" class="mention hashtag" rel="tag">#<span>grafana</span></a></p>
Habr<p>Выбор индекса при соединении по нескольким столбцам</p><p>Когда имеется несколько индексов с одинаковыми ведущими столбцами, иногда выбирается не лучший индекс, и время выполнения запроса увеличивается на порядки. Такие ситуации встречаются в сложных приложениях, но чаще всего в 1С:ERP, поскольку это приложение наиболее распространено. Как это обычно бывает: после миграции приложения на СУБД PostgreSQL часть запросов начинает выполняться медленнее. Планировщик выбирает индекс, созданный по меньшему числу столбцов, время выполнения увеличивается, потому что при использовании такого индекса индексные записи указывают на строки таблицы, которые не соответствуют условиям соединения. При выборе же индекса по большему числу задействованных в запросе столбцов время выполнения становится существенно ниже и практически не зависит от размера таблиц. В статье детализируется часть доклада Максима Старкова на конференции PG BootCamp, которая прошла в апреле в Екатеринбурге. Описываются признаки таблиц и индексов, при работе с которыми может возникнуть проблема выбора худшего индекса, а также рассматривается пример, демонстрирующий, что строка &quot;Buffers&quot; характерна для определения эффективности выполнения запроса (в 18 версии PostgreSQL &quot;Buffers&quot; будет показываться в планах по умолчанию).</p><p><a href="https://habr.com/ru/companies/tantor/articles/930602/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/tantor/a</span><span class="invisible">rticles/930602/</span></a></p><p><a href="https://zhub.link/tags/postgresql" class="mention hashtag" rel="tag">#<span>postgresql</span></a> <a href="https://zhub.link/tags/tantor" class="mention hashtag" rel="tag">#<span>tantor</span></a> <a href="https://zhub.link/tags/tantor_postgres" class="mention hashtag" rel="tag">#<span>tantor_postgres</span></a></p>
Habr<p>Работа с временными таблицами в PostgreSQL</p><p>При создании временных таблиц в PostgreSQL изменяются до 13 таблиц системного каталога, при этом особенно сильно разрастаются pg_attribute , pg_class , pg_depend и pg_type . Массовое создание и усечение временных таблиц активно применяется, в том числе в 1C:ERP. В статье рассматриваются особенности работы с временными таблицами и описано решение проблемы раздувания таблиц системного каталога, реализованное в СУБД Tantor Postgres.</p><p><a href="https://habr.com/ru/companies/tantor/articles/930038/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/tantor/a</span><span class="invisible">rticles/930038/</span></a></p><p><a href="https://zhub.link/tags/postgresql" class="mention hashtag" rel="tag">#<span>postgresql</span></a> <a href="https://zhub.link/tags/tantor_postgres" class="mention hashtag" rel="tag">#<span>tantor_postgres</span></a> <a href="https://zhub.link/tags/tantor" class="mention hashtag" rel="tag">#<span>tantor</span></a></p>
Habr<p>СУБД Tantor Postgres 17.5: обзор улучшений для 1С</p><p>Новый релиз СУБД Tantor Postgres 17.5 насыщен обновлениями во всех основных аспектах: усиление безопасности, повышение общей производительности, новые расширения, а также инфраструктурные улучшения. Сегодня мы проведем обзор изменений, касающихся работы с высоконагруженными системами 1С. Релиз предлагает не просто несколько точечных исправлений, а целый арсенал специализированных функций, призванных существенно ускорить выполнение типичных для 1С операций, снизить нагрузку на инфраструктуру и упростить администрирование. Спектр улучшений распространился на многие ключевые узлы производительности от оптимизации работы с временными таблицами и сложными запросами RLS (row-level security) до ускорения критически важных процессов наподобие «Закрытия месяца». Обо всем этом и пойдет речь в статье.</p><p><a href="https://habr.com/ru/companies/tantor/articles/924978/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/tantor/a</span><span class="invisible">rticles/924978/</span></a></p><p><a href="https://zhub.link/tags/tantor_postgres" class="mention hashtag" rel="tag">#<span>tantor_postgres</span></a> <a href="https://zhub.link/tags/1c" class="mention hashtag" rel="tag">#<span>1c</span></a> <a href="https://zhub.link/tags/postgresql" class="mention hashtag" rel="tag">#<span>postgresql</span></a> <a href="https://zhub.link/tags/%D0%B2%D1%8B%D1%81%D0%BE%D0%BA%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>высокая_производительность</span></a> <a href="https://zhub.link/tags/%D0%B2%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%8B" class="mention hashtag" rel="tag">#<span>высоконагруженные_проекты</span></a> <a href="https://zhub.link/tags/%D0%B2%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="tag">#<span>высоконагруженные_приложения</span></a></p>
Habr<p>Авторизация OAuth 2.0 в PostgreSQL на примере Keycloak</p><p>Привет, Хабр! Мы продолжаем цикл статей о нововведениях СУБД Tantor Postgres 17.5.0, и сегодня поговорим о поддержке авторизации через OAuth 2.0 Device Authorization Flow — это современный и безопасный способ предоставления доступа, который позволяет приложениям запрашивать доступ к PostgreSQL от имени пользователя через внешнего провайдера идентификации и управления доступом, например Keycloak, что особенно удобно для облачных сред и микросервисных архитектур (функция будет также доступна в PostgreSQL 18). В статье пошагово разберём настройку OAuth-авторизации в PostgreSQL с использованием Keycloak: настроим Keycloak, подготовим PostgreSQL, напишем валидатор токенов OAuth в PostgreSQL и проверим успешную авторизацию через psql с использованием Device Flow.</p><p><a href="https://habr.com/ru/companies/tantor/articles/923582/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/tantor/a</span><span class="invisible">rticles/923582/</span></a></p><p><a href="https://zhub.link/tags/postgresql" class="mention hashtag" rel="tag">#<span>postgresql</span></a> <a href="https://zhub.link/tags/tantor_postgres" class="mention hashtag" rel="tag">#<span>tantor_postgres</span></a> <a href="https://zhub.link/tags/tantor" class="mention hashtag" rel="tag">#<span>tantor</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D0%BE%D0%B5_%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>системное_администрирование</span></a> <a href="https://zhub.link/tags/keycloak" class="mention hashtag" rel="tag">#<span>keycloak</span></a> <a href="https://zhub.link/tags/oauth_20" class="mention hashtag" rel="tag">#<span>oauth_20</span></a></p>
Habr<p>Когда может быть полезно сэмплирование в pg_stat_statements?</p><p>pg_stat_statements — стандартное расширение PostgreSQL для сбора статистики выполнения SQL-запросов. Статистика позволяет анализировать поведение запросов во времени, выявлять проблемные участки и принимать обоснованные решения по оптимизации. Однако в системах с высокой конкуренцией pg_stat_statements само по себе может стать узким местом и вызывать просадки производительности. В этой статье разбираем, в каких сценариях расширение становится источником проблем, как устроено сэмплирование и в каких случаях его применение позволяет снизить накладные расходы.</p><p><a href="https://habr.com/ru/companies/tantor/articles/919592/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/tantor/a</span><span class="invisible">rticles/919592/</span></a></p><p><a href="https://zhub.link/tags/postgresql" class="mention hashtag" rel="tag">#<span>postgresql</span></a> <a href="https://zhub.link/tags/tantor_postgres" class="mention hashtag" rel="tag">#<span>tantor_postgres</span></a> <a href="https://zhub.link/tags/tantor" class="mention hashtag" rel="tag">#<span>tantor</span></a> <a href="https://zhub.link/tags/%D0%A1%D0%B5%D0%BC%D0%BF%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>Семплирование</span></a> <a href="https://zhub.link/tags/pg_stat_statements" class="mention hashtag" rel="tag">#<span>pg_stat_statements</span></a> <a href="https://zhub.link/tags/LWLock" class="mention hashtag" rel="tag">#<span>LWLock</span></a></p>
Habr<p>Внутристраничная очистка в индексах PostgreSQL</p><p>Внутристраничная очистка (HOT cleanup) – это оптимизация, благодаря которой старые версии строк могут эффективно удаляться из блоков таблиц. Освобождённое место используется под размещение новой версии строки. Освобождается только место, занимаемое версиями строк, вышедшими за горизонт базы данных (xmin horizon). В статье рассматривается алгоритм работы аналогичной оптимизации для индексов. Если горизонт удерживается, то ни внутристраничная очистка, ни вакуум не могут освободить место, и тогда новая версия строки вставляется в другой блок. Увидим на примере стандартного теста pgbench, как сильно может снижаться производительность при удержании горизонта базы данных (в случае когда есть сессия с долгим запросом или транзакцией) и разберемся в причинах снижения производительности.</p><p><a href="https://habr.com/ru/companies/tantor/articles/916318/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/tantor/a</span><span class="invisible">rticles/916318/</span></a></p><p><a href="https://zhub.link/tags/postgresql" class="mention hashtag" rel="tag">#<span>postgresql</span></a> <a href="https://zhub.link/tags/tantor_postgres" class="mention hashtag" rel="tag">#<span>tantor_postgres</span></a> <a href="https://zhub.link/tags/postgres" class="mention hashtag" rel="tag">#<span>postgres</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%BE%D1%81%D1%82%D0%B3%D1%80%D0%B5%D1%81" class="mention hashtag" rel="tag">#<span>постгрес</span></a> <a href="https://zhub.link/tags/pgbench" class="mention hashtag" rel="tag">#<span>pgbench</span></a></p>
Habr<p>Трассировка запросов в Postgres с расширением pg_trace</p><p>В рамках статьи расскажем о расширении pg_trace, предназначенном для сбора трассировок запросов в PostgreSQL, соберем трассировку на реальном примере работы приложения, оценим влияние сбора трассировки на производительность и агрегируем данные трассировки.</p><p><a href="https://habr.com/ru/companies/tantor/articles/915256/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/tantor/a</span><span class="invisible">rticles/915256/</span></a></p><p><a href="https://zhub.link/tags/tantor" class="mention hashtag" rel="tag">#<span>tantor</span></a> <a href="https://zhub.link/tags/%D1%82%D0%B0%D0%BD%D1%82%D0%BE%D1%80" class="mention hashtag" rel="tag">#<span>тантор</span></a> <a href="https://zhub.link/tags/tantor_postgres" class="mention hashtag" rel="tag">#<span>tantor_postgres</span></a> <a href="https://zhub.link/tags/postgresql" class="mention hashtag" rel="tag">#<span>postgresql</span></a> <a href="https://zhub.link/tags/postgres" class="mention hashtag" rel="tag">#<span>postgres</span></a> <a href="https://zhub.link/tags/%D1%81%D1%83%D0%B1%D0%B4" class="mention hashtag" rel="tag">#<span>субд</span></a> <a href="https://zhub.link/tags/%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>тестирование</span></a> <a href="https://zhub.link/tags/1%D1%81" class="mention hashtag" rel="tag">#<span>1с</span></a> <a href="https://zhub.link/tags/1c" class="mention hashtag" rel="tag">#<span>1c</span></a> <a href="https://zhub.link/tags/1c_%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>1c_предприятие</span></a></p>
Habr<p>Как провести нагрузочное тестирование БД PostgreSQL и ничего не забыть</p><p>При нагрузочном тестировании баз данных Tantor Postgres или других на базе PostgreSQL с использованием стандартного инструмента pgbench отсутствие фиксации деталей окружения (таких как конфигурация СУБД, характеристики сервера, версии ПО) часто приводит к нерепрезентативным результатам и необходимости повторных тестов. В статье рассматривается разработанный автором инструмент pg_perfbench, который призван решить эту проблему.</p><p><a href="https://habr.com/ru/companies/tantor/articles/914320/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/tantor/a</span><span class="invisible">rticles/914320/</span></a></p><p><a href="https://zhub.link/tags/tantor" class="mention hashtag" rel="tag">#<span>tantor</span></a> <a href="https://zhub.link/tags/%D1%82%D0%B0%D0%BD%D1%82%D0%BE%D1%80" class="mention hashtag" rel="tag">#<span>тантор</span></a> <a href="https://zhub.link/tags/tantor_postgres" class="mention hashtag" rel="tag">#<span>tantor_postgres</span></a> <a href="https://zhub.link/tags/postgresql" class="mention hashtag" rel="tag">#<span>postgresql</span></a> <a href="https://zhub.link/tags/postgres" class="mention hashtag" rel="tag">#<span>postgres</span></a> <a href="https://zhub.link/tags/pg_bench" class="mention hashtag" rel="tag">#<span>pg_bench</span></a> <a href="https://zhub.link/tags/pg_perfbench" class="mention hashtag" rel="tag">#<span>pg_perfbench</span></a> <a href="https://zhub.link/tags/%D1%81%D1%83%D0%B1%D0%B4" class="mention hashtag" rel="tag">#<span>субд</span></a> <a href="https://zhub.link/tags/%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>тестирование</span></a></p>
Habr<p>Быстрый старт в маскировании данных PostgreSQL с инструментом pg_anon</p><p>В этой статье поговорим о не самом гламурном, но жизненно важном — маскировании данных. Маскирование может касаться имён, телефонов, номеров карт, медицинских диагнозов и другой чувствительной информации. Если ваша компания до сих пор передает данные подрядчикам или аналитикам как они есть в базе, это в один «прекрасный» момент обязательно обернётся репутационной или финансовой проблемой для бизнеса. В этой статье разберём, зачем нужно маскирование, какие данные требуют защиты, и представим opensource-инструмент, который поможет решить эти задачи гибко и эффективно.</p><p><a href="https://habr.com/ru/companies/tantor/articles/913196/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/tantor/a</span><span class="invisible">rticles/913196/</span></a></p><p><a href="https://zhub.link/tags/%D0%BC%D0%B0%D1%81%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85" class="mention hashtag" rel="tag">#<span>маскирование_данных</span></a> <a href="https://zhub.link/tags/pg_anon" class="mention hashtag" rel="tag">#<span>pg_anon</span></a> <a href="https://zhub.link/tags/postgresql" class="mention hashtag" rel="tag">#<span>postgresql</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5" class="mention hashtag" rel="tag">#<span>персональные_данные</span></a> <a href="https://zhub.link/tags/%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85" class="mention hashtag" rel="tag">#<span>защита_данных</span></a> <a href="https://zhub.link/tags/%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B4%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F" class="mention hashtag" rel="tag">#<span>конфиденциальная_информация</span></a> <a href="https://zhub.link/tags/%D1%82%D0%B0%D0%BD%D1%82%D0%BE%D1%80" class="mention hashtag" rel="tag">#<span>тантор</span></a> <a href="https://zhub.link/tags/tantor" class="mention hashtag" rel="tag">#<span>tantor</span></a> <a href="https://zhub.link/tags/tantor_postgres" class="mention hashtag" rel="tag">#<span>tantor_postgres</span></a> <a href="https://zhub.link/tags/%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85" class="mention hashtag" rel="tag">#<span>анонимизация_данных</span></a></p>
Habr<p>Работа с длинными строками в PostgreSQL</p><p>Если в таблицах БД PostgreSQL есть поля большого размера, при выгрузке часть строк таких таблиц может не выгружаться с выдачей ошибки ERROR: out of memory. Столкнуться с подобной ситуацией можно, например, при выгрузке утилитой pg_dump таблиц, в которых хранятся XML-документы, или при выгрузке таблицы public.config системы «1C:Предприятие». В статье рассматриваются причины возникновения подобных ошибок и способы решения проблемы.</p><p><a href="https://habr.com/ru/companies/tantor/articles/912288/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/tantor/a</span><span class="invisible">rticles/912288/</span></a></p><p><a href="https://zhub.link/tags/PostgreSQL" class="mention hashtag" rel="tag">#<span>PostgreSQL</span></a> <a href="https://zhub.link/tags/Tantor_Postgres" class="mention hashtag" rel="tag">#<span>Tantor_Postgres</span></a> <a href="https://zhub.link/tags/Postgres" class="mention hashtag" rel="tag">#<span>Postgres</span></a> <a href="https://zhub.link/tags/pgbench" class="mention hashtag" rel="tag">#<span>pgbench</span></a> <a href="https://zhub.link/tags/pg_dump" class="mention hashtag" rel="tag">#<span>pg_dump</span></a> <a href="https://zhub.link/tags/%D0%A2%D0%B0%D0%BD%D1%82%D0%BE%D1%80" class="mention hashtag" rel="tag">#<span>Тантор</span></a></p>