Skip to content

Instantly share code, notes, and snippets.

@cpursley
Last active October 23, 2025 14:42
Show Gist options
  • Save cpursley/c8fb81fe8a7e5df038158bdfe0f06dbb to your computer and use it in GitHub Desktop.
Save cpursley/c8fb81fe8a7e5df038158bdfe0f06dbb to your computer and use it in GitHub Desktop.

Revisions

  1. cpursley revised this gist Feb 12, 2025. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -57,6 +57,7 @@

    ## NoSQL

    - https://github.com/microsoft/documentdb
    - https://www.ferretdb.com
    - https://github.com/event-driven-io/Pongo
    - https://www.postgresql.org/docs/current/datatype-json.html
    @@ -129,6 +130,7 @@

    ## Performance Tuning

    - https://github.com/nexsol-technologies/pgassistant
    - [Index Advisor](https://github.com/supabase/index_advisor)
    - [Dexter](https://github.com/ankane/dexter)
    - [HypoPG](https://github.com/HypoPG/hypopg)
  2. cpursley revised this gist Jan 15, 2025. 1 changed file with 6 additions and 0 deletions.
    6 changes: 6 additions & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -11,6 +11,7 @@

    - https://github.com/citusdata/pg_cron
    - https://github.com/cybertec-postgresql/pg_timetable
    - https://github.com/crunchydata/pg_incremental

    ## Message Queues

    @@ -41,6 +42,7 @@
    - [Vecto: Hybrid Search with Postgres (pgvector) and Elixir (Ecto)](https://github.com/cpursley/vecto)
    - [Postgres Full Text Search](https://gist.github.com/cpursley/e3586382c3a42c54ca7f5fef1665be7b) (bunch of helpful links)
    - https://github.com/paradedb/paradedb
    - https://github.com/postgresml

    ## Time Series

    @@ -63,6 +65,7 @@
    ## Graph Data

    - https://age.apache.org
    - https://github.com/edgedb/edgedb

    ## Foreign Data

    @@ -131,11 +134,14 @@
    - [HypoPG](https://github.com/HypoPG/hypopg)
    - [pg_hint_plan](https://github.com/ossc-db/pg_hint_plan)
    - [PGHero](https://github.com/ankane/pghero)
    - https://codeberg.org/Data-Bene/StatsMgr

    ## Scaling

    - [How Cloudflare Achieved 55 Million Requests per Second with Just 15 PostgreSQL Clusters!](https://levelup.gitconnected.com/how-cloudflare-achieved-55-million-requests-per-second-with-just-15-postgresql-clusters-2d8a28ffd100)
    - https://github.com/supabase/supavisor
    - https://github.com/postgresml/pgcat
    - https://www.pgbouncer.org/
    - https://github.com/pg-sharding/spqr

    ## Dashboards / UIs
  3. cpursley revised this gist Nov 18, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -92,7 +92,7 @@
    ## Events, Replication, CDC,

    - https://www.postgresql.org/docs/current/sql-notify.html
    - https://github.com/cpursley/walex (subscribe to Postgres WAL events)
    - https://github.com/cpursley/walex (subscribe to Postgres WAL events - powers [Appraisal Inbox](https://appraisalinbox.com/))
    - https://github.com/PeerDB-io/peerdb
    - https://github.com/debezium/debezium
    - https://github.com/2ndQuadrant/pglogical
  4. cpursley revised this gist Nov 6, 2024. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -68,6 +68,10 @@

    - https://github.com/supabase/wrappers

    ## Custom Types

    - [pgPDF: pdf type for Postgres](https://github.com/Florents-Tselai/pgpdf)

    ## Alternative Query Langauges

    - https://github.com/kaspermarstal/plprql
  5. cpursley revised this gist Aug 23, 2024. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -156,6 +156,7 @@

    ## In-Browser & WASM
    - https://github.com/electric-sql/pglite
    - https://github.com/instantdb/instant

    ## Miscellaneous

  6. cpursley revised this gist Aug 17, 2024. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,7 @@

    - [Simplify: move code into database functions](https://sive.rs/pg)
    - [Just Use Postgres for Everything](https://www.amazingcto.com/postgres-for-everything/)
    - [Just use Postgres](https://mccue.dev/pages/8-16-24-just-use-postgres)
    - [PostgreSQL is the worlds’ best database](https://www.2ndquadrant.com/en/blog/postgresql-is-the-worlds-best-database/)
    - [Postgres is eating the database world](https://medium.com/@fengruohang/postgres-is-eating-the-database-world-157c204dcfc4)
    - [Hacker News discussion](https://news.ycombinator.com/item?id=39273954)
  7. cpursley revised this gist Aug 12, 2024. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -153,6 +153,9 @@

    - https://github.com/supabase/postgres_lsp

    ## In-Browser & WASM
    - https://github.com/electric-sql/pglite

    ## Miscellaneous

    - [Very comprehensive list of Postgres tooling](https://gist.github.com/mjf/d885e3631c3eaa8a5a9ea62c5c20407c)
  8. cpursley revised this gist Jul 9, 2024. 1 changed file with 2 additions and 7 deletions.
    9 changes: 2 additions & 7 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -36,16 +36,11 @@

    ## Search

    ### Full Text

    - [Hybrid Search](https://github.com/cpursley/vecto) (full text search + pgvector)
    - https://github.com/pgvector/pgvector
    - [Vecto: Hybrid Search with Postgres (pgvector) and Elixir (Ecto)](https://github.com/cpursley/vecto)
    - [Postgres Full Text Search](https://gist.github.com/cpursley/e3586382c3a42c54ca7f5fef1665be7b) (bunch of helpful links)
    - https://github.com/paradedb/paradedb

    ### Vector

    - https://github.com/pgvector/pgvector

    ## Time Series

    - https://github.com/timescale/timescaledb
  9. cpursley revised this gist Jul 8, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -132,7 +132,7 @@
    - [pg_hint_plan](https://github.com/ossc-db/pg_hint_plan)
    - [PGHero](https://github.com/ankane/pghero)

    ## Scalling
    ## Scaling

    - [How Cloudflare Achieved 55 Million Requests per Second with Just 15 PostgreSQL Clusters!](https://levelup.gitconnected.com/how-cloudflare-achieved-55-million-requests-per-second-with-just-15-postgresql-clusters-2d8a28ffd100)
    - https://github.com/supabase/supavisor
  10. cpursley revised this gist Jul 7, 2024. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -59,9 +59,10 @@

    ## NoSQL

    - https://www.ferretdb.com
    - https://github.com/event-driven-io/Pongo
    - https://www.postgresql.org/docs/current/datatype-json.html
    - https://github.com/robconery/dox
    - https://www.ferretdb.com

    ## Graph Data

  11. cpursley revised this gist Jun 24, 2024. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -53,6 +53,7 @@
    ## Column Oriented

    - https://github.com/paradedb/paradedb/tree/dev/pg_analytics
    - https://github.com/paradedb/paradedb/tree/dev/pg_lakehouse
    - https://github.com/hydradatabase/hydra
    - https://github.com/citusdata/cstore_fdw

  12. cpursley revised this gist Jun 18, 2024. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -38,12 +38,12 @@

    ### Full Text

    - [Hybrid Search](https://github.com/cpursley/vecto) (full text search + pgvector)
    - [Postgres Full Text Search](https://gist.github.com/cpursley/e3586382c3a42c54ca7f5fef1665be7b) (bunch of helpful links)
    - https://github.com/paradedb/paradedb

    ### Vector

    - https://github.com/neondatabase/pg_embedding
    - https://github.com/pgvector/pgvector

    ## Time Series
    @@ -52,6 +52,7 @@

    ## Column Oriented

    - https://github.com/paradedb/paradedb/tree/dev/pg_analytics
    - https://github.com/hydradatabase/hydra
    - https://github.com/citusdata/cstore_fdw

    @@ -89,7 +90,7 @@
    ## Events, Replication, CDC,

    - https://www.postgresql.org/docs/current/sql-notify.html
    - https://github.com/cpursley/walex (Disclosure: I maintain this and think it's pretty awesome)
    - https://github.com/cpursley/walex (subscribe to Postgres WAL events)
    - https://github.com/PeerDB-io/peerdb
    - https://github.com/debezium/debezium
    - https://github.com/2ndQuadrant/pglogical
  13. cpursley revised this gist Apr 14, 2024. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -124,6 +124,7 @@
    ## Performance Tuning

    - [Index Advisor](https://github.com/supabase/index_advisor)
    - [Dexter](https://github.com/ankane/dexter)
    - [HypoPG](https://github.com/HypoPG/hypopg)
    - [pg_hint_plan](https://github.com/ossc-db/pg_hint_plan)
    - [PGHero](https://github.com/ankane/pghero)
  14. cpursley revised this gist Apr 14, 2024. 1 changed file with 13 additions and 6 deletions.
    19 changes: 13 additions & 6 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -121,6 +121,19 @@
    - https://github.com/xataio/pgroll
    - https://github.com/stripe/pg-schema-diff

    ## Performance Tuning

    - [Index Advisor](https://github.com/supabase/index_advisor)
    - [HypoPG](https://github.com/HypoPG/hypopg)
    - [pg_hint_plan](https://github.com/ossc-db/pg_hint_plan)
    - [PGHero](https://github.com/ankane/pghero)

    ## Scalling

    - [How Cloudflare Achieved 55 Million Requests per Second with Just 15 PostgreSQL Clusters!](https://levelup.gitconnected.com/how-cloudflare-achieved-55-million-requests-per-second-with-just-15-postgresql-clusters-2d8a28ffd100)
    - https://github.com/supabase/supavisor
    - https://github.com/pg-sharding/spqr

    ## Dashboards / UIs

    - [Baserow](https://baserow.io)
    @@ -141,12 +154,6 @@

    - https://github.com/supabase/postgres_lsp

    ## Scalling

    - [How Cloudflare Achieved 55 Million Requests per Second with Just 15 PostgreSQL Clusters!](https://levelup.gitconnected.com/how-cloudflare-achieved-55-million-requests-per-second-with-just-15-postgresql-clusters-2d8a28ffd100)
    - https://github.com/supabase/supavisor
    - https://github.com/pg-sharding/spqr

    ## Miscellaneous

    - [Very comprehensive list of Postgres tooling](https://gist.github.com/mjf/d885e3631c3eaa8a5a9ea62c5c20407c)
  15. cpursley revised this gist Mar 25, 2024. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -145,6 +145,7 @@

    - [How Cloudflare Achieved 55 Million Requests per Second with Just 15 PostgreSQL Clusters!](https://levelup.gitconnected.com/how-cloudflare-achieved-55-million-requests-per-second-with-just-15-postgresql-clusters-2d8a28ffd100)
    - https://github.com/supabase/supavisor
    - https://github.com/pg-sharding/spqr

    ## Miscellaneous

  16. cpursley revised this gist Mar 15, 2024. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -3,6 +3,7 @@
    - [Simplify: move code into database functions](https://sive.rs/pg)
    - [Just Use Postgres for Everything](https://www.amazingcto.com/postgres-for-everything/)
    - [PostgreSQL is the worlds’ best database](https://www.2ndquadrant.com/en/blog/postgresql-is-the-worlds-best-database/)
    - [Postgres is eating the database world](https://medium.com/@fengruohang/postgres-is-eating-the-database-world-157c204dcfc4)
    - [Hacker News discussion](https://news.ycombinator.com/item?id=39273954)

    ## Background and Cron Jobs
  17. cpursley revised this gist Mar 7, 2024. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -93,6 +93,10 @@
    - https://github.com/debezium/debezium
    - https://github.com/2ndQuadrant/pglogical

    ## Caching
    - https://martinheinz.dev/blog/105
    - https://github.com/readysettech/readyset

    ## Unit Tests

    - https://github.com/theory/pgtap
  18. cpursley revised this gist Feb 26, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -52,7 +52,7 @@
    ## Column Oriented

    - https://github.com/hydradatabase/hydra
    -
    - https://github.com/citusdata/cstore_fdw

    ## NoSQL

  19. cpursley revised this gist Feb 21, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -71,7 +71,7 @@
    ## Alternative Query Langauges

    - https://github.com/kaspermarstal/plprql
    - https://supabase.github.io/pg_graphql/
    - https://supabase.github.io/pg_graphql

    ## HTTP

  20. cpursley revised this gist Feb 21, 2024. 1 changed file with 12 additions and 1 deletion.
    13 changes: 12 additions & 1 deletion postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,7 @@
    - [PostgreSQL is the worlds’ best database](https://www.2ndquadrant.com/en/blog/postgresql-is-the-worlds-best-database/)
    - [Hacker News discussion](https://news.ycombinator.com/item?id=39273954)

    ## Background and Cron Jobs
    ## Background and Cron Jobs

    - https://github.com/citusdata/pg_cron
    - https://github.com/cybertec-postgresql/pg_timetable
    @@ -49,6 +49,11 @@

    - https://github.com/timescale/timescaledb

    ## Column Oriented

    - https://github.com/hydradatabase/hydra
    -

    ## NoSQL

    - https://www.postgresql.org/docs/current/datatype-json.html
    @@ -63,6 +68,11 @@

    - https://github.com/supabase/wrappers

    ## Alternative Query Langauges

    - https://github.com/kaspermarstal/plprql
    - https://supabase.github.io/pg_graphql/

    ## HTTP

    - https://github.com/pramsey/pgsql-http
    @@ -104,6 +114,7 @@
    - https://github.com/purcell/postgresql-migrations
    - https://www.bytebase.com/
    - https://github.com/xataio/pgroll
    - https://github.com/stripe/pg-schema-diff

    ## Dashboards / UIs

  21. cpursley revised this gist Feb 17, 2024. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -86,6 +86,7 @@
    ## Unit Tests

    - https://github.com/theory/pgtap
    - https://github.com/peterldowns/pgtestdb

    ## HTML and Applications

  22. cpursley revised this gist Feb 16, 2024. 1 changed file with 6 additions and 1 deletion.
    7 changes: 6 additions & 1 deletion postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -115,11 +115,16 @@
    - [Evidence](https://evidence.dev)
    - [Metabase](https://metabase.com)

    ## Package Management

    - https://github.com/pgxman/pgxman
    - https://github.com/supabase/dbdev

    ## Language Servers

    - https://github.com/supabase/postgres_lsp

    ## Scaling
    ## Scalling

    - [How Cloudflare Achieved 55 Million Requests per Second with Just 15 PostgreSQL Clusters!](https://levelup.gitconnected.com/how-cloudflare-achieved-55-million-requests-per-second-with-just-15-postgresql-clusters-2d8a28ffd100)
    - https://github.com/supabase/supavisor
  23. cpursley revised this gist Feb 13, 2024. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -124,4 +124,8 @@
    - [How Cloudflare Achieved 55 Million Requests per Second with Just 15 PostgreSQL Clusters!](https://levelup.gitconnected.com/how-cloudflare-achieved-55-million-requests-per-second-with-just-15-postgresql-clusters-2d8a28ffd100)
    - https://github.com/supabase/supavisor

    ## Miscellaneous

    - [Very comprehensive list of Postgres tooling](https://gist.github.com/mjf/d885e3631c3eaa8a5a9ea62c5c20407c)

    # What's missing? Please share in the comments.
  24. cpursley revised this gist Feb 11, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -121,7 +121,7 @@

    ## Scaling

    - https://levelup.gitconnected.com/how-cloudflare-achieved-55-million-requests-per-second-with-just-15-postgresql-clusters-2d8a28ffd100
    - [How Cloudflare Achieved 55 Million Requests per Second with Just 15 PostgreSQL Clusters!](https://levelup.gitconnected.com/how-cloudflare-achieved-55-million-requests-per-second-with-just-15-postgresql-clusters-2d8a28ffd100)
    - https://github.com/supabase/supavisor

    # What's missing? Please share in the comments.
  25. cpursley revised this gist Feb 11, 2024. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -119,4 +119,9 @@

    - https://github.com/supabase/postgres_lsp

    ## Scaling

    - https://levelup.gitconnected.com/how-cloudflare-achieved-55-million-requests-per-second-with-just-15-postgresql-clusters-2d8a28ffd100
    - https://github.com/supabase/supavisor

    # What's missing? Please share in the comments.
  26. cpursley revised this gist Feb 9, 2024. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -52,6 +52,7 @@
    ## NoSQL

    - https://www.postgresql.org/docs/current/datatype-json.html
    - https://github.com/robconery/dox
    - https://www.ferretdb.com

    ## Graph Data
  27. cpursley revised this gist Feb 8, 2024. 1 changed file with 7 additions and 1 deletion.
    8 changes: 7 additions & 1 deletion postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,8 @@
    # PostgreSQL is Enough

    - [Just Use Postgres for Everything](https://www.amazingcto.com/postgres-for-everything/)
    - [Simplify: move code into database functions](https://sive.rs/pg)
    - [Just Use Postgres for Everything](https://www.amazingcto.com/postgres-for-everything/)
    - [PostgreSQL is the worlds’ best database](https://www.2ndquadrant.com/en/blog/postgresql-is-the-worlds-best-database/)
    - [Hacker News discussion](https://news.ycombinator.com/item?id=39273954)

    ## Background and Cron Jobs
    @@ -48,6 +49,11 @@

    - https://github.com/timescale/timescaledb

    ## NoSQL

    - https://www.postgresql.org/docs/current/datatype-json.html
    - https://www.ferretdb.com

    ## Graph Data

    - https://age.apache.org
  28. cpursley revised this gist Feb 7, 2024. 1 changed file with 2 additions and 4 deletions.
    6 changes: 2 additions & 4 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -25,14 +25,12 @@
    - https://github.com/pgMemento/pgMemento
    - https://github.com/pgaudit/pgaudit

    ## Access Control
    ## Access Control & Authorization

    - https://github.com/arkhipov/acl

    ## Authorization

    - https://www.postgresql.org/docs/current/pgcrypto.html
    - https://github.com/michelp/pgjwt
    - https://supabase.com/docs/guides/database/vault

    ## Search

  29. cpursley revised this gist Feb 7, 2024. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -97,6 +97,7 @@

    - https://github.com/purcell/postgresql-migrations
    - https://www.bytebase.com/
    - https://github.com/xataio/pgroll

    ## Dashboards / UIs

  30. cpursley revised this gist Feb 7, 2024. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions postgresql_is_enough.md
    Original file line number Diff line number Diff line change
    @@ -7,6 +7,7 @@
    ## Background and Cron Jobs

    - https://github.com/citusdata/pg_cron
    - https://github.com/cybertec-postgresql/pg_timetable

    ## Message Queues