354+ PostgreSQL Extensions Ranked & Compared

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

Last reviewed: May 15, 2026
354 extensions
1
timescaledb
22.7k+232 30d

Enables scalable inserts and complex queries for time-series data

Time-series & Temporal·TSL·C
2
vector
21.5k+521 30d

vector data type and ivfflat and hnsw access methods

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

Distributed PostgreSQL as an extension

Analytics & Columnar·AGPL-3.0·C
4
pg_search
8.8k+155 30d

Full text search for PostgreSQL using BM25

Full-text Search·AGPL-3.0·Rust
5
pgml
6.8k+50 30d

Run AL/ML workloads with SQL interface

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

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

Database Features·PostgreSQL·SQL
7
age
4.5k+89 30d

AGE graph database extension

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

Job scheduler for PostgreSQL

Time-series & Temporal·PostgreSQL·C
9
rdkit
3.4k+38 30d

Cheminformatics functionality for PostgreSQL.

Database Features·BSD-3-Clause·C++
10
pg_graphql
3.3k+25 30d

Add in-database GraphQL support

Database Features·Apache-2.0·Rust
11
pg_duckdb
3.1k+50 30d

DuckDB Embedded in Postgres

Analytics & Columnar·MIT·C++
12
columnar
3.0k+4 30d

Hydra Columnar extension

Analytics & Columnar·AGPL-3.0·C
13
vectorscale
3.0k+46 30d

Advanced indexing for vector data with DiskANN

Vector & AI·PostgreSQL·Rust
14
pg_partman
2.7k+33 30d

Extension to manage partitioned tables by time or ID

Analytics & Columnar·PostgreSQL·C
15
pg_repack
2.2k+10 30d

Reorganize tables in PostgreSQL databases with minimal locks

Administration·BSD-3-Clause·C
16
plv8
2.0k+3 30d

PL/JavaScript (v8) trusted procedural language

Procedural Languages·PostgreSQL·C++
17
pg_mooncake
2.0k+12 30d

Columnstore Table in Postgres

Analytics & Columnar·MIT·C++
18
index_advisor
1.7k+1 30d

Query index advisor

Database Features·PostgreSQL·SQL
19
repmgr
1.7k+7 30d

Replication manager for PostgreSQL

Replication & ETL·GPL-3.0·C
20
vchord
1.7k+39 30d

Vector database plugin for Postgres, written in Rust

Vector & AI·AGPL-3.0·Rust
21
hypopg
1.6k+9 30d

Hypothetical indexes for PostgreSQL

Database Features·PostgreSQL·C
22
pgaudit
1.6k+17 30d

provides auditing functionality

Security & Audit·PostgreSQL·C
23
omni
1.6k+6 30d

Advanced adapter for Postgres extensions

Database Features·Apache-2.0·C
24
http
1.6k+4 30d

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

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

Changing data capture in JSON format

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

incremental view maintenance on PostgreSQL

Database Features·PostgreSQL·C
27
pg_strom
1.4k+3 30d

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

Analytics & Columnar·PostgreSQL·C
28
pgrouting
1.4k+12 30d

pgRouting Extension

Geospatial·GPL-2.0·C++
29
pgautofailover
1.3k+5 30d

pg_auto_failover

Administration·PostgreSQL·C
30
hll
1.2k+5 30d

type for storing hyperloglog data

Database Features·Apache-2.0·C++
31
pglogical
1.2k+7 30d

PostgreSQL Logical Replication

Replication & ETL·PostgreSQL·C
32
pg_jsonschema
1.2k+10 30d

PostgreSQL extension providing JSON Schema validation

Database Features·Apache-2.0·Rust
33
pgtap
1.1k+7 30d

Unit testing for PostgreSQL

Procedural Languages·PostgreSQL·C
34
pgactive
1.1k+7 30d

Active-Active Replication Extension for PostgreSQL

Replication & ETL·Apache-2.0·C
35
pg_hint_plan
900+10 30d

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

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

a parser for full-text search of Chinese

Full-text Search·PostgreSQL·C
37
wrappers
845+7 30d

Foreign data wrappers developed by Supabase

Foreign Data Wrappers·Apache-2.0·Rust
38
vectorize
830+2 30d

The simplest way to do vector search on Postgres

