GraphQL 与 PostgreSQL 工具合集仓库,包含 Grafast 执行引擎和 PostGraphile 自动 GraphQL API 生成器。
- Star
- 5,344
- Fork
- 151
- 未关闭 Issue
- 29
- 最近提交
- 3天前
这是什么?
PGMQ 是运行在 PostgreSQL 内部的消息队列。无需额外部署 RabbitMQ、Redis 之类的消息中间件,每个队列就是 pgmq 模式下的一张表,通过 SQL 函数完成消息的发送、读取、归档和删除。它没有后台进程,也没有外部依赖,可以在现有 Postgres 实例上直接使用,也可以作为扩展安装。
消费者读取消息时会设置可见性超时:消息在处理期间对其他消费者不可见;如果超时前没有被删除或归档,消息会重新变为可见。在该机制下,项目支持超时窗口内的恰好一次投递,并提供带消息组键的 FIFO 队列,以及支持通配符的主题路由。归档的消息会保存在独立的表中,便于之后查询。
项目提供支持 Postgres 14 至 18 的 Docker 镜像,并有 Rust、Python 等多种语言的客户端库。
核心功能
- 01以 Postgres SQL 对象形式运行,无需后台进程
- 02可见性超时机制保证超时窗口内的恰好一次投递
- 03支持带消息组键的 FIFO 队列,实现有序处理
- 04支持通配符的主题路由
- 05消息可归档到独立表中,用于长期保留和回放
- 06API 与 AWS SQS、RSMQ 保持相近
适用场景
- 在已使用 Postgres 的应用中加入后台任务队列
- 在中小型技术栈中避免额外部署消息中间件
- 需要超时后重试失败任务的可靠任务处理
- 通过归档已处理消息保留审计记录
快速上手
- 1
启动预装 PGMQ 的 Postgres 容器
docker run -d --name pgmq-postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 ghcr.io/pgmq/pg18-pgmq:v1.10.0 - 2
使用 psql 连接数据库
psql postgres://postgres:postgres@localhost:5432/postgres - 3
在 SQL 中启用扩展
CREATE EXTENSION pgmq;
使用前须知
- 需要运行中的 Postgres 实例,因此必须自行管理数据库。
- 除元数据中的 PostgreSQL 许可证外,README 未提及其他需注意的事项。
标签
常见问题
- pgmq 是什么?
- 基于 Postgres 实现的轻量级消息队列,API 设计参考 AWS SQS 和 RSMQ。 PGMQ 是运行在 PostgreSQL 内部的消息队列。无需额外部署 RabbitMQ、Redis 之类的消息中间件,每个队列就是 pgmq 模式下的一张表,通过 SQL 函数完成消息的发送、读取、归档和删除。它没有后台进程,也没有外部依赖,可以在现有 Postgres 实例上直接使用,也可以作为扩展安装。
- pgmq 可以免费使用吗?用的什么许可证?
- pgmq 以 PostgreSQL 许可证开源。用于商业产品前,请先确认许可证条款。
- pgmq 还在维护吗?
- 活跃维护中。pgmq 最近一次提交是在 2026年10月20日。
- pgmq 适合用来做什么?
- 在已使用 Postgres 的应用中加入后台任务队列 在中小型技术栈中避免额外部署消息中间件 需要超时后重试失败任务的可靠任务处理 通过归档已处理消息保留审计记录
- pgmq 怎么安装和运行?
- 启动预装 PGMQ 的 Postgres 容器: docker run -d --name pgmq-postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 ghcr.io/pgmq/pg18-pgmq:v1.10.0 使用 psql 连接数据库: psql postgres://postgres:postgres@localhost:5432/postgres 在 SQL 中启用扩展: CREATE EXTENSION pgmq;
- 在哪里获取 pgmq?
- 源代码和安装说明在 GitHub 上:https://github.com/pgmq/pgmq
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.3万631TypeScriptMIT更新于 22小时前
免费的跨平台桌面 SQL 客户端与数据库工具,支持 100 多种数据库。
5.2万4422JavaApache-2.0更新于 3天前
开源商业智能工具,让团队成员无需写 SQL 即可查询数据、搭建仪表盘,并支持嵌入应用。
5万6916ClojureOther更新于 前天
面向 Node.js 与 TypeScript 的 ORM,提供类型安全的数据库访问,支持 PostgreSQL、MySQL、SQLite、MongoDB 等。
4.8万2527TypeScriptApache-2.0更新于 前天
免费的浏览器端数据库结构编辑器,可绘制 ER 图并生成 SQL 脚本,无需注册账号。
4万3326JavaScriptAGPL-3.0更新于 7天前
轻量级、无头的 TypeScript ORM,支持 PostgreSQL、MySQL 和 SQLite,可运行于 Node.js、Bun、Deno 及边缘运行时。
3.6万1726TypeScriptApache-2.0更新于 3天前