Skip to content

Commit 3660b3c

Browse files
committed
change to partial index
1 parent 9d8ca39 commit 3660b3c

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

README.md

+8-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ CREATE TABLE IF NOT EXISTS outbox_messages
3939
published_at TIMESTAMP
4040
);
4141

42-
CREATE INDEX idx_outbox_messages_published_at ON outbox_messages (published_at);
42+
CREATE INDEX IF NOT EXISTS idx_outbox_messages_published_at_null ON outbox_messages (published_at) WHERE published_at IS NULL;
4343
```
4444

4545
The outbox table name can be customized, but the table structure should remain exactly the same.
@@ -128,4 +128,10 @@ Source code and instructions for the example are located in the [examples/01_sns
128128

129129
## Stargazers over time
130130

131-
[![Stargazers over time](https://starchart.cc/nikolayk812/pgx-outbox.svg?variant=adaptive)](https://starchart.cc/nikolayk812/pgx-outbox)
131+
[![Stargazers over time](https://starchart.cc/nikolayk812/pgx-outbox.svg?variant=adaptive)](https://starchart.cc/nikolayk812/pgx-outbox)
132+
133+
## Alternatives
134+
135+
- [Trendyol/go-pq-cdc](https://github.com/Trendyol/go-pq-cdc) - Change Data Capture (CDC) library for PostgreSQL
136+
- [watermill-sql](https://github.com/ThreeDotsLabs/watermill-sql) - PostgreSQL Pub/Sub for Watermill
137+
- [dataddo/pgq](https://github.com/dataddo/pgq) - Go queue implementation using PostgreSQL
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
DROP INDEX IF EXISTS idx_outbox_messages_published_at;
1+
DROP INDEX IF EXISTS idx_outbox_messages_published_at_null;
22
DROP TABLE IF EXISTS outbox_messages;

internal/sql/01_outbox_messages.up.sql

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ CREATE TABLE IF NOT EXISTS outbox_messages
1111
published_at TIMESTAMP
1212
);
1313

14-
CREATE INDEX IF NOT EXISTS idx_outbox_messages_published_at ON outbox_messages (published_at);
14+
-- https://www.postgresql.org/docs/current/indexes-partial.html
15+
CREATE INDEX IF NOT EXISTS idx_outbox_messages_published_at_null ON outbox_messages (published_at) WHERE published_at IS NULL;

0 commit comments

Comments
 (0)