Every Postgres server extension — pgvector, PostGIS, pg_cron, Citus, and 350+ more — ranked by GitHub stars and grouped by category.
Enables scalable inserts and complex queries for time-series data
Enables scalable inserts and complex queries for time-series data
vector data type and ivfflat and hnsw access methods
Distributed PostgreSQL as an extension
Full text search for PostgreSQL using BM25
A lightweight message queue. Like AWS SQS and RSMQ but on Postgres.
A lightweight message queue. Like AWS SQS and RSMQ but on Postgres.
Job scheduler for PostgreSQL
Cheminformatics functionality for PostgreSQL.
Add in-database GraphQL support
Advanced indexing for vector data with DiskANN
Extension to manage partitioned tables by time or ID
Extension to manage partitioned tables by time or ID
Reorganize tables in PostgreSQL databases with minimal locks
Reorganize tables in PostgreSQL databases with minimal locks
PL/JavaScript (v8) trusted procedural language
Columnstore Table in Postgres
Replication manager for PostgreSQL
Vector database plugin for Postgres, written in Rust
Hypothetical indexes for PostgreSQL
provides auditing functionality
Advanced adapter for Postgres extensions
HTTP client for PostgreSQL, allows web page retrieval inside the database.
HTTP client for PostgreSQL, allows web page retrieval inside the database.
Changing data capture in JSON format
incremental view maintenance on PostgreSQL
PG-Strom - big-data processing acceleration using GPU and NVME
PG-Strom - big-data processing acceleration using GPU and NVME
type for storing hyperloglog data
PostgreSQL Logical Replication
PostgreSQL extension providing JSON Schema validation
PostgreSQL extension providing JSON Schema validation
Active-Active Replication Extension for PostgreSQL
Give PostgreSQL ability to manually force some decisions in execution plans.
Give PostgreSQL ability to manually force some decisions in execution plans.
a parser for full-text search of Chinese
Foreign data wrappers developed by Supabase
The simplest way to do vector search on Postgres
Embed an SQLite database in your PostgreSQL table
PostgreSQL Workload Analyser-core
extended check for plpgsql functions
Use Groonga as index, fast full text search platform for all languages!
Use Groonga as index, fast full text search platform for all languages!
data type for jsonb inspection
copy data between Postgres and Parquet
A tool to remove unused space from a relation.
MobilityDB geospatial trajectory data management & analysis platform
MobilityDB geospatial trajectory data management & analysis platform
Postgres extension for libsodium functions
Foreign data wrapper for querying a MySQL server
Foreign data wrapper for querying a MySQL server
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.
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.
foreign data wrapper for Oracle access
Postgres for analytics, powered by DuckDB
Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS
Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS
Foreign data wrapper for querying a Redis server
Foreign data wrapper for querying a Redis server
pg_bulkload is a high speed data loading utility for PostgreSQL
pg_bulkload is a high speed data loading utility for PostgreSQL
Use PRQL in PostgreSQL - Pipelined Relational Query Language
Use PRQL in PostgreSQL - Pipelined Relational Query Language
Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities
Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities
Foreign data wrapper for querying a TDS database (Sybase or Microsoft SQL Server)
Foreign data wrapper for querying a TDS database (Sybase or Microsoft SQL Server)
data type for lidar point clouds
multi-tool for generating new/niche universally unique identifiers (ex. UUIDv6, ULID, KSUID)
multi-tool for generating new/niche universally unique identifiers (ex. UUIDv6, ULID, KSUID)
Convenience API for time series stack
Trusted Language Extensions for PostgreSQL
Run queries now and get results later
A postgresql extension for bm25 ranking algorithm
Output plugin for logical replication in Raw SQL format
Output plugin for logical replication in Raw SQL format
foreign data wrapper for MongoDB access
An extension collecting statistics about quals
Short unique id generator for PostgreSQL, using hashids
Provide Standard SQL functionality for PERIODs and SYSTEM VERSIONING
Provide Standard SQL functionality for PERIODs and SYSTEM VERSIONING
PostgreSQL load profile repository and report builder
PostgreSQL load profile repository and report builder
Kernel statistics gathering
Logical decoding plugin that delivers WAL stream changes using a Protocol Buffer format
Logical decoding plugin that delivers WAL stream changes using a Protocol Buffer format
SQLite Foreign Data Wrapper
Run SQL queries in the background
Incremental Processing by Crunchy Data
PDF type with meta admin & Full-Text Search
show query plans of all currently running SQL statements
show query plans of all currently running SQL statements
Extension for logging and monitoring functions in PostgreSQL
Extension for logging and monitoring functions in PostgreSQL
Database partitioning implemented as procedural language
Database partitioning implemented as procedural language
active session history
fast faceting queries using an inverted index
aws_s3 postgres extension to import/export data from/to s3
aws_s3 postgres extension to import/export data from/to s3
sampling based statistics of wait events
EnterpriseDB system statistics for PostgreSQL
IPv4/v6 and IPv4/v6 range index type for PostgreSQL
view object permissions and compare them with the desired state
view object permissions and compare them with the desired state
Read dead but unvacuumed rows from table
create 2-gram (bigram) index for faster full text search.
create 2-gram (bigram) index for faster full text search.
Require criteria for UPDATE and DELETE
foreign-data wrapper for remote hdfs servers
load R interpreter and execute R script from within a database
load R interpreter and execute R script from within a database
kafka Foreign Data Wrapper for CSV formatted messages
kafka Foreign Data Wrapper for CSV formatted messages
Fetch foreign data in Python in your PostgreSQL server.
Fetch foreign data in Python in your PostgreSQL server.
examine and manage the os buffer cache
PG Failover Slots extension
PostgreSQL Extension Whitelisting
server-side support for profiling PL/pgSQL functions
server-side support for profiling PL/pgSQL functions
automated ddl deployment using pglogical
Generate BM25 sparse vector inside PostgreSQL
Extension to add Global Temporary Tables feature to PostgreSQL
Extension to add Global Temporary Tables feature to PostgreSQL
filter statements by their execution plans.
server-side support for debugging PL/pgSQL functions
Enables fine-grained write logging and time travel on subsets of the database.
Enables fine-grained write logging and time travel on subsets of the database.
Diagnosing system catalog corruption
Extension that secures a cluster on a cloud environment
Extension that secures a cluster on a cloud environment
An alternative to COUNT(DISTINCT …) aggregate, usable with HashAggregate
An alternative to COUNT(DISTINCT …) aggregate, usable with HashAggregate
Extension for specialized, per-table replication between PostgreSQL instances
Extension for specialized, per-table replication between PostgreSQL instances
foreign-data wrapper for remote servers available over JDBC
foreign-data wrapper for remote servers available over JDBC
similar to SET ROLE but with added logging
Foreign data wrapper for accessing remote databases using ODBC
Foreign data wrapper for accessing remote databases using ODBC
Run curl actions for data transfer in URL syntax
Czech Hunspell Dictionary
German Hunspell Dictionary
en_US Hunspell Dictionary
French Hunspell Dictionary
Nepali Hunspell Dictionary
Dutch Hunspell Dictionary
Norwegian (norsk) Hunspell Dictionary
Portuguese Hunspell Dictionary
Russian Hunspell Dictionary
Russian Hunspell Dictionary (from AOT.ru group)
Russian Hunspell Dictionary (from AOT.ru group)
track plan statistics of all SQL statements executed
track plan statistics of all SQL statements executed
PostgreSQL table versioning extension
execute any sql command at any specific time at background
execute any sql command at any specific time at background
Manage authentication sessions using JWTs
Stable hash functions for Postgres
Introspect pg data dictionary via standard SQL
Capture node OS metrics via SQL queries
Track settings changes
tiktoken tokenizer for use with OpenAI models in postgres
tiktoken tokenizer for use with OpenAI models in postgres
Various functions for computing statistics on arrays of numbers
Various functions for computing statistics on arrays of numbers
Postgres extension to save OOPS mistakes
Pre Prepare your Statement server side
Foreign data wrapper for Firebird
Tokenizers for full-text search
Zstandard compression algorithm implementation in PostgreSQL
Pseudo-randomly permute sequences with a format-preserving encryption on elements
Pseudo-randomly permute sequences with a format-preserving encryption on elements
Provides cheat (but useful) functions
Function for collecting statistics about messages in logfile
Function for collecting statistics about messages in logfile
Extension for querying PgBouncer stats from normal SQL views & running pgbouncer commands from normal SQL functions
Extension for querying PgBouncer stats from normal SQL views & running pgbouncer commands from normal SQL functions
Small PostgreSQL background worker to report whether a node is a replication master or standby
Small PostgreSQL background worker to report whether a node is a replication master or standby
discover hidden correlations in your data with MIC
first() and last() aggregate functions
login_hook - hook to execute login_hook.login() at login time
login_hook - hook to execute login_hook.login() at login time
Send random signals to random processes
Extra Window Functions for PostgreSQL
Visualise database pages in ascii code
Send redis pub/sub messages to Redis from PostgreSQL Directly
Send redis pub/sub messages to Redis from PostgreSQL Directly
Activate/deactivate/verify checksums in offline Postgres clusters
Activate/deactivate/verify checksums in offline Postgres clusters
Perl Compatible Regular Expression functions
Tools to migrate other databases to PostgreSQL
monitor connection attempts per user
foreign-data wrapper for remote PGSpider servers
foreign-data wrapper for remote PGSpider servers
Redis-like In-Memory DB Embedded in Postgres
foreign-data wrapper for Postgres log file access
The PostgreSQL Antivirus
Normalized, friendlier system catalog for PostgreSQL
spherical objects with useful functions, operators and index support
spherical objects with useful functions, operators and index support
pgAudit addon to redirect audit log to an independent file
pgAudit addon to redirect audit log to an independent file
Log all the queries that reference a particular column
Log all the queries that reference a particular column
get and set the priority of PostgreSQL backends
Memory optimized data type to be used inside of plpglsql func
Memory optimized data type to be used inside of plpglsql func
GSL statistical functions for postgresql
cluster database read only
PostgreSQL logical decoding output plugin for MongoDB
Array math and operators that work element by element on the contents of arrays
Array math and operators that work element by element on the contents of arrays
Handle geohash based functionality for spatial coordinates
show details on toasted datums
Extension to add Oracle DBMS_METADATA compatibility to PostgreSQL
Extension to add Oracle DBMS_METADATA compatibility to PostgreSQL
Generate a README.md document for a database extension or schema
Generate a README.md document for a database extension or schema
Registration and manipulation of session variables and constants
Registration and manipulation of session variables and constants
A Postgres extension for managing SSL certificates through SQL
A Postgres extension for managing SSL certificates through SQL
More than the bare necessities for PostgreSQL i18n and l10n.
More than the bare necessities for PostgreSQL i18n and l10n.
xxhash functions for PostgreSQL
PostgreSQL extension to send email using SMTP
Encryption functions for int and bigint values
type for storing 128-bit binary data inline
Audit data changes and provide flashback ability
Implements SHA256-CRYPT and SHA512-CRYPT password encryption schemes
Implements SHA256-CRYPT and SHA512-CRYPT password encryption schemes
Some date time functions and operators that,
sha1, md5 and other data types for PostgreSQL
logs transaction ids of drop table, drop column, drop materialized view statements
logs transaction ids of drop table, drop column, drop materialized view statements
Provide SQL interface to logs
Extension to add Oracle DBMS_LOCK full compatibility to PostgreSQL
Extension to add Oracle DBMS_LOCK full compatibility to PostgreSQL
PostgreSQL email validation that is consistent with the HTML5 spec
PostgreSQL email validation that is consistent with the HTML5 spec
Text Summarization using LLMs. Built using pgrx
easily jump into a visual plan UI for any SQL query
easily jump into a visual plan UI for any SQL query
Table partitioning by foreign key utility
XI Correlation Coefficient in Postgres
Historize the ddl changes inside PostgreSQL database
Strengthen PostgreSQL user password checks with cracklib
Strengthen PostgreSQL user password checks with cracklib
Fast Google Encoded Polyline encoding & decoding for postgres
conversion functions for spatial, routing and other specialized uses
Have an accurate view on pglogical replication delay
Have an accurate view on pglogical replication delay
Base58 Encoder/Decoder Extension for PostgreSQL
remove buffered pages for specific relations
Pre-warming shared buffers according to previous pg_buffercache snapshots for PostgreSQL.
Pre-warming shared buffers according to previous pg_buffercache snapshots for PostgreSQL.
record table modification logs and PITR for table/row
PLPGSQL Script to historize data in partitionned table
PLPGSQL Script to historize data in partitionned table
Wrapper for the Faker Python library
Lower quantile aggregate function
data structure for on-line agg of data into approximate sketch
Cross documentation between Django and DBT projects
PostgreSQL Anonymizer (anon) extension
pause briefly before reporting authentication failure
Provides a means for logging execution plans of slow statements automatically
Provides a means for logging execution plans of slow statements automatically
SQL Server Transact SQL Datatype Support
SQL Server Transact SQL compatibility
adds a custom basebackup target called shell
bloom access method - signature file based index
support for indexing common datatypes in GIN
support for indexing common datatypes in GiST
data type for case-insensitive character strings
credcheck - postgresql plain text credential checker
foreign data wrapper for DB2 access
connect to other PostgreSQL databases from within a database
connect to other PostgreSQL databases from within a database
text search dictionary template for integers
text search dictionary template for extended synonym processing
API surface for DocumentDB for PostgreSQL
calculate great-circle distances on the surface of the Earth
foreign-data wrapper for flat file access
determine similarities and distance between strings
data type for storing sets of (key, value) pairs
functions for tracking who changed a table
functions, operators, and index support for 1-D arrays of integers
data types for international product numbering standards
data type for hierarchical tree-like structures
functions for tracking last modification time
Module for blocking SET variables for non-super users.
inspect the contents of database pages at a low level
Extension to add Oracle DBMS_JOB full compatibility to PostgreSQL
Extension to add Oracle DBMS_JOB full compatibility to PostgreSQL
examine the free space map (FSM)
track planning and execution statistics of all SQL statements executed
track planning and execution statistics of all SQL statements executed
Server side rollback at statement level for PostgreSQL like Oracle or DB2
Server side rollback at statement level for PostgreSQL like Oracle or DB2
extension to perform surgery on a damaged relation
text similarity measurement and index searching based on trigrams
text similarity measurement and index searching based on trigrams
examine the visibility map (VM) and page-level visibility info
examine the visibility map (VM) and page-level visibility info
functions to inspect contents of PostgreSQL Write-Ahead Log
functions to inspect contents of PostgreSQL Write-Ahead Log
Some functions and views for daily usage
PL/PerlU untrusted procedural language
PL/Python3U untrusted procedural language
PostGIS geometry and geography spatial types and functions
foreign-data wrapper for remote PostgreSQL servers
functions for implementing referential integrity (obsolete)
data type for representing line segments or floating-point intervals
label-based mandatory access control (MAC) based on SELinux security policy.
label-based mandatory access control (MAC) based on SELinux security policy.
functions that manipulate whole tables, including crosstab
functions that manipulate whole tables, including crosstab
SQL-based test/example module for WAL logical decoding
TABLESAMPLE method which accepts number of rows as a limit
TABLESAMPLE method which accepts time in milliseconds as a limit
TABLESAMPLE method which accepts time in milliseconds as a limit
text search dictionary that removes accents
generate universally unique identifiers (UUIDs)
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.
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).
1bench is a modern GUI client for PostgreSQL — install extensions, write queries, and inspect schemas without leaving the IDE.
Try 1bench for PostgreSQL