TGViewer
Data Science. SQL hub Data Science. SQL hub @sqlhub · 35.9K subscribers
Post #1145 4.29K
💻 Внутренности PostgreSQL: кэш системного каталога

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

Реализация кэша находится в следующих файлах:
⏩syscache.{c,h} — реализация основных функций кэша. Функции оперируют с Datum’ами и HeapTuple’ами;

⏩catcache.{c,h} — низкоуровневые функции, используемые syscache.c. Выделение и освобождение памяти реализовано здесь;

⏩lsyscache.{c,h} — высокоуровневая обертка над syscache.c. Содержит функции «получить имя отношения по его Oid» и подобного рода;

⏩inval.{c,h} — логика инвалидации кэша. Подробности см ниже по тексту;

⏩sinvaladt.{c,h} — реализация кольцевого буфера в разделяемой памяти, через который рассылаются сообщения об инвалидации кэшей;

⏩sinval.{c,h} — интерфейс коммуникации через sinvaladt.c. Содержит функции вроде «отправить / получить SharedInvalidationMessage»;

📎 Подробнее

@sqlhub
  • 👍 10
  • ❤ 3
  • 🔥 2
More from @sqlhub
  1. Oct 3, 2026DOOM запустили внутри SQL-базы. Каждый кадр теперь результат запроса 🤯 Лукас Фогель собра…
  2. Oct 3, 2026Из аналитика в дата-инженеры: переход реален? 🤔 В последнее время все чаще дата-инженерия…
  3. Oct 2, 2026🧠 TIL: SQLite превращает числа в текст сразу по две цифры Обычно integer → string делают…
  4. Oct 1, 2026GitHub представил Agentic Engineering System - фреймворк для команд, которые внедряют AI-а…
  5. Oct 1, 2026Tencent обошла экспортный запрет США: 100 000 ИИ-чипов в аренду у Oracle По данным Financi…
  6. Sep 30, 2026Полезный совет для MySQL 8: используй LATERAL, когда для каждой строки нужно получить «луч…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →