TGViewer
Java guru Java guru @java_guru · 923 subscribers
Post #80 1.49K
А вы знали что можно делать через pg_logical_emit_message() в PostgreSQL?

Сегодня прочитал очень занимательную статью про интересные способы использования pg_logical_emit_message(). На Oracle я такое никогда не делал и был приятно удивлен. Не знаю на сколько такое решение производительно, но звучит очень соблазнительно.

Через pg_logical_emit_message() можно писать в write-ahead log (WAL) базы и есть стандартный открытый апи для чтения из него (log-based change data capture CDC).

Способы использования:
1. Outbox Pattern. Если коротко, то он позволяет решить проблему с распределенными транзакциями. Например изменения в базе и уведомление через кафку смежников.
2. Логирование. Для меня пока выглядит слишком…экзотически, но возможно нужно привыкнуть к этой мысли и попытаться найти оправдания такому подходу. Еще помедитирую на эту тему.
3. Логи аудита. Пока кажется, что это частный случай пункта 2.
4. Advancing Replication Slots. Репликация для баз на одной машине. Возможно есть кто такое использует.

Краткий итог. Лично для меня больше интересен пункт 1. Я о таком даже не думал. Стоит попробовать и посмотреть на сколько это пригодно под нагрузками.
https://www.infoq.com/articles/wonders-of-postgres-logical-decoding-messages/
InfoQ The Wonders of Postgres Logical Decoding Messages In this article, author Gunnar Morling discusses Postgres database's logical decoding function to retrieve the messages from write-ahead log, process them, and relay them to external consumers, with help of use cases like outbox, audit logs and replication…
  • 👍 3
More from @java_guru
  1. Jan 14, 2026Spring TestContext Framework: Переопределение бинов в интеграционных тестах В Spring Frame…
  2. Oct 31, 20253D-моделирование с Rodin AI Компания Hyper3D выпустила обновление своего популярного инстр…
  3. Aug 29, 2025Представьте себе мир, где ваш поиск становится умнее и быстрее благодаря современным техно…
  4. Aug 22, 2025🔥 Как защитить персональные данные пользователей в условиях строгих правовых ограничений?…
  5. Aug 19, 2025Виртуальные потоки Java: разбор тестовых сценариев Команда Open Liberty изучила влияние ви…
  6. Aug 13, 2025HHH90003004: firstResult/maxResults specified with collection fetch; applying in memory Hi…
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 →