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 18, 2026
324 extensions
1
timescaledb
23.1k+221 30d

Enables scalable inserts and complex queries for time-series data

Time-series & Temporal·TSL·C
2
pgvector
22.1k+456 30d

vector data type and ivfflat and hnsw access methods

Vector & AI·PostgreSQL·C
3
citus
12.6k+51 30d

Distributed PostgreSQL as an extension

Analytics & Columnar·AGPL-3.0·C
4
paradedb
9.0k+93 30d

Full text search for PostgreSQL using BM25

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

Run AL/ML workloads with SQL interface

Vector & AI·MIT·Rust
6
pgmq
5.0k+70 30d

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

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

AGE graph database extension

Database Features·Apache-2.0·C
8
orioledb
4.1k+38 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+31 30d

Job scheduler for PostgreSQL

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

Cheminformatics functionality for PostgreSQL.

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

API surface for DocumentDB for PostgreSQL

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

Add in-database GraphQL support

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

DuckDB Embedded in Postgres

Analytics & Columnar·MIT·C++
14
pgvectorscale
3.1k+37 30d

Advanced indexing for vector data with DiskANN

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

Hydra Columnar extension

Analytics & Columnar·Apache-2.0·C
16
pg_partman
2.8k+34 30d

Extension to manage partitioned tables by time or ID

Analytics & Columnar·PostgreSQL·C
17
pipelinedb
2.7k+1 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+18 30d

Reorganize tables in PostgreSQL databases with minimal locks

Administration·BSD-3-Clause·C
19
plv8
2.1k0 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.8k−2 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
VectorChord
1.7k+37 30d

Vector database plugin for Postgres, written in Rust

Vector & AI·AGPL-3.0·Rust
23
index_advisor
1.7k+3 30d

Query index advisor

Database Features·PostgreSQL·SQL
24
repmgr
1.7k+3 30d

Replication manager for PostgreSQL

Replication & ETL·GPL-3.0·C
25
hypopg
1.7k+17 30d

Hypothetical indexes for PostgreSQL

Database Features·PostgreSQL·C
26
pgaudit
1.7k+17 30d

provides auditing functionality

Security & Audit·PostgreSQL·C
27
omnigres
1.6k+3 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+8 30d

Changing data capture in JSON format

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

incremental view maintenance on PostgreSQL

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

pgRouting Extension

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

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

Analytics & Columnar·PostgreSQL·C
33

pg_auto_failover

Administration·PostgreSQL·C
34
pglogical
1.2k+6 30d

PostgreSQL Logical Replication

Replication & ETL·PostgreSQL·C
35
postgresql-hll
1.2k+4 30d

type for storing hyperloglog data

Database Features·Apache-2.0·C++
36
pg_jsonschema
1.2k0 30d

PostgreSQL extension providing JSON Schema validation

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

Unit testing for PostgreSQL

Procedural Languages·PostgreSQL·C
38
pgactive
1.1k+6 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
911+7 30d

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

Database Features·BSD-3-Clause·C
41
wrappers
865+17 30d

Foreign data wrappers developed by Supabase

Foreign Data Wrappers·Apache-2.0·Rust
42
zhparser
860+3 30d

a parser for full-text search of Chinese

Full-text Search·PostgreSQL·C
43
rum
833+1 30d

RUM index access method

Database Features·PostgreSQL·C
44
pg_vectorize
832+2 30d

The simplest way to do vector search on Postgres

Vector & AI·PostgreSQL·Rust
45
pglite-fusion
831+1 30d

Embed an SQLite database in your PostgreSQL table

Data Types·MIT·Rust
46
powa
820+1 30d

PostgreSQL Workload Analyser-core

Monitoring & Stats·PostgreSQL·Python
47
plpgsql_check
770+7 30d

extended check for plpgsql functions

Procedural Languages·MIT·C
48
pgroonga
734+5 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
705+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
680+6 30d

copy data between Postgres and Parquet

Analytics & Columnar·PostgreSQL·Rust
52
pg_squeeze
680+9 30d

A tool to remove unused space from a relation.

Administration·BSD-2-Clause·C
53

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

Security & Audit·PLpgSQL
54
MobilityDB
618+6 30d

MobilityDB geospatial trajectory data management & analysis platform

Geospatial·GPL-3.0·C
55
pgsodium
609+4 30d

