1225+ PostgreSQL Extensions Ranked & Compared

Every Postgres server extension — pgvector, PostGIS, pg_cron, Citus, and 1,200+ more — ranked by GitHub stars and grouped by category.

Last reviewed: June 5, 2026
323 extensions
1
timescaledb
22.8k+245 30d

Enables scalable inserts and complex queries for time-series data

Time-series & Temporal·TSL·C
2
pgvector
21.6k+477 30d

vector data type and ivfflat and hnsw access methods

Vector & AI·PostgreSQL·C
3
citus
12.5k+70 30d

Distributed PostgreSQL as an extension

Analytics & Columnar·AGPL-3.0·C
4
paradedb
8.9k+166 30d

Full text search for PostgreSQL using BM25

Full-text Search·AGPL-3.0·Rust
5
postgresml
6.8k+15 30d

Run AL/ML workloads with SQL interface

Vector & AI·MIT·Rust
6
pgmq
4.9k+99 30d

A lightweight message queue. Like AWS SQS and RSMQ but on Postgres.

Database Features·PostgreSQL·SQL
7
age
4.6k+91 30d

AGE graph database extension

Database Features·Apache-2.0·C
8
orioledb
4.1k+23 30d

Pluggable PostgreSQL storage engine using undo logs, copy-on-write checkpoints, and 64-bit transaction IDs.

Database Features·Apache-2.0·C
9
pg_cron
3.8k+30 30d

Job scheduler for PostgreSQL

Time-series & Temporal·PostgreSQL·C
10
rdkit
3.5k+37 30d

Cheminformatics functionality for PostgreSQL.

Database Features·BSD-3-Clause·C++
11
documentdb
3.4k+73 30d

API surface for DocumentDB for PostgreSQL

Compatibility (Oracle/MSSQL)·MIT·C
12
pg_graphql
3.3k+20 30d

Add in-database GraphQL support

Database Features·Apache-2.0·Rust
13
pg_duckdb
3.1k+58 30d

DuckDB Embedded in Postgres

Analytics & Columnar·MIT·C++
14
pgvectorscale
3.0k+40 30d

Advanced indexing for vector data with DiskANN

Vector & AI·PostgreSQL·Rust
15
columnar
3.0k+1 30d

Hydra Columnar extension

Analytics & Columnar·Apache-2.0·C
16
pg_partman
2.7k+24 30d

Extension to manage partitioned tables by time or ID

Analytics & Columnar·PostgreSQL·C
17
pipelinedb
2.7k+3 30d

Runs continuous SQL queries that incrementally aggregate streaming time-series data and store only aggregate output in queryable tables.

Time-series & Temporal·Apache-2.0·C
18
pg_repack
2.3k+15 30d

Reorganize tables in PostgreSQL databases with minimal locks

Administration·BSD-3-Clause·C
19
plv8
2.1k+4 30d

PL/JavaScript (v8) trusted procedural language

Procedural Languages·PostgreSQL·C++
20
pg_mooncake
2.0k+9 30d

Columnstore Table in Postgres

Analytics & Columnar·MIT·C++
21
cstore_fdw
1.8k0 30d

Provides columnar storage for analytics workloads via a foreign data wrapper, with ORC-inspired compression and skip indexes.

Analytics & Columnar·Apache-2.0·C
22
index_advisor
1.7k0 30d

Query index advisor

Database Features·PostgreSQL·SQL
23
repmgr
1.7k+6 30d

Replication manager for PostgreSQL

Replication & ETL·GPL-3.0·C
24
VectorChord
1.7k+26 30d

Vector database plugin for Postgres, written in Rust

Vector & AI·AGPL-3.0·Rust
25
hypopg
1.7k+13 30d

Hypothetical indexes for PostgreSQL

Database Features·PostgreSQL·C
26
pgaudit
1.6k+18 30d

provides auditing functionality

Security & Audit·PostgreSQL·C
27
omnigres
1.6k+6 30d

Advanced adapter for Postgres extensions

Database Features·Apache-2.0·C
28
pgsql-http
1.6k+8 30d

HTTP client for PostgreSQL, allows web page retrieval inside the database.

Utilities·MIT·C
29
wal2json
1.5k+2 30d

Changing data capture in JSON format

Replication & ETL·BSD-3-Clause·C
30
pg_ivm
1.4k+14 30d

incremental view maintenance on PostgreSQL

Database Features·PostgreSQL·C
31
pgrouting
1.4k+11 30d

pgRouting Extension

Geospatial·GPL-2.0·C++
32
pg-strom
1.4k+2 30d

PG-Strom - big-data processing acceleration using GPU and NVME

Analytics & Columnar·PostgreSQL·C
33

pg_auto_failover

Administration·PostgreSQL·C
34
postgresql-hll
1.2k+4 30d

type for storing hyperloglog data

Database Features·Apache-2.0·C++
35
pglogical
1.2k+4 30d

PostgreSQL Logical Replication

Replication & ETL·PostgreSQL·C
36
pg_jsonschema
1.2k+11 30d

PostgreSQL extension providing JSON Schema validation

Database Features·Apache-2.0·Rust
37
pgtap
1.1k+4 30d

Unit testing for PostgreSQL

Procedural Languages·PostgreSQL·C
38
pgactive
1.1k+3 30d

Active-Active Replication Extension for PostgreSQL

Replication & ETL·Apache-2.0·C
39
pg_shard
1.1k0 30d

Shards and replicates PostgreSQL tables across multiple nodes for horizontal scaling (superseded by Citus).

Database Features·LGPL-3.0·C
40
pg_hint_plan
902+8 30d

Give PostgreSQL ability to manually force some decisions in execution plans.

Database Features·BSD-3-Clause·C
41
zhparser
856+3 30d

a parser for full-text search of Chinese

Full-text Search·PostgreSQL·C
42
wrappers
846+6 30d

Foreign data wrappers developed by Supabase

Foreign Data Wrappers·Apache-2.0·Rust
43
rum
832+5 30d

RUM index access method

Database Features·PostgreSQL·C
44
pg_vectorize
831+1 30d

The simplest way to do vector search on Postgres

Vector & AI·PostgreSQL·Rust
45
pglite-fusion
830+4 30d

Embed an SQLite database in your PostgreSQL table

Data Types·MIT·Rust
46
powa
8190 30d

PostgreSQL Workload Analyser-core

Monitoring & Stats·PostgreSQL·Python
47
plpgsql_check
762+10 30d

extended check for plpgsql functions

Procedural Languages·MIT·C
48
pgroonga
729+4 30d

Use Groonga as index, fast full text search platform for all languages!

Full-text Search·PostgreSQL·C
49
jsquery
7100 30d

data type for jsonb inspection

Database Features·PostgreSQL·C
50
Multicorn
703+1 30d

Foreign data wrapper that lets you implement custom FDWs in Python to fetch external data as Postgres tables.

Foreign Data Wrappers·PostgreSQL·Python
51
pg_parquet
674+4 30d

copy data between Postgres and Parquet

Analytics & Columnar·PostgreSQL·Rust
52
audit-trigger
672+1 30d

Provides a trigger-based row-level audit log of table changes; intended as a demo and reference rather than production.

Security & Audit·PLpgSQL
53
pg_squeeze
671+4 30d

A tool to remove unused space from a relation.

Administration·BSD-2-Clause·C
54
MobilityDB
611+1 30d

MobilityDB geospatial trajectory data management & analysis platform

Geospatial·GPL-3.0·C
55
pgsodium
604+2 30d

Postgres extension for libsodium functions

Security & Audit·BSD-3-Clause·C
56
mysql_fdw
5960 30d

Foreign data wrapper for querying a MySQL server

Foreign Data Wrappers·BSD-3-Clause·C
57
pg_pathman
5880 30d

Provides optimized HASH and RANGE partitioning with custom plan nodes and faster partition pruning than native inheritance.

Administration·PostgreSQL·C
58

The pg_stat_monitor is a PostgreSQL Query Performance Monitoring tool, based on PostgreSQL contrib module pg_stat_statements. pg_stat_monitor provides aggregated statistics, client information, plan details including plan, and histogram information.

Monitoring & Stats·BSD-3-Clause·C
59
zson
5690 30d

Provides transparent JSONB compression using a shared dictionary of frequently used strings learned from training data.

Data Types·MIT·C
60
oracle_fdw
542+3 30d

foreign data wrapper for Oracle access

Foreign Data Wrappers·PostgreSQL·C
61
orafce
536+1 30d

Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS

Compatibility (Oracle/MSSQL)·BSD 0-Clause·C
62
redis_fdw
534−1 30d

Foreign data wrapper for querying a Redis server

Foreign Data Wrappers·PostgreSQL·C
63

Validates JSON columns against JSON Schema draft v4 specifications using a PL/pgSQL function suitable for CHECK constraints.

Functions·PostgreSQL·PLpgSQL
64
pgx_ulid
502+3 30d

ulid type and methods

Functions·MIT·Rust
65
aqo
495+3 30d

Improves the query planner by learning cardinality estimates from prior query executions.

Monitoring & Stats·AGPL-3.0·C
66
pg_bulkload
4900 30d

pg_bulkload is a high speed data loading utility for PostgreSQL

Replication & ETL·BSD-3-Clause·C
67

Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities

Time-series & Temporal·TSL·Rust
68
madlib
473+2 30d

Provides scalable in-database analytics with statistical, machine learning, and graph algorithms for PostgreSQL and Greenplum.

Vector & AI·Apache-2.0·C++
69
plprql
4730 30d

Use PRQL in PostgreSQL - Pipelined Relational Query Language

Procedural Languages·Apache-2.0·Rust
70
pgjwt
441+1 30d

JSON Web Token API for Postgresql

Utilities·MIT·SQL
71
tds_fdw
428+3 30d

Foreign data wrapper for querying a TDS database (Sybase or Microsoft SQL Server)

Foreign Data Wrappers·PostgreSQL·C
72
pg_uuidv7
4270 30d

Create UUIDv7 values in postgres

Functions·MPL-2.0·C
73
pointcloud
4250 30d

data type for lidar point clouds

Geospatial·BSD-3-Clause·C
74
pg_idkit
424−1 30d

multi-tool for generating new/niche universally unique identifiers (ex. UUIDv6, ULID, KSUID)

Functions·Apache-2.0·Rust
75
pg_timeseries
420+4 30d

Convenience API for time series stack

Time-series & Temporal·PostgreSQL·SQL
76
pgq
420+6 30d

Generic queue for PostgreSQL

Database Features·ISC·C
77
pg_jieba
410+4 30d

Adds Chinese full-text search to PostgreSQL using the cppjieba word-segmentation library.

Full-text Search·BSD-3-Clause·C
78
pgMemento
409+3 30d

Provides an audit trail with schema versioning using triggers, PL/pgSQL functions, and JSONB delta logging.

Security & Audit·LGPL-3.0·PLpgSQL
79
pg_tle
4060 30d

Trusted Language Extensions for PostgreSQL

Procedural Languages·Apache-2.0·C
80
duckdb_fdw
405+1 30d

DuckDB Foreign Data Wrapper

Analytics & Columnar·MIT·C
81
OneSparse
404+2 30d

Provides sparse linear algebra and graph processing inside PostgreSQL using the SuiteSparse GraphBLAS library.

Data Types·Apache-2.0·C
82

support similarity queries

Vector & AI·BSD-3-Clause·C
83
pg_tracing
400+3 30d

Distributed Tracing for PostgreSQL

Monitoring & Stats·MIT·C
84
parquet_fdw
387+2 30d

Read-only foreign data wrapper for querying Apache Parquet files as PostgreSQL tables.

Foreign Data Wrappers·PostgreSQL·C++
85
pg_later
375+2 30d

Run queries now and get results later

Time-series & Temporal·PostgreSQL·Rust
86

A postgresql extension for bm25 ranking algorithm

Full-text Search·AGPL-3.0·Rust
87
h3-pg
367+2 30d

PostgreSQL bindings for H3, a hierarchical hexagonal geospatial indexing system

Geospatial·Apache-2.0·PLpgSQL
88
pg_net
358+9 30d

Async HTTP Requests

Utilities·Apache-2.0·C
89
pg_plugins
3470 30d

Output plugin for logical replication in Raw SQL format

Replication & ETL·PostgreSQL·C
90
mongo_fdw
3400 30d

foreign data wrapper for MongoDB access

Foreign Data Wrappers·LGPL-3.0·C
91
pguint
338+1 30d

unsigned integer types

Data Types·PostgreSQL·C
92

Implements a vectorized executor for PostgreSQL over the cstore_fdw columnar store to speed up analytic queries.

Analytics & Columnar·Apache-2.0·C
93
pg_qualstats
3310 30d

An extension collecting statistics about quals

Monitoring & Stats·BSD-3-Clause·C
94
pguri
3230 30d

URI Data type for PostgreSQL

Data Types·PostgreSQL·C
95
pg_hashids
3220 30d

Short unique id generator for PostgreSQL, using hashids

Functions·MIT·C
96
periods
314+2 30d

Provide Standard SQL functionality for PERIODs and SYSTEM VERSIONING

Time-series & Temporal·PostgreSQL·C
97
sequential-uuids
310−1 30d

generator of sequential UUIDs

Functions·MIT·C
98
pg_profile
307+4 30d

PostgreSQL load profile repository and report builder

Monitoring & Stats·BSD-2-Clause·C
99
Biscuit
293+2 30d

Bitmap-based index access method for LIKE/ILIKE pattern matching with multi-column support and no recheck overhead.

Database Features·MIT·C
100

support for Roaring Bitmaps

Data Types·Apache-2.0·C
101

SI units extension

Data Types·GPL-2.0·C
102
pljava
2680 30d

PL/Java procedural language

Procedural Languages·BSD-3-Clause·Java
103

Kernel statistics gathering

Monitoring & Stats·BSD-3-Clause·C
104
imgsmlr
2630 30d

Image similarity with haar

Database Features·PostgreSQL·C
105
pgsql-ogr-fdw
262+2 30d

foreign-data wrapper for GIS data access

Geospatial·MIT·C
106

Logical decoding plugin that delivers WAL stream changes using a Protocol Buffer format

Replication & ETL·MIT·C
107
sqlite_fdw
260+1 30d

SQLite Foreign Data Wrapper

Foreign Data Wrappers·PostgreSQL·C
108
pg_rational
256−1 30d

bigint fractions

Data Types·MIT·C
109
pg_background
249+1 30d

Run SQL queries in the background

Time-series & Temporal·GPL-3.0·C
110

type for top-n JSONB

Functions·AGPL-3.0·C
111
pg_blkchain
2370 30d

Adds Bitcoin blockchain parsing functions to PostgreSQL, including script parsing, signature verification, and transaction inspection over bytea columns.

Utilities·MIT·C
112
vault
228+3 30d

Supabase Vault Extension

Security & Audit·Apache-2.0·C
113

Incremental Processing by Crunchy Data

Database Features·PostgreSQL·C
114
pgpdf
2240 30d

PDF type with meta admin & Full-Text Search

Data Types·GPL-2.0·C
115
pljs
2200 30d

Trusted JavaScript procedural language for PostgreSQL using the QuickJS engine.

Procedural Languages·PostgreSQL·C
116
pg_amqp
2140 30d

Lets PostgreSQL statements publish messages directly to an AMQP broker like RabbitMQ.

Replication & ETL·MIT·C
117

Queries ClickHouse from PostgreSQL via a foreign data wrapper, with aggregate and join pushdown for analytics workloads.

Foreign Data Wrappers·PostgreSQL·C
118

show query plans of all currently running SQL statements

Monitoring & Stats·PostgreSQL·C
119
pgJQ
2040 30d

Use jq in Postgres

Utilities·MIT·C
120
imcs
2010 30d

Provides an in-memory columnar store for accelerating analytical queries.

Analytics & Columnar·Apache-2.0·C
121
pg_jobmon
2000 30d

Extension for logging and monitoring functions in PostgreSQL

Security & Audit·PostgreSQL·SQL
122
plproxy
1920 30d

Database partitioning implemented as procedural language

Analytics & Columnar·BSD 0-Clause·C
123
pgsentinel
188−1 30d

active session history

Monitoring & Stats·PostgreSQL·C
124
pgfaceting
180+2 30d

fast faceting queries using an inverted index

Data Types·BSD-3-Clause·SQL
125
plsh
1790 30d

PL/sh procedural language

Procedural Languages·MIT·C
126

sampling based statistics of wait events

Monitoring & Stats·PostgreSQL·C
127

aws_s3 postgres extension to import/export data from/to s3

Foreign Data Wrappers·Apache-2.0·SQL
128
pg_rrule
1760 30d

RRULE field type for PostgreSQL

Data Types·MIT·C
129
sql_firewall
1760 30d

Learns a whitelist of allowed queries by userid and blocks or warns on unrecognized statements to protect against SQL injection.

Security & Audit·C
130
pgmemcache
1750 30d

memcached interface

Compatibility (Oracle/MSSQL)·MIT·C
131

Validates jsonb values against JSON Schema Draft 4 and Draft 7 specifications.

Functions·MIT·C
132
system_stats
169+2 30d

EnterpriseDB system statistics for PostgreSQL

Monitoring & Stats·PostgreSQL·C
133
ip4r
1660 30d

IPv4/v6 and IPv4/v6 range index type for PostgreSQL

Data Types·PostgreSQL·C
134
pg-semver
1660 30d

Semantic version data type

Data Types·PostgreSQL·C
135
holycorn
1650 30d

Implements foreign data wrappers in Ruby via an embedded mruby VM, with built-in support for Redis and other backends.

Foreign Data Wrappers·LGPL-3.0·C
136
pldotnet
164+1 30d

Adds C# and F# as loadable procedural languages for PostgreSQL functions, procedures, triggers, and set-returning functions.

Procedural Languages·PostgreSQL·C#
137
vops
1630 30d

Speeds up OLAP queries in PostgreSQL using vectorized columnar tiles and chunk-based execution.

Analytics & Columnar·C
138

view object permissions and compare them with the desired state

Administration·BSD-2-Clause·SQL
139
pg_dirtyread
161+1 30d

Read dead but unvacuumed rows from table

Administration·BSD-3-Clause·C
140

Inspects a running backend and returns EXPLAIN ANALYZE-style live execution statistics for the query it is currently processing.

Monitoring & Stats·C
141
pllua
1590 30d

Lua as a procedural language

Procedural Languages·MIT·C
142
pgddl
1530 30d

DDL eXtractor functions

Administration·PostgreSQL·SQL
143
pg_bigm
148+3 30d

create 2-gram (bigram) index for faster full text search.

Full-text Search·PostgreSQL·C
144

Require criteria for UPDATE and DELETE

Administration·ISC·C
145
pgsql-postal
1460 30d

Exposes libpostal address parsing and normalization functions for international street addresses inside PostgreSQL.

Geospatial·MIT·C
146
hdfs_fdw
1400 30d

foreign-data wrapper for remote hdfs servers

Foreign Data Wrappers·BSD-3-Clause·C
147
SupaScript
1390 30d

Adds NodeJS-like require(), console, and HTTP helpers to PLV8 functions in PostgreSQL and Supabase, with dynamic loading of web modules.

Utilities·SQL
148
pgrocks-fdw
1320 30d

Foreign data wrapper that exposes RocksDB and other LSM-tree key-value stores as PostgreSQL tables.

Foreign Data Wrappers·Apache-2.0·C
149

Provides functions to query, convert, and extract fields from Protocol Buffer columns stored in PostgreSQL.

Functions·MIT·C++
150
smlar
1280 30d

Effective similarity search

Vector & AI·PostgreSQL·C
151
plr
1260 30d

load R interpreter and execute R script from within a database

Procedural Languages·GPL-2.0·C
152
www_fdw
1260 30d

Foreign data wrapper that exposes remote web services (JSON, XML) as PostgreSQL tables.

Foreign Data Wrappers·PostgreSQL·C
153
ora_migrator
1180 30d

db_migrator plugin that migrates Oracle databases to PostgreSQL with optional near-zero-downtime replication.

Compatibility (Oracle/MSSQL)·PL/pgSQL
154
pg_plan_advsr
118+1 30d

Tunes execution plans automatically through a feedback loop, refining hints via pg_hint_plan and pg_store_plans across repeated runs.

Monitoring & Stats·C
155

Adds a RoaringBitmap data type with functions, operators, and aggregates for compressed bitmap computation on Greenplum and PostgreSQL.

Data Types·Apache-2.0·C
156
multicorn2
113+1 30d

Fetch foreign data in Python in your PostgreSQL server.

Foreign Data Wrappers·PostgreSQL·C
157
kafka_fdw
1120 30d

kafka Foreign Data Wrapper for CSV formatted messages

Foreign Data Wrappers·PostgreSQL·C
158
json_fdw
1100 30d

Queries local or remote line-delimited JSON files as PostgreSQL foreign tables with read and write support.

Foreign Data Wrappers·C
159
pgfincore
1090 30d

examine and manage the os buffer cache

Administration·BSD-3-Clause·C
160

PG Failover Slots extension

Replication & ETL·PostgreSQL·C
161
prefix
1070 30d

Prefix Range module for PostgreSQL

Data Types·PostgreSQL·C
162

K-means function as a user-defined window function in PostgreSQL

Vector & AI·C
163
pgextwlist
1010 30d

PostgreSQL Extension Whitelisting

Security & Audit·PostgreSQL·C
164
pgrag
101+1 30d

Provides end-to-end RAG building blocks in Postgres including text extraction, chunking, local embeddings, reranking and remote LLM calls.

Vector & AI·Apache-2.0·Rust
165
plprofiler
1010 30d

server-side support for profiling PL/pgSQL functions

Procedural Languages·Artistic·C
166

automated ddl deployment using pglogical

Replication & ETL·MIT·C
167
tdigest
98+1 30d

Provides tdigest aggregate function.

Functions·PostgreSQL·C
168

Provides a writable foreign data wrapper for Redis, supporting SELECT, INSERT, UPDATE, DELETE on strings, sets, hashes, lists, zsets, and pubsub.

Foreign Data Wrappers·C
169

Generate BM25 sparse vector inside PostgreSQL

Full-text Search·Apache-2.0·Rust
170

Adds a packed phone number type backed by Google's libphonenumber.

Data Types·Apache-2.0·C++
171
pgtt
960 30d

Extension to add Global Temporary Tables feature to PostgreSQL

Compatibility (Oracle/MSSQL)·ISC·C
172

filter statements by their execution plans.

Database Features·PostgreSQL·C
173

Provides PL/R, a PostgreSQL procedural language for writing functions in the R statistical computing language.

Procedural Languages·C
174

Provides probabilistic data-sketch aggregates (HLL, CPC, Theta, KLL, quantiles, frequent items) backed by Apache DataSketches C++.

Functions·Apache-2.0·C
175
pldebugger
910 30d

server-side support for debugging PL/pgSQL functions

Procedural Languages·Artistic·C
176
emaj
900 30d

Enables fine-grained write logging and time travel on subsets of the database.

Time-series & Temporal·GPL-3.0·SQL
177
jsoncdc
900 30d

Provides change data capture for PostgreSQL by translating the write-ahead log to JSON output.

Replication & ETL·Apache-2.0·Rust
178
q3c
900 30d

q3c sky indexing plugin

Geospatial·GPL-2.0·C
179
acl
890 30d

ACL Data type

Data Types·BSD-2-Clause·C
180
pgsql-gzip
880 30d

gzip and gunzip functions.

Utilities·MIT·C
181

Diagnosing system catalog corruption

Administration·BSD-3-Clause·C
182
timestamp9
85+20 30d

timestamp nanosecond resolution

Data Types·MIT·C
183
supautils
83+1 30d

Extension that secures a cluster on a cloud environment

Security & Audit·Apache-2.0·C
184
credcheck
81+1 30d

credcheck - postgresql plain text credential checker

Security & Audit·PostgreSQL·C
185

An alternative to COUNT(DISTINCT …) aggregate, usable with HashAggregate

Functions·BSD-2-Clause·C
186
mimeo
790 30d

Extension for specialized, per-table replication between PostgreSQL instances

Replication & ETL·PostgreSQL·SQL
187
jdbc_fdw
780 30d

foreign-data wrapper for remote servers available over JDBC

Foreign Data Wrappers·PostgreSQL·C
188
set_user
770 30d

similar to SET ROLE but with added logging

Security & Audit·PostgreSQL·C
189

Generates a range of unique identifiers including UUIDv6, UUIDv7, NanoID, KSUID, ULID, Timeflake, PushID, CUID2, and TypeID.

Functions·Rust
190
bg_mon
750 30d

Background worker that collects per-process and system stats and serves them via an embedded HTTP endpoint.

Monitoring & Stats·MIT·C
191

Core extension for the PoWA Workload Analyzer that gathers PostgreSQL performance statistics for monitoring and tuning.

Monitoring & Stats·PostgreSQL·C
192

Foreign data wrapper that fetches tweets from the Twitter API and exposes them as a queryable table.

Foreign Data Wrappers·PostgreSQL·C
193
pg_curl
710 30d

Run curl actions for data transfer in URL syntax

Utilities·MIT·C
194
pgfsm
710 30d

Demonstrates a simple finite state machine pattern using SQL tables and triggers to enforce valid state transitions.

Utilities·CC0-1.0·PL/pgSQL
195
s3_fdw
700 30d

Provides a foreign data wrapper for reading Amazon S3 files using PostgreSQL's built-in COPY format.

Foreign Data Wrappers·C
196

Czech Hunspell Dictionary

Full-text Search·PostgreSQL·Data
197

German Hunspell Dictionary

Full-text Search·PostgreSQL·Data
198

en_US Hunspell Dictionary

Full-text Search·PostgreSQL·Data
199

French Hunspell Dictionary

Full-text Search·PostgreSQL·Data
200

Nepali Hunspell Dictionary

Full-text Search·PostgreSQL·Data
201

Dutch Hunspell Dictionary

Full-text Search·PostgreSQL·Data
202

Norwegian (norsk) Hunspell Dictionary

Full-text Search·PostgreSQL·Data
203

Portuguese Hunspell Dictionary

Full-text Search·PostgreSQL·Data
204

Russian Hunspell Dictionary

Full-text Search·PostgreSQL·Data
205

Russian Hunspell Dictionary (from AOT.ru group)

Full-text Search·PostgreSQL·Data
206

track plan statistics of all SQL statements executed

Monitoring & Stats·BSD-3-Clause·C
207

PostgreSQL table versioning extension

Time-series & Temporal·BSD-3-Clause·SQL
208
pg_task
670 30d

execute any sql command at any specific time at background

Time-series & Temporal·MIT·C
209

Manage authentication sessions using JWTs

Security & Audit·Apache-2.0·Rust
210
pg_render
650 30d

Render HTML in SQL

Utilities·MIT·Rust
211
provsql
65+3 30d

Adds (m-)semiring provenance and uncertainty management, enabling probability, Shapley value, and semiring evaluation over query results.

Database Features·MIT·C++
212

Protobuf support for PostgreSQL

Utilities·MIT·C
213
sr_plan
640 30d

Saves and restores query execution plans to lock planner decisions, similar to Oracle's Outline system.

Monitoring & Stats·PostgreSQL·C
214

Queries InfluxDB 1.8 and 2.7 time-series data as PostgreSQL foreign tables with pushdown of GROUP BY time intervals.

Foreign Data Wrappers·PostgreSQL·C
215

Provides a cryptographically verifiable audit trail by applying blockchain-style Merkle proofs to relational data.

Security & Audit·GPL-3.0·C
216

Consumes Apache Kafka topics into PipelineDB streams via background workers and produces messages from queries.

Replication & ETL·C
217
pg_ulid
610 30d

Generates Universally Unique Lexicographically Sortable Identifiers (ULIDs) as text values.

Functions·MIT·Go
218
pg-ulid
610 30d

Adds a ULID data type stored as a 128-bit integer along with creation, comparison, and formatting helpers.

Data Types·C
219
pghashlib
590 30d

Stable hash functions for Postgres

Utilities·PostgreSQL·C
220

Adds full-text search dictionaries for North American street addresses, handling abbreviations and directional tokens.

Full-text Search·MIT·SQL
221
pg_simula
560 30d

Simulates database failures by injecting waits, errors, fatals or panics for selected SQL operations to help test resilience.

Utilities·C
222

Server side rollback at statement level for PostgreSQL like Oracle or DB2

Compatibility (Oracle/MSSQL)·ISC·C
223
pg-emoji
560 30d

Encodes and decodes bytea or text values to and from emoji sequences with a built-in checksum.

Functions·MIT·PL/pgSQL
224
pg_recall
550 30d

Tracks changes to selected tables in separate _log tables so rows can be queried as they existed at any past timestamp.

Security & Audit·PLpgSQL
225
pgdd
550 30d

Introspect pg data dictionary via standard SQL

Administration·MIT·Rust
226
pgnodemx
550 30d

Capture node OS metrics via SQL queries

Monitoring & Stats·Apache-2.0·C
227
ptrack
550 30d

Tracks changed blocks in PostgreSQL to power incremental backups via pg_probackup.

Administration·C
228
dump_fdw
540 30d

Foreign data wrapper that queries data directly from PostgreSQL custom-format dump files for selective restore and analytics.

Foreign Data Wrappers·BSD-3-Clause·C
229

Track settings changes

Monitoring & Stats·PostgreSQL·SQL
230

Extends pg_trgm with substring similarity functions and operators for fuzzy text search.

Full-text Search·PostgreSQL·C
231
geoip
520 30d

IP-based geolocation query

Geospatial·BSD-2-Clause·SQL
232
pg_check
520 30d

Verifies integrity of PostgreSQL tables and b-tree indexes via page-level and item-level consistency checks.

Administration·BSD-3-Clause·C
233

tiktoken tokenizer for use with OpenAI models in postgres

Vector & AI·Apache-2.0·Rust
234
url_encode
520 30d

url_encode, url_decode functions

Utilities·PostgreSQL·C
235

Analyzes queries with hypothetical indexes and suggests candidate indexes that would improve execution plans.

Monitoring & Stats·PostgreSQL·C
236

Various functions for computing statistics on arrays of numbers

Functions·MIT·C
237
libx509pq
500 30d

Exposes OpenSSL's X.509 certificate parser as SQL functions, powering crt.sh-style certificate transparency search.

Security & Audit·GPL-3.0·C
238

Adds a PERIOD data type, functions, and indexing strategies for managing time ranges in PostgreSQL.

Time-series & Temporal·C
239
git_fdw
490 30d

PostgreSQL Git Foreign Data Wrapper

Foreign Data Wrappers·MIT·C
240
pg_tm_aux
490 30d

Creates logical replication slots at a past LSN so logical streaming can resume after a physical replica is promoted (obsolete since PG 17).

Replication & ETL·C
241
pg_savior
47+1 30d

Postgres extension to save OOPS mistakes

Administration·MIT·C
242

Provides trigger-based table auditing that stores row diffs as JSONB for easy querying.

Security & Audit·PLpgSQL
243
queen
47+2 30d

PostgreSQL extension wrapper for Queen MQ - a simplified Kafka-style API for pub/sub message queuing directly in PostgreSQL.

Utilities·Apache-2.0·C++
244

Email address type for PostgreSQL

Data Types·PostgreSQL·C
245
preprepare
460 30d

Pre Prepare your Statement server side

Administration·PostgreSQL·C
246

Foreign data wrapper for Firebird

Foreign Data Wrappers·PostgreSQL·C
247

Extension to add Oracle DBMS_JOB full compatibility to PostgreSQL

Compatibility (Oracle/MSSQL)·PostgreSQL·SQL
248

Tokenizers for full-text search

Full-text Search·Apache-2.0·Rust
249
pgzstd
420 30d

Zstandard compression algorithm implementation in PostgreSQL

Utilities·ISC·C
250

Foreign data wrapper that exposes MonetDB columnar database tables as PostgreSQL foreign tables.

Foreign Data Wrappers·C
251
pg_scws
410 30d

Adds a Chinese full-text search parser for to_tsvector based on the SCWS word-segmentation library.

Full-text Search·BSD-3-Clause·C
252

Provides a full-text-search parser that splits Chinese, Japanese, and Korean text into 2-gram tokens while keeping default behavior for other scripts.

Full-text Search·C
253
quantile
400 30d

Quantile aggregation function

Functions·BSD-2-Clause·C
254

Provides a Rust foreign data wrapper for querying Google Cloud Bigtable and HBase-compatible databases as PostgreSQL tables.

Foreign Data Wrappers·MIT·Rust
255
kt_fdw
390 30d

Foreign data wrapper that exposes Kyoto Tycoon key/value stores as PostgreSQL tables, supporting reads, writes, and transactions.

Foreign Data Wrappers·MIT·C
256
permuteseq
390 30d

Pseudo-randomly permute sequences with a format-preserving encryption on elements

Functions·PostgreSQL·C
257

Provides cheat (but useful) functions

Administration·PostgreSQL·C
258

Adds an EFILE data type for accessing external files on the PostgreSQL server, similar to Oracle BFILE.

Data Types·PostgreSQL·PL/pgSQL
259

Aggregate functions for array inputs

Functions·MIT·C
260
logerrors
370 30d

Function for collecting statistics about messages in logfile

Security & Audit·BSD-3-Clause·C
261
pgflake
370 30d

Generates time-sortable 64-bit Snowflake IDs using a custom epoch, instance ID, and sequence number.

Functions·Apache-2.0·C
262

Fixed precision decimal data type backed by 64-bit integers, offering faster arithmetic than NUMERIC for monetary values.

Data Types·C
263
pg_keeper
360 30d

Provides automatic standby promotion and failover for a two-server PostgreSQL replication cluster.

Administration·PostgreSQL·C
264

Extension for querying PgBouncer stats from normal SQL views & running pgbouncer commands from normal SQL functions

Foreign Data Wrappers·PostgreSQL·SQL
265

Small PostgreSQL background worker to report whether a node is a replication master or standby

Monitoring & Stats·PostgreSQL·C
266
go-fdw
350 30d

Go project template for Foreign Data Wrappers for PostgreSQL

Foreign Data Wrappers·MIT·Go
267
istore
350 30d

Adds integer-keyed and integer-valued hstore types that support arithmetic operators and SUM aggregates for analytics.

Data Types·MIT·C
268
ldap_fdw
350 30d

Foreign data wrapper that exposes LDAP directory servers as queryable PostgreSQL tables.

Foreign Data Wrappers·PostgreSQL·C
269
vasco
350 30d

discover hidden correlations in your data with MIC

Functions·GPL-3.0·C
270

first() and last() aggregate functions

Functions·PostgreSQL·C
271
jsonbx
340 30d

Adds extra functions and operators for manipulating jsonb values on PostgreSQL 9.4.

Functions·PostgreSQL·C
272
neo4j_fdw
340 30d

Foreign data wrapper that exposes Neo4j Cypher query results as PostgreSQL tables.

Foreign Data Wrappers·C
273
pljulia
340 30d

Adds Julia as a loadable procedural language for writing PostgreSQL functions, with type conversions for arrays and composite types.

Procedural Languages·C
274
sqlite_fdw
340 30d

Provides an experimental foreign data wrapper for querying SQLite databases as PostgreSQL tables.

Foreign Data Wrappers·C
275
icu_ext
330 30d

Access ICU functions

Utilities·PostgreSQL·C
276
login_hook
330 30d

login_hook - hook to execute login_hook.login() at login time

Security & Audit·GPL-3.0·C
277
pg_crash
330 30d

Send random signals to random processes

Administration·BSD-3-Clause·C
278
pg_themis
330 30d

Exposes the Themis cryptographic library to Postgres for encrypting and decrypting data via Secure Cell and Secure Message primitives.

Security & Audit·Apache-2.0·C
279

Foreign data wrapper for querying CouchDB document databases as PostgreSQL foreign tables.

Foreign Data Wrappers·C
280
pgsql-fio
320 30d

PostgreSQL File I/O Functions

Administration·BSD-3-Clause·C
281

Extra Window Functions for PostgreSQL

Functions·PostgreSQL·C
282

Foreign data wrapper that exposes delimited file rows as a single text[] column for variable field counts.

Foreign Data Wrappers·C
283
lsm3
310 30d

Implements an LSM-tree access method on top of standard PostgreSQL B-Tree indexes for fast inserts.

Database Features·C
284
pagevis
310 30d

Visualise database pages in ascii code

Monitoring & Stats·MIT·SQL
285
pg_healer
310 30d

Proof-of-concept extension that automatically repairs certain types of PostgreSQL data file corruption.

Administration·PostgreSQL·C
286

Send redis pub/sub messages to Redis from PostgreSQL Directly

Foreign Data Wrappers·MIT·C
287
pg_xid
310 30d

Generates k-ordered, 12-byte globally unique IDs compatible with MongoDB ObjectIDs without central coordination.

Data Types·MIT·C
288
pgmp
310 30d

Multiple Precision Arithmetic extension

Data Types·LGPL-3.0·C
289

Activate/deactivate/verify checksums in offline Postgres clusters

Administration·BSD-2-Clause·C
290

Manages and freezes planner statistics so PostgreSQL can use saved snapshots instead of the latest stats when building execution plans.

Monitoring & Stats·C
291

Foreign data wrapper that reads OpenStreetMap PBF files as queryable PostgreSQL tables.

Foreign Data Wrappers·C
292
vrprouting
300 30d

Extends pgRouting with algorithms for solving Vehicle Routing Problems (VRP) using VROOM.

Geospatial·GPL-2.0·C++
293
db2_fdw
290 30d

foreign data wrapper for DB2 access

Foreign Data Wrappers·PostgreSQL·C
294

Queries IBM Informix databases as PostgreSQL foreign tables via the ESQL/C Client SDK, with read and write support.

Foreign Data Wrappers·PostgreSQL·C
295
pg_proctab
290 30d

Exposes the Linux operating-system process table through SQL so load, memory, CPU, and I/O stats can be queried from PostgreSQL.

Monitoring & Stats·PostgreSQL·C
296

Deletes records along with their foreign-key dependents in one recursive CTE, with an ASCII preview of the dependency graph.

Functions·MIT·PLpgSQL
297
pgpcre
290 30d

Perl Compatible Regular Expression functions

Utilities·PostgreSQL·C
298
plv8_geo
290 30d

Bundles JavaScript geometry libraries (d3, topojson, jsts, earcut) as PLV8 functions for geospatial data.

Geospatial·MIT·JavaScript
299

Accelerates PostgreSQL query execution using vectorized executor nodes via the CustomScan framework.

Analytics & Columnar·C
300

Provides functions and views to inspect PostgreSQL object access privileges across roles.

Security & Audit·PL/pgSQL
301

Tools to migrate other databases to PostgreSQL

Replication & ETL·BSD-3-Clause·SQL
302
odbc_fdw
280 30d

Foreign data wrapper that queries remote databases through ODBC driver managers and DSN connections.

Foreign Data Wrappers·C
303

monitor connection attempts per user

Security & Audit·MIT·C
304

foreign-data wrapper for remote PGSpider servers

Foreign Data Wrappers·PostgreSQL·C
305
spat
280 30d

Redis-like In-Memory DB Embedded in Postgres

Compatibility (Oracle/MSSQL)·AGPL-3.0·C
306

Adds a 1-byte tinyint integer data type to PostgreSQL for compact columns and easier porting from other RDBMS.

Data Types·C
307
argm
270 30d

Adds argmax, argmin, and anyold aggregate functions for picking row values by sort key.

Functions·PostgreSQL·C
308
cigration
270 30d

Performs online shard migration for Citus clusters using logical replication to enable scale-out, scale-in, and worker replacement.

Administration·Apache-2.0·PL/pgSQL
309
lsm
270 30d

Provides a foreign data wrapper for accessing RocksDB key-value storage as PostgreSQL tables.

Foreign Data Wrappers·Apache-2.0·C
310
pg_dropcache
27−1 30d

Invalidates the shared_buffers cache globally or for a specific relation and fork.

Administration·C
311

