docs.rs failed to build pgx_pgmq-0.0.1-alpha
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Postgres Message Queue
A lightweight message queue extension for Postgres.
Usage
Installation
Setup pgx.
Then, clone this repo and change into this directory.
git clone git@github.com:CoreDB-io/coredb.git
cd coredb/extensions/pgmq/
Run the dev environment
CREATE EXTENSION pgmq;
Creating a queue
SELECT pgmq_create('my_queue');
Enqueueing a message
pgmq=# SELECT pgmq_enqueue('my_queue', '{"foo": "bar"}');
pgmq_enqueue
--------------
1
Read a message
Reads a single message from the queue.
pgmq=# SELECT pgmq_read('my_queue');
pgmq_read
------------------------------------------------------------------------
{"message":{"foo":"bar"},"msg_id":1,"vt":"2023-01-01T13:54:15.646554"}
If the queue is empty, or if all messages are currently invisible, it will immediately return None.
pgmq=# SELECT pgmq_read('my_queue');
pgmq_read
-----------
Pop a message
Read a message and immediately delete it from the queue. Returns None if the queue is empty.
pgmq=# SELECT pgmq_pop('my_queue');
pgmq_pop
------------------------------------------------------------------------
{"message":{"foo":"bar"},"msg_id":1,"vt":"2023-01-01T13:55:15.967657"}
Delete a message
Delete a message with id 1 from queue named my_queue.
pgmq=# select pgmq_delete('my_queue', 1);
pgmq_delete
-------------
t