Skip to content

How to reduce complexity and move faster? Just Postgres for everything.

Notifications You must be signed in to change notification settings

Olshansk/postgres_for_everything

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 

Repository files navigation

Postgres for Everything (e/postgres)

Keep It Simple Stupid, just use postgres.

Goals & Inspiration

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.

Why maintain this list?

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!

Table of Contents

Blog Posts & Articles

Cron Jobs

Embeddable Postgres

  • 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.

Message Queues

  • 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

Analytics

GIS & Mapping

Audit Logs

Access Control & Authorization

Search

Full Text

Vector

  • 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.

Hybrid

  • plpgsql_bm25rrf.sql: Hybrid search (BM25+pgvector) with Reciprocal Rank Fusion implemented in PL/pgSQL

Time Series

Column Oriented

NoSQL

Graph Data

  • Apache Age: Graph Database for PostgreSQL to provide graph data processing and analytics capability to all relational databases.

Foreign Data

HTTP

API Platforms

GraphQL and Alternative Query Languages

  • PostGraphile: Extensible high-performance automatic GraphQL API for PostgresSQL
  • supabase/pg_graphql: PostgreSQL extension that enables querying the database with GraphQL using a single SQL function
  • dosco/graphjin: GraphJin automatically converts GraphQL into SQL queries
  • kaspermarstal/plprql: PostgreSQL extension to write functions using PRQL (Pipelined Relational Query Language)

Events, Replication, CDC

Caching

Unit Tests

HTML & Applications

Migrations

Performance Tuning

Scaling & Storage

Dashboards & UIs

Visualization

Graphics Visualization

  • dr-jts/pg_svg: Collection of PostgreSQL functions to create SVG graphics intended to convert PostGIS geometries into styled SVG documents

Data Visualization

  • Evidence
  • Metabase
  • Hopara: Platform for real-time data visualization intended for Manufacturing, IoT, Life Science and Data Lakes.

Package Management

Language Servers

Miscellaneous

About

How to reduce complexity and move faster? Just Postgres for everything.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published