Keep It Simple Stupid, just use postgres.
The goal of this repository is to demonstrate how to use Postgres for Everything.
It's inspired by this article from the Amazing CTO as well as this GitHub gist from @cpursley.
It seems like every week I hear of a new tool on top of Postgres or another way it can being used, so I wanted a place where I can keep track of everything. If you have other examples, submit a PR!
- Blog Posts & Articles
- Cron Jobs
- Embeddable Postgres
- Message Queues
- Analytics
- GIS & Mapping
- Audit Logs
- Access Control & Authorization
- Search
- Time Series
- Column Oriented
- NoSQL
- Graph Data
- Foreign Data
- Alternative Query Languages
- HTTP
- APIs
- Events, Replication, CDC
- Caching
- Unit Tests
- HTML & Applications
- Graphics & Visualizations
- Migrations
- Performance Tuning
- Scaling & Storage
- Dashboards & UIs
- Data Visualization
- Package Management
- Language Servers
- Miscellaneous
- Simplify: move code into database functions
- Just Use Postgres for Everything
- PostgreSQL is the worlds' best database
- Postgres is eating the database world
- Hacker News discussion
- PGLite: WASM Postgres build packaged into a TypeScript library (< 10MB) that can run in the browser, Node.js, Bun and Deno. It's lightweight, reactive and sync live.
- https://adriano.fyi/posts/2023-09-24-choose-postgres-queue-technology
- tembo-io/pgmq
- SKIP LOCKED
- riverqueue/river
- sequinstream/sequin: Sequin is a tool for change data capture (CDC) in Postgres. Sequin makes it easy to stream Postgres rows and changes to streaming platforms and queues (e.g. Kafka and SQS). You can backfill existing rows and stream new changes in real-time.
- janbjorge/pgqueuer: PgQueuer is a Python library leveraging PostgreSQL for efficient job queuing.
- timgit/pg-boss: pg-boss is a job queue built in Node.js
- pg_analytics: Transforming Postgres into a Fast OLAP Database
- pg_duckdb: Official Postgres extension for DuckDB
- arkhipov/acl
- https://www.postgresql.org/docs/current/pgcrypto.html
- michelp/pgjwt
- supabase.com/docs/guides/database/vault
- Postgres Full Text Search (bunch of helpful links)
- paradedb/paradedb
- Postgres Full Text Search vs the rest
- pgvector/pgvector
- tensorchord/VectorChord: PostgreSQL extension designed for scalable, high-performance, and disk-efficient vector similarity search. It serves as the successor to the pgvecto.rs project.
- timescale/pgai: PostgreSQL extension to allow RAG, semantic search and other AI application development from within postgres. Based on pgvector.
- timescale/pgvectorscale: DiskANN vector index implementation complementary to pgvector.
- https://www.postgresql.org/docs/current/datatype-json.html
- robconery/dox
- https://www.ferretdb.com
- Using JSONB in PostgreSQL®: How to Effectively Store & Index JSON Data in PostgreSQL
- electric-sql/electric: HTTP API that enables synching Shapes (i.e. segments) of a Postgres database. It's like GraphQL for Postgres databases.
- The Notifier Pattern for Applications That Use Postgres
- SQL Notify
- cpursley/walex (Disclosure: I maintain this and think it's pretty awesome)
- PeerDB-io/peerdb
- debezium/debezium
- 2ndQuadrant/pglogical
- How Cloudflare Achieved 55 Million Requests per Second with Just 15 PostgreSQL Clusters!
- supabase/supavisor
- pg-sharding/spqr
- orioledb.com/: OrioleDB is a PostgreSQL extension that combines the advantages of both on-disk and in-memory engines. It uses PostgreSQL pluggable storage to increase performance and cut costs.
- Very comprehensive list of Postgres tooling
- Unsupported PostgreSQL features in Aurora DSQL: AWS has a new database engine called Aurora DSQL, and explicitly listed what PostgreSQL features are not supported.