TGViewer
Useful Tools | Linux | GitOps | DevOps Useful Tools | Linux | GitOps | DevOps @gitgate · 6.77K subscribers
Post #1427 2.98K
PgQue - управление очередями в Postgres без лишнего раздувания. Один SQL-файл для установки, pg_cron для отслеживания прогресса.

Большинство очередей PostgreSQL используют операторы SKIP LOCKED плюс DELETE и/или UPDATE. Это работает в простых примерах, но затем приводит к появлению "мертвых" кортежей, перегрузке VACUUM, раздуванию индексов и снижению производительности при длительной нагрузке.

PgQue избегает целого класса проблем. Он использует пакетную обработку на основе снимков и ротацию таблиц с помощью команды TRUNCATE вместо удаления каждой строки. Путь "горячей точки" остается предсказуемым:
- отсутствие избыточности по задумке: никаких ненужных кортежей в основном пути очереди.
- отсутствие снижения производительности: программа не замедляется даже после нескольких месяцев работы.
- создана для систем с высокой нагрузкой: для режима длительной нагрузки, для которого и была разработана оригинальная архитектура PgQ.
- настоящие гарантии PostgreSQL: ACID-транзакции, блокировка/потребление транзакций, WAL, резервное копирование, репликация, прозрачность SQL-запросов.
- работает на управляемых серверах PostgreSQL: без пользовательской сборки, без расширений на C, без отдельного демона.

PgQue обеспечивает семантику очередей внутри PostgreSQL, сохраняя при этом надежность и транзакционное поведение PostgreSQL, без излишнего раздувания, которое в конечном итоге возникает при использовании большинства очередей внутри баз данных.

Для команд, которым нужен надежный поток событий внутри PostgreSQL. Модель ближе к Kafka (логи), чем к ActiveMQ или RabbitMQ (очередь сообщений задач). Общий журнал событий, независимые курсоры для каждого потребителя, отсутствие раздувания под постоянной нагрузкой. Чистый SQL и PL/pgSQL, любая версия PostgreSQL 14+ - управляемая или самодостаточная, без демона-дополнения.

https://github.com/NikolayS/pgque

Опубликовано в @gitgate

#postgres #vacuum
  • 👍 9
  • 🔥 5
More from @gitgate
  1. Sep 26, 2026pi - инструментарий для ИИ-агентов: унифицированный API LLM, цикл работы агентов, TUI, инт…
  2. Sep 25, 2026kimi-k3-in-c - система Kimi K3 с 2,78 триллионами параметров, выполняющая инференс на одно…
  3. Sep 25, 2026Kagent + Ollama: ИИ-агент для работы с Kubernetes Как использовать локальную языковую моде…
  4. Sep 24, 2026SourceCraft — на платформе появилась возможность подключать автономных ИИ-агентов к разраб…
  5. Sep 24, 2026AutoConnector for Telegram - приложение само находит в интернете MTProto-прокси, проверяет…
  6. Sep 22, 2026opendisplay - бесплатная альтернатива Sidecar/Duet с открытым исходным кодом - используйте…
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 →