🔬 Системный каталог PostgreSQL (ч. 3). Всем привет! Продолжаем разбираться с системным каталогом PostgreSQL. Это будет заключительная заметка из этой серии. Фактически, те метакоманды psql, которые мы изучали в первой заметке из этой серии соответствуют конкретным таблицам системного каталога. Вот их примерное соответствие: \d (таблицы и объекты) - pg_class \di (индексы) - pg_class, pg_index \dx (установленные расширения) - pg_extension \dp (таблицы и привилегии) - pg_class,...
Postgres Guru | Базы данных 💐
Все о самой популярной СУБД PostgreSQL: технические статьи, новости и немного юмора. Сотрудничество: @Sferg007 Ссылка для друзей: https://t.me/+NRjYf8gGR3RmYmMy Сайт: https://ibtorg.ru Postgres Guru в VK https://vk.com/pg_guru
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
20 из 20Сейчас в тренде подводить итоги года канала. Вот и мы решили не отставать. Наши итоги года не сильно выдающиеся, но мы и не гнались за цифрами. Все чего мы хотели - это приносить реальную пользу нашими постами всем DBA, кто нас читает. И надеемся, что нам это удалось! ☺️ Всех с наступающим Новым Годом! Успехов и стабильной работы ваших СУБД в новом году. Мы в свою очередь постараемся приносить вам еще больше пользы и интересных постов в новом году!
🤖 Храним большие базы данных PostgreSQL правильно. Базы данных PostgreSQL имеют свойство незаметно расти. Однажды вы замечаете, что запросы замедлились, резервное копирование длится вечность, и никто уже не помнит, что хранится в той таблице на 500 ГБ. В заметке рассмотрим как бороться с разрастанием базы данных, какие у нас для этого есть методы и возможности. 📌 Партиционирование. Если в вашей базе есть одна гигантская таблица, которая продолжает расти, партиционирование может стать спасением...
🔬 PostgreSQL 18 и поддержка NUMA (libnuma). Всем привет! Надеюсь все пришли в себя после длинных выходных и готовы воспринимать информацию ☺️ В PostgreSQL версии 18 была представлена начальная поддержка архитектуры NUMA (Non-Uniform Memory Access, неоднородный доступ к памяти), которая реализована с использованием библиотеки libnuma. Чтобы эта поддержка работала, PostgreSQL должна быть собрана с опциец конфигурации --with-libnuma. Эта функция помогает оптимизировать производительность на многоп...
🔬 Системный каталог PostgreSQL (ч. 1). В Postgres собрано огромное количество данных в его собственных внутренних таблицах. Системный каталог Postgres — это то место, в котором Postgres ведёт учёт самого себя. Здесь Собранно куча полезной информации о СУБД и база данных, которая может пригодиться в разных ситуациях: от поиска проблем с производительностью, до выявления узких мест безопасности СУБД. Решили сделать для вас шпаргалку по самым востребованным представлениям и командам системного кат...
🔬 Как бороться с раздуванием таблиц (bloat)? Раздувание (bloat) - это свободное пространство внутри страниц базы данных, которое образуется, когда AUTOVACUUM удаляет большое количество кортежей (tuples). Когда строка в таблице обновляется, Postgres не перезаписывает старые данные. Вместо этого он помечает старую версию строки (кортеж) как "мёртвую" и создаёт новую версию строки. Со временем, по мере обновления или удаления строк, пространство, занимаемое этими мёртвыми кортежами, может накаплив...
🤖 Используем ИИ в PostgreSQL (расширение pg_ai_query). На фоне бума развития искусственного интеллекта, неудивительно, что ИИ появляется и в нашей любимой PostgreSQL. Недавно появилась стабильная версия расширения pg_ai_query, которое позволяет использовать ИИ прямо в внутри PostgreSQL. Официальный GitHub расширения: ➡️ https://github.com/benodiwal/pg_ai_query Основные возможности расширения: ✅ Описание SQL запросов на естественном языке (пока только на английском): преобразование описаний на е...
🤬 Чиним поврежденный уникальный индекс в PostgreSQL. Если вы увидели вот такую картину с первичными ключами в таблице, то это следствие повреждения уникального индекса: SELECT id FROM mytable ORDER BY id LIMIT 5; id ---- 1 2 3 3 4 (5 rows) Надо чинить! ⚠️ Перед дальнейшими операциями обязательно сделайте копию таблицы с повреждённым индексом, а лучше всей базы. Уникальный индекс невозможно создать (или пересоздать), пока в таблице есть дублирующиеся строки. Postgres просто откажется это делать,...
🌐 Обновления PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, и 13.23 Вчера, 13.11.2025 вышли обновления для всех основных версий PostgreSQL. ⚠️ Это последнее обновление безопасности для 13-й версии PostgreSQL. Больше она обновляться не будет. В обновлениях, как обычно закрыли несколько дыр в безопасности и исправили кучу багов, которые в основном качаются PostgreSQL версии 18. 🤖 Проблемы безопасности. CVE-2025-12817: Команда CREATE STATISTICS в PostgreSQL не проверяет привилегию CREATE для схемы. ...
🔬 Системный каталог PostgreSQL (ч. 2). Продолжаем исследовать полезные представления системного каталога PostgreSQL. Поехали дальше! pg_stat_user_tables Это представление предоставляет статистику по таблицам, включая последовательные сканирования, сканирования по индексам и операции на уровне строк (вставки, обновления, удаления). Оно отлично подходит для выявления таблиц с высокой нагрузкой или тех, которые требуют вакуумизации. Пример запроса, который покажет последовательные сканирования и с...