Vector & AI·PostgreSQL·Rust
39
pglite_fusion
829+4 30d

Embed an SQLite database in your PostgreSQL table

Data Types·MIT·Rust
40
rum
829+3 30d

RUM index access method

Database Features·PostgreSQL·C
41
powa
8190 30d

PostgreSQL Workload Analyser-core

Monitoring & Stats·PostgreSQL·Python
42
plpgsql_check
754+2 30d

extended check for plpgsql functions

Procedural Languages·MIT·C
43
pgroonga
726+5 30d

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

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

data type for jsonb inspection

Database Features·PostgreSQL·C
45
pg_parquet
673+4 30d

copy data between Postgres and Parquet

Analytics & Columnar·PostgreSQL·Rust
46
pg_squeeze
668+3 30d

A tool to remove unused space from a relation.

Administration·BSD-2-Clause·C
47
mobilitydb
610+1 30d

MobilityDB geospatial trajectory data management & analysis platform

Geospatial·GPL-3.0·C
48
pgsodium
602+1 30d

Postgres extension for libsodium functions

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

Foreign data wrapper for querying a MySQL server

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

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
51
oracle_fdw
541+2 30d

foreign data wrapper for Oracle access

Foreign Data Wrappers·PostgreSQL·C
52
pg_analytics
537+1 30d

Postgres for analytics, powered by DuckDB

Analytics & Columnar·PostgreSQL·Rust
53
orafce
5350 30d

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

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

Foreign data wrapper for querying a Redis server

Foreign Data Wrappers·PostgreSQL·C
55
pgx_ulid
501+3 30d

ulid type and methods

Functions·MIT·Rust
56
pg_bulkload
4900 30d

pg_bulkload is a high speed data loading utility for PostgreSQL

Replication & ETL·BSD-3-Clause·C
57
plprql
4730 30d

Use PRQL in PostgreSQL - Pipelined Relational Query Language

Procedural Languages·Apache-2.0·Rust
58

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

Time-series & Temporal·TSL·Rust
59
pgjwt
440+1 30d

JSON Web Token API for Postgresql

Utilities·MIT·SQL
60
pg_uuidv7
4270 30d

Create UUIDv7 values in postgres

Functions·MPL-2.0·C
61
tds_fdw
426+1 30d

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

Foreign Data Wrappers·PostgreSQL·C
62
pointcloud
425+1 30d

data type for lidar point clouds

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

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

Functions·Apache-2.0·Rust
64
timeseries
418+3 30d

Convenience API for time series stack

Time-series & Temporal·PostgreSQL·SQL
65
pgq
416+8 30d

Generic queue for PostgreSQL

Database Features·ISC·C
66
duckdb_fdw
405+2 30d

DuckDB Foreign Data Wrapper

Analytics & Columnar·MIT·C
67
pg_tle
4050 30d

Trusted Language Extensions for PostgreSQL

Procedural Languages·Apache-2.0·C
68
pg_similarity
400+1 30d

support similarity queries

Vector & AI·BSD-3-Clause·C
69
pg_tracing
399+4 30d

Distributed Tracing for PostgreSQL

Monitoring & Stats·MIT·C
70
pg_later
3730 30d

Run queries now and get results later

Time-series & Temporal·PostgreSQL·Rust
71
vchord_bm25
368+6 30d

A postgresql extension for bm25 ranking algorithm

Full-text Search·AGPL-3.0·Rust
72
pg_net
353+4 30d

Async HTTP Requests

Utilities·Apache-2.0·C
73
decoder_raw
3470 30d

Output plugin for logical replication in Raw SQL format

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

foreign data wrapper for MongoDB access

Foreign Data Wrappers·LGPL-3.0·C
75
uint
338+1 30d

unsigned integer types

Data Types·PostgreSQL·C
76
pg_qualstats
3310 30d

An extension collecting statistics about quals

Monitoring & Stats·BSD-3-Clause·C
77
uri
3230 30d

URI Data type for PostgreSQL

Data Types·PostgreSQL·C
78
pg_hashids
3220 30d

Short unique id generator for PostgreSQL, using hashids

Functions·MIT·C
79
periods
313+2 30d

Provide Standard SQL functionality for PERIODs and SYSTEM VERSIONING