Postgres extension for libsodium functions

Security & Audit·BSD-3-Clause·C
56
mysql_fdw
595−1 30d

Foreign data wrapper for querying a MySQL server

Foreign Data Wrappers·BSD-3-Clause·C
57
pg_pathman
587−1 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
544+2 30d

foreign data wrapper for Oracle access

Foreign Data Wrappers·PostgreSQL·C
61
orafce
539+3 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
5340 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
503+1 30d

ulid type and methods

Functions·MIT·Rust
65
aqo
4950 30d

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

Monitoring & Stats·AGPL-3.0·C
66
pg_bulkload
493+3 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
4730 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
472−1 30d

Use PRQL in PostgreSQL - Pipelined Relational Query Language

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

JSON Web Token API for Postgresql

Utilities·MIT·SQL
71
tds_fdw
430+2 30d

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

Foreign Data Wrappers·PostgreSQL·C
72
pg_uuidv7
429+2 30d

Create UUIDv7 values in postgres

Functions·MPL-2.0·C
73
pointcloud
426+1 30d

data type for lidar point clouds

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

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

Functions·Apache-2.0·Rust
75
pg_timeseries
422+2 30d

Convenience API for time series stack

Time-series & Temporal·PostgreSQL·SQL
76
pgq
419−1 30d

Generic queue for PostgreSQL

Database Features·ISC·C
77
pg_jieba
413+1 30d

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

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

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

Security & Audit·LGPL-3.0·PLpgSQL
79
duckdb_fdw
407+1 30d

DuckDB Foreign Data Wrapper

Analytics & Columnar·MIT·C
80
pg_tle
4060 30d

Trusted Language Extensions for PostgreSQL

Procedural Languages·Apache-2.0·C
81
OneSparse
405+1 30d

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

Data Types·Apache-2.0·C
82
pg_tracing
403+3 30d

Distributed Tracing for PostgreSQL

Monitoring & Stats·MIT·C
83

support similarity queries

Vector & AI·BSD-3-Clause·C
84
parquet_fdw
3880 30d

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

Foreign Data Wrappers·PostgreSQL·C++
85
h3-pg
375+7 30d

PostgreSQL bindings for H3, a hierarchical hexagonal geospatial indexing system

Geospatial·Apache-2.0·PLpgSQL
86
pg_later
3750 30d

Run queries now and get results later

Time-series & Temporal·PostgreSQL·Rust
87

A postgresql extension for bm25 ranking algorithm

Full-text Search·AGPL-3.0·Rust
88
pg_net
363+4 30d

Async HTTP Requests

Utilities·Apache-2.0·C
89
pg_plugins
348+1 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
339+1 30d

unsigned integer types

Data Types·PostgreSQL·C
92
pg_qualstats
336+3 30d

An extension collecting statistics about quals

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

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

Analytics & Columnar·Apache-2.0·C
94
pg_hashids
323+1 30d

Short unique id generator for PostgreSQL, using hashids

Functions·MIT·C
95
pguri
3230 30d

URI Data type for PostgreSQL

Data Types·PostgreSQL·C
96
periods
317+3 30d

Provide Standard SQL functionality for PERIODs and SYSTEM VERSIONING

Time-series & Temporal·PostgreSQL·C
97

generator of sequential UUIDs

Functions·MIT·C
98
pg_profile
308+1 30d

PostgreSQL load profile repository and report builder

Monitoring & Stats·BSD-2-Clause·C
99
Biscuit
296+3 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

Kernel statistics gathering

Monitoring & Stats·BSD-3-Clause·C
103
pljava
269+1 30d

PL/Java procedural language

Procedural Languages·BSD-3-Clause·Java
104
imgsmlr
265+2 30d

Image similarity with haar

Database Features·PostgreSQL·C
105

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
2600 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
251+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
231+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
222+2 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
pg_show_plans
209+4 30d

show query plans of all currently running SQL statements

Monitoring & Stats·PostgreSQL·C
118
clickhousedb_fdw
207−1 30d

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

Foreign Data Wrappers·PostgreSQL·C
119
pgJQ
2040 30d

Use jq in Postgres

Utilities·MIT·C
120
pg_jobmon
202+2 30d

Extension for logging and monitoring functions in PostgreSQL

Security & Audit·PostgreSQL·SQL
121
imcs
2010 30d

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

Analytics & Columnar·Apache-2.0·C
122
plproxy
1920 30d

Database partitioning implemented as procedural language

Analytics & Columnar·BSD 0-Clause·C
123
pgsentinel
190+2 30d

active session history

Monitoring & Stats·PostgreSQL·C
124
pgfaceting
181+1 30d

fast faceting queries using an inverted index

Data Types·BSD-3-Clause·SQL
125

sampling based statistics of wait events

Monitoring & Stats·PostgreSQL·C
126
plsh
1790 30d

PL/sh procedural language

Procedural Languages·MIT·C
127

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

Foreign Data Wrappers·Apache-2.0·SQL
128
pgmemcache
176+1 30d

memcached interface

Compatibility (Oracle/MSSQL)·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
pg_rrule
175−1 30d

RRULE field type for PostgreSQL

Data Types·MIT·C
131

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

Functions·MIT·C
132
system_stats
173+4 30d

EnterpriseDB system statistics for PostgreSQL

Monitoring & Stats·PostgreSQL·C
133
pg-semver
1660 30d

Semantic version data type

Data Types·PostgreSQL·C
134
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
135
ip4r
165−1 30d

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

Data Types·PostgreSQL·C
136
pldotnet
1640 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
pg_dirtyread
162+1 30d

Read dead but unvacuumed rows from table

Administration·BSD-3-Clause·C
139

view object permissions and compare them with the desired state

Administration·BSD-2-Clause·SQL
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
160+1 30d

Lua as a procedural language

Procedural Languages·MIT·C
142
pgddl
1530 30d

DDL eXtractor functions

Administration·PostgreSQL·SQL
143
pg-safeupdate
151+4 30d

Require criteria for UPDATE and DELETE

Administration·ISC·C
144
pg_bigm
149+3 30d

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

Full-text Search·PostgreSQL·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
131−1 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
127−1 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
pg_plan_advsr
120+2 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
154
ora_migrator
1180 30d

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

Compatibility (Oracle/MSSQL)·PL/pgSQL
155
multicorn2
115+1 30d

Fetch foreign data in Python in your PostgreSQL server.

Foreign Data Wrappers·PostgreSQL·C
156

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

Data Types·Apache-2.0·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

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

Vector & AI·C
162
prefix
106−1 30d

Prefix Range module for PostgreSQL

Data Types·PostgreSQL·C
163
plprofiler
103+2 30d

server-side support for profiling PL/pgSQL functions

Procedural Languages·Artistic·C
164
pgextwlist
1010 30d

PostgreSQL Extension Whitelisting

Security & Audit·PostgreSQL·C
165
pgrag
1010 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
166

automated ddl deployment using pglogical

Replication & ETL·MIT·C
167
tdigest
980 30d

Provides tdigest aggregate function.

Functions·PostgreSQL·C
168

Generate BM25 sparse vector inside PostgreSQL

Full-text Search·Apache-2.0·Rust
169
pgtt
97+1 30d

Extension to add Global Temporary Tables feature to PostgreSQL

Compatibility (Oracle/MSSQL)·ISC·C
170

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
171

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

Data Types·Apache-2.0·C++
172

filter statements by their execution plans.

Database Features·PostgreSQL·C
173
pldebugger
93+2 30d

server-side support for debugging PL/pgSQL functions

Procedural Languages·Artistic·C
174

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

Procedural Languages·C
175

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

Functions·Apache-2.0·C
176
emaj
91+1 30d

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

Time-series & Temporal·GPL-3.0·SQL
177
timestamp9
91+4 30d

timestamp nanosecond resolution

Data Types·MIT·C
178
jsoncdc
900 30d

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

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

q3c sky indexing plugin

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

ACL Data type

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

gzip and gunzip functions.

Utilities·MIT·C
182

Diagnosing system catalog corruption

Administration·BSD-3-Clause·C
183
supautils
84+1 30d

Extension that secures a cluster on a cloud environment

Security & Audit·Apache-2.0·C
184
credcheck
83+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
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
190
uids-postgres
74−2 30d

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

Functions·Rust
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
provsql
69+3 30d

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

Database Features·MIT·C++
197

Czech Hunspell Dictionary

Full-text Search·PostgreSQL·Data
198

German Hunspell Dictionary

Full-text Search·PostgreSQL·Data
199

en_US Hunspell Dictionary

Full-text Search·PostgreSQL·Data
200

French Hunspell Dictionary

Full-text Search·PostgreSQL·Data
201

Nepali Hunspell Dictionary

Full-text Search·PostgreSQL·Data
202

Dutch Hunspell Dictionary

Full-text Search·PostgreSQL·Data
203

Norwegian (norsk) Hunspell Dictionary

Full-text Search·PostgreSQL·Data
204

Portuguese Hunspell Dictionary

Full-text Search·PostgreSQL·Data
205

Russian Hunspell Dictionary

Full-text Search·PostgreSQL·Data
206

Russian Hunspell Dictionary (from AOT.ru group)

Full-text Search·PostgreSQL·Data
207

track plan statistics of all SQL statements executed

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

PostgreSQL table versioning extension

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

execute any sql command at any specific time at background

Time-series & Temporal·MIT·C
210

Manage authentication sessions using JWTs

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

Render HTML in SQL

Utilities·MIT·Rust
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
pg_ulid
62+1 30d

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

Functions·MIT·Go
217

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

Replication & ETL·C
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_trgm_pro
56+3 30d

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

Full-text Search·PostgreSQL·C
224
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
225
ptrack
56+1 30d

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

Administration·C
226
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
227

Track settings changes

Monitoring & Stats·PostgreSQL·SQL
228
pgdd
550 30d

Introspect pg data dictionary via standard SQL

Administration·MIT·Rust
229
pgnodemx
550 30d

Capture node OS metrics via SQL queries

Monitoring & Stats·Apache-2.0·C
230
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
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
libx509pq
51+1 30d

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

Security & Audit·GPL-3.0·C
236

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

Monitoring & Stats·PostgreSQL·C
237

Various functions for computing statistics on arrays of numbers

Functions·MIT·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_savior
49+2 30d

Postgres extension to save OOPS mistakes

Administration·MIT·C
241
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
242
queen
49+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++
243

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

Security & Audit·PLpgSQL
244

Email address type for PostgreSQL

Data Types·PostgreSQL·C
245
preprepare
460 30d

Pre Prepare your Statement server side

Administration·PostgreSQL·C
246

Tokenizers for full-text search

Full-text Search·Apache-2.0·Rust
247
firebird_fdw
43−1 30d

Foreign data wrapper for Firebird

Foreign Data Wrappers·PostgreSQL·C
248

Extension to add Oracle DBMS_JOB full compatibility to PostgreSQL

Compatibility (Oracle/MSSQL)·PostgreSQL·SQL
249
pgzstd
43+1 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

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
252
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
253

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

Data Types·PostgreSQL·PL/pgSQL
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
quantile
39−1 30d

Quantile aggregation function

Functions·BSD-2-Clause·C
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
go-fdw
350 30d

Go project template for Foreign Data Wrappers for PostgreSQL

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

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

Data Types·MIT·C
267
ldap_fdw
350 30d

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

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

discover hidden correlations in your data with MIC

Functions·GPL-3.0·C
269
bgw_replstatus
34−1 30d

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

Monitoring & Stats·PostgreSQL·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
pg_crash
34+1 30d

Send random signals to random processes

Administration·BSD-3-Clause·C
274
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
275
sqlite_fdw
340 30d

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

Foreign Data Wrappers·C
276
icu_ext
330 30d

Access ICU functions

Utilities·PostgreSQL·C
277
login_hook
330 30d

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

Security & Audit·GPL-3.0·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
pgsql-fio
33+1 30d

PostgreSQL File I/O Functions

Administration·BSD-3-Clause·C
280

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

Foreign Data Wrappers·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
pg_financial
28+1 30d

Financial aggregate functions

Functions·PostgreSQL·C
305
pg-uint128
28+1 30d

Native uint128 type

Data Types·PostgreSQL·C
306

foreign-data wrapper for remote PGSpider servers

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

Redis-like In-Memory DB Embedded in Postgres

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

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

Data Types·C
309
argm
270 30d

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

Functions·PostgreSQL·C
310
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
311

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

Administration·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
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
314
jdbc2_fdw
260 30d

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

Foreign Data Wrappers·C
315
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
316
lsm
26−1 30d

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

Foreign Data Wrappers·Apache-2.0·C
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
250 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
324
pgsphere
25+1 30d

spherical objects with useful functions, operators and index support

Data Types·BSD-3-Clause·C

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