Financial aggregate functions

Functions·PostgreSQL·C
312

Provides monitoring views and functions covering disk usage, WAL throughput, replication lag, and query sources for Prometheus, Zabbix, or Munin agents.

Monitoring & Stats·PLpgSQL
313
pg-uint128
27+1 30d

Native uint128 type

Data Types·PostgreSQL·C
314
pgespresso
270 30d

Adds functions and views used by Barman to perform concurrent base backups on PostgreSQL versions older than 9.6.

Administration·PostgreSQL·C
315
jdbc2_fdw
260 30d

Queries remote JDBC-compatible data sources from PostgreSQL with predicate push-down via a deparser.

Foreign Data Wrappers·C
316
lostgis
260 30d

Adds geospatial types and helper functions on top of PostGIS, including Time-Position-Velocity and OpenStreetMap opening_hours.

Geospatial·BSD-3-Clause·PL/pgSQL
317
pg_dtm
260 30d

Provides a distributed transaction manager for PostgreSQL using snapshot sharing across cluster nodes.

Database Features·C
318

foreign-data wrapper for Postgres log file access

Foreign Data Wrappers·Apache-2.0·C
319
range_agg
260 30d

Provides a range_agg aggregate that merges adjacent or overlapping range values, useful for temporal coalescing.

Functions·MIT·C
320
tsvector2
260 30d

Provides an extended tsvector type with better compression and no 1MB size limit, as a drop-in replacement.

Full-text Search·PostgreSQL·C
321
jsonknife
25+1 30d

Adds jsonb functions for data extraction, validation, and transformation using JSON path vectors.

Functions·C
322

The PostgreSQL Antivirus

Security & Audit·PostgreSQL·C
323
pgchronos
250 30d

Adds union, intersection, and difference operators for arrays of daterange and tstzrange values.

Functions·BSD-3-Clause·SQL

What is a PostgreSQL Extension?

A PostgreSQL extension is a packaged set of SQL objects and (usually) compiled C, Rust, or Python code that adds capability to a running Postgres server — new data types, index methods, functions, operators, or procedural languages. Extensions are installed at the database level via CREATE EXTENSION and tracked in the pg_extension catalog. The mechanism is the same one used by Postgres itself to ship its 'contrib' modules: pgcrypto, hstore, btree_gin, and uuid-ossp all ship with core Postgres but must be enabled explicitly per database. Most extensions are distributed as source on GitHub and packaged for major Linux distributions by the PGDG repository or community projects like Pigsty and pgxman.

When to Add an Extension to PostgreSQL

Reach for an extension when you need a capability that Postgres core deliberately leaves out: vector similarity search (pgvector), geospatial queries (PostGIS), columnar storage (Citus, Hydra), in-database scheduling (pg_cron), full-text search beyond tsvector (pg_search, ParadeDB), or compatibility with another database's dialect (Orafce for Oracle, babelfishpg_tsql for SQL Server). Two cautions: extensions that ship a shared library require server restart or shared_preload_libraries config, and managed services like AWS RDS and Supabase only allow extensions on their allow-list — verify availability before you architect around one. For everything else, the standard answer is 'use a core feature' — Postgres ships more functionality every release that previously required an extension (JSONB indexing, parallel queries, declarative partitioning).

Frequently Asked Questions

What are PostgreSQL extensions?
PostgreSQL extensions are loadable modules that add new functions, data types, operators, index methods, or procedural languages to a running Postgres server. They're installed with the CREATE EXTENSION command and register in the server's pg_extension catalog, sharing the same transaction model and security as core Postgres. Popular examples include pgvector (vector similarity search), PostGIS (geospatial), pg_stat_statements (query monitoring), and pg_cron (in-database job scheduling).
How do I install a PostgreSQL extension?
On self-managed Postgres: install the OS package (e.g. apt install postgresql-17-pgvector or yum install pgvector_17), then run CREATE EXTENSION pgvector; inside the target database as a superuser. On managed services like AWS RDS, Supabase, and Neon, the binaries are pre-installed — you only run the CREATE EXTENSION step, and you're limited to the provider's allow-list. For extensions not packaged in PGDG, the pig CLI from Pigsty or pgxman automate downloading and building from source across PG versions and OS distributions.
How do I check which PostgreSQL extensions are installed?
Inside psql, the \dx meta-command lists every installed extension in the current database along with its version and schema. For a SQL-only equivalent, query SELECT * FROM pg_extension; (currently installed) or SELECT * FROM pg_available_extensions; (everything the server could install, including bundled extensions like pgcrypto and uuid-ossp). The pg_available_extensions view is the right one to use from monitoring tools, since it shows the gap between 'compiled in' and 'actively loaded'.
Do PostgreSQL extensions work on AWS RDS, Supabase, and Neon?
Every major managed Postgres provider supports extensions, but each maintains its own allow-list. AWS RDS and Aurora support around 80 extensions including pgvector, PostGIS, pg_stat_statements, and pg_cron. Supabase ships ~70 enabled by default and Neon supports 60+, both heavy on developer-facing extensions like pgvector, pg_trgm, and postgis. Source-available or commercial extensions like TimescaleDB are typically not available on RDS but are on Timescale Cloud, Supabase, or self-managed Postgres.
What's the best PostgreSQL extension for vector search?
pgvector is the de facto standard — MIT-licensed, ~14k GitHub stars, supports HNSW and IVFFlat indexes, and is enabled on every major managed Postgres provider. For high-recall workloads at scale, pgvectorscale (DiskANN-backed, by Timescale) pairs with pgvector and improves recall/latency on million-vector datasets. pgvecto.rs and pg_embedding are alternative implementations but have less ecosystem support; pgvector is what we'd recommend starting with.

Manage PostgreSQL Visually

1bench is a modern GUI client for PostgreSQL — install extensions, write queries, and inspect schemas without leaving the IDE.

Try 1bench for PostgreSQL