Time-series & Temporal·PostgreSQL·C
80
sequential_uuids
310−1 30d

generator of sequential UUIDs

Functions·MIT·C
81
pg_profile
306+3 30d

PostgreSQL load profile repository and report builder

Monitoring & Stats·BSD-2-Clause·C
82
roaringbitmap
281+6 30d

support for Roaring Bitmaps

Data Types·Apache-2.0·C
83
unit
2770 30d

SI units extension

Data Types·GPL-2.0·C
84
pljava
268+1 30d

PL/Java procedural language

Procedural Languages·BSD-3-Clause·Java
85

Kernel statistics gathering

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

Image similarity with haar

Database Features·PostgreSQL·C
87
ogr_fdw
262+2 30d

foreign-data wrapper for GIS data access

Geospatial·MIT·C
88
decoderbufs
2600 30d

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

Replication & ETL·MIT·C
89
sqlite_fdw
2590 30d

SQLite Foreign Data Wrapper

Foreign Data Wrappers·PostgreSQL·C
90
pg_rational
2570 30d

bigint fractions

Data Types·MIT·C
91
pg_background
248+1 30d

Run SQL queries in the background

Time-series & Temporal·GPL-3.0·C
92
topn
247+1 30d

type for top-n JSONB

Functions·AGPL-3.0·C
93

Supabase Vault Extension

Security & Audit·Apache-2.0·C
94

Incremental Processing by Crunchy Data

Database Features·PostgreSQL·C
95
pgpdf
2240 30d

PDF type with meta admin & Full-Text Search

Data Types·GPL-3.0·C
96

show query plans of all currently running SQL statements

Monitoring & Stats·PostgreSQL·C
97
pgjq
2040 30d

Use jq in Postgres

Utilities·MIT·C
98
pg_jobmon
2000 30d

Extension for logging and monitoring functions in PostgreSQL

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

Database partitioning implemented as procedural language

Analytics & Columnar·BSD 0-Clause·C
100
pgsentinel
1880 30d

active session history

Monitoring & Stats·PostgreSQL·C
101
pgfaceting
180+3 30d

fast faceting queries using an inverted index

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

PL/sh procedural language

Procedural Languages·MIT·C
103
aws_s3
1770 30d

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

Foreign Data Wrappers·Apache-2.0·SQL
104

sampling based statistics of wait events

Monitoring & Stats·PostgreSQL·C
105
pg_rrule
1760 30d

RRULE field type for PostgreSQL

Data Types·MIT·C
106
pgmemcache
1750 30d

memcached interface

Compatibility (Oracle/MSSQL)·MIT·C
107
system_stats
168+1 30d

EnterpriseDB system statistics for PostgreSQL

Monitoring & Stats·PostgreSQL·C
108
ip4r
166+1 30d

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

Data Types·PostgreSQL·C
109
semver
1660 30d

Semantic version data type

Data Types·PostgreSQL·C
110

view object permissions and compare them with the desired state

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

Read dead but unvacuumed rows from table

Administration·BSD-3-Clause·C
112
pllua
1590 30d

Lua as a procedural language

Procedural Languages·MIT·C
113
ddlx
1530 30d

DDL eXtractor functions

Administration·PostgreSQL·SQL
114
pg_bigm
148+4 30d

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

Full-text Search·PostgreSQL·C
115
safeupdate
1470 30d

Require criteria for UPDATE and DELETE

Administration·ISC·C
116
hdfs_fdw
1400 30d

foreign-data wrapper for remote hdfs servers

Foreign Data Wrappers·BSD-3-Clause·C
117
smlar
128+1 30d

Effective similarity search

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

load R interpreter and execute R script from within a database

Procedural Languages·GPL-2.0·C
119
kafka_fdw
1120 30d

kafka Foreign Data Wrapper for CSV formatted messages

Foreign Data Wrappers·PostgreSQL·C
120
multicorn
112+1 30d

Fetch foreign data in Python in your PostgreSQL server.

Foreign Data Wrappers·PostgreSQL·C
121
pgfincore
1090 30d

examine and manage the os buffer cache

Administration·BSD-3-Clause·C
122

PG Failover Slots extension

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

Prefix Range module for PostgreSQL

Data Types·PostgreSQL·C
124
pgextwlist
1010 30d

PostgreSQL Extension Whitelisting

Security & Audit·PostgreSQL·C
125
plprofiler
1010 30d

server-side support for profiling PL/pgSQL functions

Procedural Languages·Artistic·C
126

automated ddl deployment using pglogical

Replication & ETL·MIT·C
127
tdigest
970 30d

Provides tdigest aggregate function.

Functions·Apache-2.0·C
128
pg_bestmatch
96+1 30d

Generate BM25 sparse vector inside PostgreSQL

Full-text Search·Apache-2.0·Rust
129
pgtt
96+1 30d

Extension to add Global Temporary Tables feature to PostgreSQL

Compatibility (Oracle/MSSQL)·ISC·C
130

filter statements by their execution plans.

Database Features·PostgreSQL·C
131
pldbgapi
910 30d

server-side support for debugging PL/pgSQL functions

Procedural Languages·Artistic·C
132
emaj
900 30d

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

Time-series & Temporal·GPL-3.0·SQL
133
q3c
900 30d

q3c sky indexing plugin

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

ACL Data type

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

gzip and gunzip functions.

Utilities·MIT·C
136

Diagnosing system catalog corruption

Administration·BSD-3-Clause·C
137
supautils
83+1 30d

Extension that secures a cluster on a cloud environment

Security & Audit·Apache-2.0·C
138
timestamp9
82+17 30d

timestamp nanosecond resolution

Data Types·MIT·C
139

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

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

Extension for specialized, per-table replication between PostgreSQL instances

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

foreign-data wrapper for remote servers available over JDBC

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

similar to SET ROLE but with added logging

Security & Audit·PostgreSQL·C
143
odbc_fdw
720 30d

Foreign data wrapper for accessing remote databases using ODBC

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

Run curl actions for data transfer in URL syntax

Utilities·MIT·C
145

Czech Hunspell Dictionary

Full-text Search·PostgreSQL·Data
146

German Hunspell Dictionary

Full-text Search·PostgreSQL·Data
147

en_US Hunspell Dictionary

Full-text Search·PostgreSQL·Data
148

French Hunspell Dictionary

Full-text Search·PostgreSQL·Data
149

Nepali Hunspell Dictionary

Full-text Search·PostgreSQL·Data
150

Dutch Hunspell Dictionary

Full-text Search·PostgreSQL·Data
151

Norwegian (norsk) Hunspell Dictionary

Full-text Search·PostgreSQL·Data
152

Portuguese Hunspell Dictionary

Full-text Search·PostgreSQL·Data
153

Russian Hunspell Dictionary

Full-text Search·PostgreSQL·Data
154

Russian Hunspell Dictionary (from AOT.ru group)

Full-text Search·PostgreSQL·Data
155

track plan statistics of all SQL statements executed

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

PostgreSQL table versioning extension

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

execute any sql command at any specific time at background

Time-series & Temporal·MIT·C
158

Manage authentication sessions using JWTs

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

Render HTML in SQL

Utilities·MIT·Rust
160

Protobuf support for PostgreSQL

Utilities·MIT·C
161
hashlib
590 30d

Stable hash functions for Postgres

Utilities·PostgreSQL·C
162
pgdd
550 30d

Introspect pg data dictionary via standard SQL

Administration·MIT·Rust
163
pgnodemx
550 30d

Capture node OS metrics via SQL queries

Monitoring & Stats·Apache-2.0·C
164

Track settings changes

Monitoring & Stats·PostgreSQL·SQL
165
geoip
520 30d

IP-based geolocation query

Geospatial·BSD-2-Clause·SQL
166

tiktoken tokenizer for use with OpenAI models in postgres

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

url_encode, url_decode functions

Utilities·PostgreSQL·C
168

Various functions for computing statistics on arrays of numbers

Functions·MIT·C
169
emailaddr
460 30d

Email address type for PostgreSQL

Data Types·PostgreSQL·C
170
pg_savior
46+5 30d

Postgres extension to save OOPS mistakes

Administration·Apache-2.0·C
171

Pre Prepare your Statement server side

Administration·PostgreSQL·C
172

Foreign data wrapper for Firebird

Foreign Data Wrappers·PostgreSQL·C
173
pg_tokenizer
43+1 30d

Tokenizers for full-text search

Full-text Search·Apache-2.0·Rust
174
zstd
420 30d

Zstandard compression algorithm implementation in PostgreSQL

Utilities·ISC·C
175
quantile
400 30d

Quantile aggregation function

Functions·BSD-2-Clause·C
176
permuteseq
390 30d

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

Functions·PostgreSQL·C
177

Provides cheat (but useful) functions

Administration·PostgreSQL·C
178

Aggregate functions for array inputs

Functions·MIT·C
179
logerrors
370 30d

Function for collecting statistics about messages in logfile

Security & Audit·BSD-3-Clause·C
180

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

Foreign Data Wrappers·PostgreSQL·SQL
181

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

Monitoring & Stats·PostgreSQL·C
182
vasco
350 30d

discover hidden correlations in your data with MIC

Functions·GPL-3.0·C
183

first() and last() aggregate functions

Functions·PostgreSQL·C
184
icu_ext
330 30d

Access ICU functions

Utilities·PostgreSQL·C
185
login_hook
330 30d

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

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

Send random signals to random processes

Administration·BSD-3-Clause·C
187
fio
320 30d

PostgreSQL File I/O Functions

Administration·BSD-3-Clause·C
188

Extra Window Functions for PostgreSQL

Functions·PostgreSQL·C
189
pagevis
310 30d

Visualise database pages in ascii code

Monitoring & Stats·MIT·SQL
190
pgmp
310 30d

Multiple Precision Arithmetic extension

Data Types·LGPL-3.0·C
191
redis
310 30d

Send redis pub/sub messages to Redis from PostgreSQL Directly

Foreign Data Wrappers·MIT·C
192

Activate/deactivate/verify checksums in offline Postgres clusters

Administration·BSD-2-Clause·C
193
pgpcre
290 30d

Perl Compatible Regular Expression functions

Utilities·PostgreSQL·C
194

Tools to migrate other databases to PostgreSQL

Replication & ETL·BSD-3-Clause·SQL
195

monitor connection attempts per user

Security & Audit·MIT·C
196

foreign-data wrapper for remote PGSpider servers

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

Redis-like In-Memory DB Embedded in Postgres

Compatibility (Oracle/MSSQL)·AGPL-3.0·C
198
financial
270 30d

Financial aggregate functions

Functions·PostgreSQL·C
199
uint128
27+1 30d

Native uint128 type

Data Types·PostgreSQL·C
200
log_fdw
260 30d

foreign-data wrapper for Postgres log file access

Foreign Data Wrappers·Apache-2.0·C
201

The PostgreSQL Antivirus

Security & Audit·PostgreSQL·C
202
meta
240 30d

Normalized, friendlier system catalog for PostgreSQL

Monitoring & Stats·BSD-2-Clause·SQL
203
pg_sphere
240 30d

spherical objects with useful functions, operators and index support

Data Types·BSD-3-Clause·C
204

Deal with orphaned files

Administration·PostgreSQL·C
205

pgAudit addon to redirect audit log to an independent file

Security & Audit·PostgreSQL·C
206

Log all the queries that reference a particular column

Monitoring & Stats·PostgreSQL·C
207
prioritize
220 30d

get and set the priority of PostgreSQL backends

Administration·PostgreSQL·C
208
sparql
220 30d

Query SPARQL datasource with SQL

Utilities·Apache-2.0·SQL
209
collection
21+1 30d

Memory optimized data type to be used inside of plpglsql func

Data Types·Apache-2.0·C
210
currency
200 30d

Custom PostgreSQL currency type in 1Byte

Data Types·MIT·C
211
pg_math
190 30d

GSL statistical functions for postgresql

Functions·GPL-3.0·C
212

cluster database read only

Administration·PostgreSQL·C
213
wal2mongo
180 30d

PostgreSQL logical decoding output plugin for MongoDB

Replication & ETL·Apache-2.0·C
214
arraymath
170 30d

Array math and operators that work element by element on the contents of arrays

Functions·MIT·C
215
base36
17−1 30d

Integer Base36 types

Functions·MIT·C
216
pg_geohash
170 30d

Handle geohash based functionality for spatial coordinates

Geospatial·MIT·C
217
pgqr
170 30d

QR Code generator from PostgreSQL

Utilities·BSD-3-Clause·C
218
toastinfo
170 30d

show details on toasted datums

Monitoring & Stats·PostgreSQL·C
219
floatvec
160 30d

Math for vectors (arrays) of numbers

Functions·MIT·C
220
pgmeminfo
150 30d

show memory usage

Monitoring & Stats·MIT·C
221
pgsmcrypto
150 30d

PostgreSQL SM Algorithm Extension

Security & Audit·MIT·Rust
222
pguecc
150 30d

uECC bindings for Postgres

Utilities·BSD-2-Clause·C
223

Extension to add Oracle DBMS_METADATA compatibility to PostgreSQL

Compatibility (Oracle/MSSQL)·PostgreSQL·SQL
224
pg_readme
130 30d

Generate a README.md document for a database extension or schema

Utilities·PostgreSQL·C
225

Registration and manipulation of session variables and constants

Compatibility (Oracle/MSSQL)·GPL-3.0·C
226
sslutils
120 30d

A Postgres extension for managing SSL certificates through SQL

Security & Audit·PostgreSQL·C
227

build fact tables with Postgres

Replication & ETL·MIT·C
228

More than the bare necessities for PostgreSQL i18n and l10n.

Data Types·PostgreSQL·SQL
229
xxhash
110 30d

xxhash functions for PostgreSQL

Utilities·BSD-2-Clause·C
230
numeral
100 30d

numeral datatypes extension

Data Types·GPL-2.0·C
231

PostgreSQL extension to send email using SMTP

Utilities·MIT·Rust
232
country
90 30d

Country data type, ISO 3166-1

Data Types·PostgreSQL·C
233
cryptint
90 30d

Encryption functions for int and bigint values

Utilities·PostgreSQL·C
234
md5hash
90 30d

type for storing 128-bit binary data inline

Data Types·BSD-2-Clause·C
235

Audit data changes and provide flashback ability

Security & Audit·BSD-3-Clause·SQL
236
shacrypt
90 30d

Implements SHA256-CRYPT and SHA512-CRYPT password encryption schemes

Utilities·PostgreSQL·C
237
dbt2
80 30d

OSDL-DBT-2 test kit

Procedural Languages·Artistic·C
238
floatfile
80 30d

Simple file storage for arrays of floats

Utilities·MIT·C
239

Some date time functions and operators that,

Utilities·PostgreSQL·SQL
240
tzf
80 30d

Fast lookup timezone name by GPS coordinates

Geospatial·MIT·Rust
241
hashtypes
70 30d

sha1, md5 and other data types for PostgreSQL

Data Types·PostgreSQL·C
242

logs transaction ids of drop table, drop column, drop materialized view statements

Administration·PostgreSQL·SQL
243
pg_sqlog
70 30d

Provide SQL interface to logs

Monitoring & Stats·BSD-3-Clause·SQL
244
envvar
60 30d

Fetch the value of an environment variable

Utilities·PostgreSQL·C
245

Extension to add Oracle DBMS_LOCK full compatibility to PostgreSQL

Compatibility (Oracle/MSSQL)·PostgreSQL·SQL
246

PostgreSQL email validation that is consistent with the HTML5 spec

Utilities·PostgreSQL·SQL
247

Text Summarization using LLMs. Built using pgrx

Vector & AI·PostgreSQL·Rust
248

easily jump into a visual plan UI for any SQL query

Monitoring & Stats·PostgreSQL·Rust
249
pg_fkpart
50 30d

Table partitioning by foreign key utility

Analytics & Columnar·GPL-2.0·SQL
250
xicor
50 30d

XI Correlation Coefficient in Postgres

Functions·GPL-3.0·C
251

Historize the ddl changes inside PostgreSQL database

Utilities·GPL-2.0·SQL
252

Strengthen PostgreSQL user password checks with cracklib

Security & Audit·LGPL-2.1·C
253

Fast Google Encoded Polyline encoding & decoding for postgres

Geospatial·MIT·Rust
254
base62
30 30d

Base62 extension for PostgreSQL

Functions·MIT·C
255
bzip
30 30d

Bzip compression and decompression

Utilities·MIT·C
256
convert
30 30d

conversion functions for spatial, routing and other specialized uses

Functions·MIT·Rust
257

data type for representing durations

Data Types·MIT·C
258

Have an accurate view on pglogical replication delay

Replication & ETL·PostgreSQL·C
259
asn1oid
20 30d

asn1oid extension

Data Types·GPL-3.0·C
260
chkpass
20 30d

data type for auto-encrypted passwords

Data Types·PostgreSQL·C
261
ddsketch
20 30d

Provides ddsketch aggregate function

Functions·PostgreSQL·C
262
pg_base58
20 30d

Base58 Encoder/Decoder Extension for PostgreSQL

Functions·MIT·Rust
263

A suite of Cardano-related tools

Database Features·MIT·Rust
264

remove buffered pages for specific relations

Administration·Apache-2.0·C
265
pg_upless
20 30d

Detect Useless UPDATE

Administration·PostgreSQL·SQL
266
pgcozy
20 30d

Pre-warming shared buffers according to previous pg_buffercache snapshots for PostgreSQL.

Administration·PostgreSQL·SQL
267
table_log
20 30d

record table modification logs and PITR for table/row

Administration·PostgreSQL·C
268

PLPGSQL Script to historize data in partitionned table

Utilities·PostgreSQL·SQL
269

Debian version number data type

Data Types·PostgreSQL·SQL
270
random
10 30d

random data generator

Functions·PostgreSQL·C
271

Wrapper for the Faker Python library

Procedural Languages·PostgreSQL·Python
272

H3 bindings for PostgreSQL

Geospatial·Apache-2.0·C
273

Lower quantile aggregate function

Functions·BSD-2-Clause·C
274

data structure for on-line agg of data into approximate sketch

Functions·PostgreSQL·C
275

Cross documentation between Django and DBT projects

Utilities·GPL-3.0·SQL
276

administrative functions for PostgreSQL

Administration·PostgreSQL·C
277

functions for verifying relation integrity

Administration·PostgreSQL·C
278

PostgreSQL Anonymizer (anon) extension

Security & Audit·PostgreSQL·Rust
279

pause briefly before reporting authentication failure

Security & Audit·PostgreSQL·C
280

Provides a means for logging execution plans of slow statements automatically

Monitoring & Stats·PostgreSQL·C
281

functions for autoincrementing fields

Functions·PostgreSQL·C
282

SQL Server Transact SQL Datatype Support

Compatibility (Oracle/MSSQL)·Apache-2.0·C
283

SQL Server Money Data Type

Compatibility (Oracle/MSSQL)·Apache-2.0·C
284

SQL Server TDS protocol extension

Compatibility (Oracle/MSSQL)·Apache-2.0·C
285

SQL Server Transact SQL compatibility

Compatibility (Oracle/MSSQL)·Apache-2.0·C
286

adds a custom basebackup target called shell

Administration·PostgreSQL·C
287

an example of an archive module

Administration·PostgreSQL·C
288

bloom access method - signature file based index

Database Features·PostgreSQL·C
289

support for indexing common datatypes in GIN

Functions·PostgreSQL·C
290

support for indexing common datatypes in GiST

Functions·PostgreSQL·C
291

data type for case-insensitive character strings

Data Types·PostgreSQL·C
292

credcheck - postgresql plain text credential checker

Security & Audit·MIT·C
293

data type for multidimensional cubes

Data Types·PostgreSQL·C
294

foreign data wrapper for DB2 access

Foreign Data Wrappers·PostgreSQL·C
295

connect to other PostgreSQL databases from within a database

Foreign Data Wrappers·PostgreSQL·C
296

text search dictionary template for integers

Functions·PostgreSQL·C
297

text search dictionary template for extended synonym processing

Functions·PostgreSQL·C
298

API surface for DocumentDB for PostgreSQL

Compatibility (Oracle/MSSQL)·MIT·C
299

calculate great-circle distances on the surface of the Earth

Geospatial·PostgreSQL·C
300

foreign-data wrapper for flat file access

Foreign Data Wrappers·PostgreSQL·C
301

determine similarities and distance between strings

Full-text Search·PostgreSQL·C
302

data type for storing sets of (key, value) pairs

Data Types·PostgreSQL·C
303

functions for tracking who changed a table

Functions·PostgreSQL·C
304

integer aggregator and enumerator (obsolete)

Functions·PostgreSQL·C
305

functions, operators, and index support for 1-D arrays of integers

Functions·PostgreSQL·C
306

data types for international product numbering standards

Data Types·PostgreSQL·C
307

Large Object maintenance

Administration·PostgreSQL·C
308

data type for hierarchical tree-like structures

Data Types·PostgreSQL·C
309

functions for tracking last modification time

Functions·PostgreSQL·C
310

Module for blocking SET variables for non-super users.

Security & Audit·AGPL-3.0·C
311

utilities in support of old_snapshot_threshold

Administration·PostgreSQL·C
312

inspect the contents of database pages at a low level

Monitoring & Stats·PostgreSQL·C
313

examine the shared buffer cache

Monitoring & Stats·PostgreSQL·C
314

Extension to add Oracle DBMS_JOB full compatibility to PostgreSQL

Compatibility (Oracle/MSSQL)·PostgreSQL·SQL
315

examine the free space map (FSM)

Monitoring & Stats·PostgreSQL·C
316

Logical decoding components inspection

Monitoring & Stats·PostgreSQL·C
317

Allow EXPLAIN to dump even more details

Monitoring & Stats·PostgreSQL·C
318

prewarm relation data

Administration·PostgreSQL·C
319

track planning and execution statistics of all SQL statements executed

Monitoring & Stats·PostgreSQL·C
320

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

Compatibility (Oracle/MSSQL)·ISC·C
321

extension to perform surgery on a damaged relation

Administration·PostgreSQL·C
322

pg_tde access method

Security & Audit·MIT·C
323

text similarity measurement and index searching based on trigrams

Full-text Search·PostgreSQL·C
324

examine the visibility map (VM) and page-level visibility info

Monitoring & Stats·PostgreSQL·C
325

functions to inspect contents of PostgreSQL Write-Ahead Log

Monitoring & Stats·PostgreSQL·C
326

Machine learning framework for PostgreSQL

Vector & AI·AGPL-3.0·C
327

A PostgreSQL job scheduler

Administration·PostgreSQL·C
328

cryptographic functions

Security & Audit·PostgreSQL·C
329

cryptographic key management

Security & Audit·PostgreSQL·C
330

Logical Replication output plugin

Replication & ETL·PostgreSQL·C
331

Administrative functions for pgPool

Administration·PostgreSQL·C
332

show row-level locking information

Monitoring & Stats·PostgreSQL·C
333

Some functions and views for daily usage

Utilities·PostgreSQL·SQL
334

show tuple-level statistics

Monitoring & Stats·PostgreSQL·C
335

PL/Perl procedural language

Procedural Languages·PostgreSQL·C
336

PL/PerlU untrusted procedural language

Procedural Languages·PostgreSQL·C
337

PL/pgSQL procedural language

Procedural Languages·PostgreSQL·C
338

PL/Python3U untrusted procedural language

Procedural Languages·PostgreSQL·C
339

PL/Tcl procedural language

Procedural Languages·PostgreSQL·C
340

PostGIS geometry and geography spatial types and functions

Geospatial·GPL-2.0·C
341

foreign-data wrapper for remote PostgreSQL servers

Foreign Data Wrappers·PostgreSQL·C
342

functions for implementing referential integrity (obsolete)

Functions·PostgreSQL·C
343

data type for representing line segments or floating-point intervals

Data Types·PostgreSQL·C
344

label-based mandatory access control (MAC) based on SELinux security policy.

Security & Audit·PostgreSQL·C
345

information about SSL certificates

Monitoring & Stats·PostgreSQL·C
346

functions that manipulate whole tables, including crosstab

Analytics & Columnar·PostgreSQL·C
347

Triggered change notifications

Functions·PostgreSQL·C
348

temporal tables

Time-series & Temporal·BSD-2-Clause·C
349

SQL-based test/example module for WAL logical decoding

Replication & ETL·PostgreSQL·C
350

TABLESAMPLE method which accepts number of rows as a limit

Functions·PostgreSQL·C
351

TABLESAMPLE method which accepts time in milliseconds as a limit

Functions·PostgreSQL·C
352

text search dictionary that removes accents

Functions·PostgreSQL·C
353

generate universally unique identifiers (UUIDs)

Functions·PostgreSQL·C
354

XPath querying and XSLT

Data Types·PostgreSQL·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