By Language
By Language
Summary
| Language | Count | Description |
|---|---|---|
C | 339 | The traditional PostgreSQL extension language |
SQL | 37 | Pure SQL extensions and functions |
Rust | 34 | Extensions written in Rust with the pgrx framework |
Data | 10 | Data-only extensions |
C++ | 5 | Extensions leveraging C++ features and libraries |
Python | 2 | Extensions written in Python |
Java | 1 | Extensions running on JVM |
C
339 Extensions
The traditional PostgreSQL extension language
| ID | Extension | Description |
|---|---|---|
| 1000 | timescaledb | Enables scalable inserts and complex queries for time-series data |
| 1030 | periods | Provide Standard SQL functionality for PERIODs and SYSTEM VERSIONING |
| 1040 | temporal_tables | temporal tables |
| 1070 | pg_cron | Job scheduler for PostgreSQL |
| 1080 | pg_task | execute any sql command at any specific time at background |
| 1100 | pg_background | Run SQL queries in the background |
| 1500 | postgis | PostGIS geometry and geography spatial types and functions |
| 1501 | postgis_topology / postgis | PostGIS topology spatial types and functions |
| 1502 | postgis_raster / postgis | PostGIS raster types and functions |
| 1503 | postgis_sfcgal / postgis | PostGIS SFCGAL functions |
| 1504 | postgis_tiger_geocoder / postgis | PostGIS tiger geocoder and reverse geocoder |
| 1505 | address_standardizer / postgis | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. |
| 1506 | address_standardizer_data_us / postgis | Address Standardizer US dataset example |
| 1520 | pointcloud | data type for lidar point clouds |
| 1521 | pointcloud_postgis / pointcloud | integration for pointcloud LIDAR data and PostGIS geometry data |
| 1530 | h3 / pg_h3 | H3 bindings for PostgreSQL |
| 1531 | h3_postgis / pg_h3 | H3 PostGIS integration |
| 1540 | q3c | q3c sky indexing plugin |
| 1550 | ogr_fdw | foreign-data wrapper for GIS data access |
| 1590 | pg_geohash | Handle geohash based functionality for spatial coordinates |
| 1650 | mobilitydb | MobilityDB geospatial trajectory data management & analysis platform |
| 1690 | earthdistance | calculate great-circle distances on the surface of the Earth |
| 1800 | vector / pgvector | vector data type and ivfflat and hnsw access methods |
| 1840 | pg_similarity | support similarity queries |
| 1850 | smlar | Effective similarity search |
| 1880 | pg4ml | Machine learning framework for PostgreSQL |
| 2110 | pgroonga | Use Groonga as index, fast full text search platform for all languages! |
| 2111 | pgroonga_database / pgroonga | PGroonga database management module |
| 2120 | pg_bigm | create 2-gram (bigram) index for faster full text search. |
| 2130 | zhparser | a parser for full-text search of Chinese |
| 2180 | fuzzystrmatch | determine similarities and distance between strings |
| 2190 | pg_trgm | text similarity measurement and index searching based on trigrams |
| 2400 | citus | Distributed PostgreSQL as an extension |
| 2401 | citus_columnar / citus | Citus columnar storage engine |
| 2410 | columnar / hydra | Hydra Columnar extension |
| 2450 | duckdb_fdw | DuckDB Foreign Data Wrapper |
| 2510 | pg_partman | Extension to manage partitioned tables by time or ID |
| 2520 | plproxy | Database partitioning implemented as procedural language |
| 2530 | pg_strom | PG-Strom - big-data processing acceleration using GPU and NVME |
| 2590 | tablefunc | functions that manipulate whole tables, including crosstab |
| 2760 | age | AGE graph database extension |
| 2780 | rum | RUM index access method |
| 2810 | jsquery | data type for jsonb inspection |
| 2820 | pg_hint_plan | Give PostgreSQL ability to manually force some decisions in execution plans. |
| 2830 | hypopg | Hypothetical indexes for PostgreSQL |
| 2850 | plan_filter / pg_plan_filter | filter statements by their execution plans. |
| 2860 | imgsmlr | Image similarity with haar |
| 2870 | pg_ivm | incremental view maintenance on PostgreSQL |
| 2880 | pg_incremental | Incremental Processing by Crunchy Data |
| 2910 | pgq | Generic queue for PostgreSQL |
| 2920 | orioledb | OrioleDB, the next generation transactional engine |
| 2951 | omni / omnigres | Advanced adapter for Postgres extensions |
| 2952 | omni_auth / omnigres | Basic session management |
| 2953 | omni_aws / omnigres | Amazon Web Services APIs (S3) |
| 2954 | omni_cloudevents / omnigres | CloudEvents support |
| 2955 | omni_containers / omnigres | Docker container management |
| 2956 | omni_credentials / omnigres | Application credential management |
| 2958 | omni_email / omnigres | E-mail framework |
| 2959 | omni_http / omnigres | Basic HTTP types |
| 2960 | omni_httpc / omnigres | HTTP client |
| 2961 | omni_httpd / omnigres | HTTP server |
| 2962 | omni_id / omnigres | Identity types |
| 2963 | omni_json / omnigres | JSON toolkit |
| 2964 | omni_kube / omnigres | Kubernetes (k8s) integration |
| 2965 | omni_ledger / omnigres | Financial ledger |
| 2966 | omni_manifest / omnigres | Package installation manifests |
| 2967 | omni_mimetypes / omnigres | MIME types |
| 2968 | omni_os / omnigres | Operating system integration |
| 2969 | omni_polyfill / omnigres | Postgres API polyfills |
| 2970 | omni_python / omnigres | First-class Python support |
| 2971 | omni_regex / omnigres | PCRE-compatible regular expressions |
| 2972 | omni_rest / omnigres | REST API toolkit (with PostgREST support) |
| 2973 | omni_schema / omnigres | Advanced schema management tooling |
| 2974 | omni_seq / omnigres | Distributed integer sequences |
| 2975 | omni_service / omnigres | Service management |
| 2976 | omni_session / omnigres | Session management |
| 2977 | omni_sql / omnigres | Programmatic SQL manipulation |
| 2979 | omni_sqlite / omnigres | Embedded SQLite |
| 2980 | omni_test / omnigres | Testing framework |
| 2981 | omni_txn / omnigres | Transaction management |
| 2982 | omni_types / omnigres | Advanced types |
| 2983 | omni_var / omnigres | Scoped variables |
| 2984 | omni_vfs / omnigres | Virtual File System |
| 2985 | omni_vfs_types_v1 / omnigres | Virtual File System types (v1) |
| 2986 | omni_web / omnigres | Common web stack primitives |
| 2987 | omni_worker / omnigres | Generalized worker pool |
| 2988 | omni_xml / omnigres | XML toolkit |
| 2989 | omni_yaml / omnigres | YAML toolkit |
| 2990 | bloom | bloom access method - signature file based index |
| 3000 | pg_tle | Trusted Language Extensions for PostgreSQL |
| 3011 | pljs | PL/JS trusted procedural language |
| 3020 | pllua | Lua as a procedural language |
| 3021 | hstore_pllua / pllua | Hstore transform for Lua |
| 3030 | plluau / pllua | Lua as an untrusted procedural language |
| 3031 | hstore_plluau / pllua | Hstore transform for untrusted Lua |
| 3050 | pldbgapi / pldebugger | server-side support for debugging PL/pgSQL functions |
| 3060 | plpgsql_check | extended check for plpgsql functions |
| 3070 | plprofiler | server-side support for profiling PL/pgSQL functions |
| 3080 | plsh | PL/sh procedural language |
| 3100 | plr | load R interpreter and execute R script from within a database |
| 3110 | plxslt | XSLT procedural language for PostgreSQL |
| 3200 | pgtap | Unit testing for PostgreSQL |
| 3220 | dbt2 | OSDL-DBT-2 test kit |
| 3240 | pltcl | PL/Tcl procedural language |
| 3250 | pltclu / pltcl | PL/TclU untrusted procedural language |
| 3260 | plperl | PL/Perl procedural language |
| 3261 | bool_plperl / plperl | transform between bool and plperl |
| 3262 | hstore_plperl / plperl | transform between hstore and plperl |
| 3263 | jsonb_plperl / plperl | transform between jsonb and plperl |
| 3270 | plperlu | PL/PerlU untrusted procedural language |
| 3271 | bool_plperlu / plperlu | transform between bool and plperlu |
| 3272 | jsonb_plperlu / plperlu | transform between jsonb and plperlu |
| 3273 | hstore_plperlu / plperlu | transform between hstore and plperlu |
| 3280 | plpgsql | PL/pgSQL procedural language |
| 3290 | plpython3u | PL/Python3U untrusted procedural language |
| 3291 | jsonb_plpython3u / plpython3u | transform between jsonb and plpython3u |
| 3292 | ltree_plpython3u / plpython3u | transform between ltree and plpython3u |
| 3293 | hstore_plpython3u / plpython3u | transform between hstore and plpython3u |
| 3500 | prefix / pg_prefix | Prefix Range module for PostgreSQL |
| 3510 | semver / pg_semver | Semantic version data type |
| 3520 | unit / pgunit | SI units extension |
| 3530 | pgpdf | PDF type with meta admin & Full-Text Search |
| 3550 | md5hash | type for storing 128-bit binary data inline |
| 3560 | asn1oid | asn1oid extension |
| 3570 | roaringbitmap / pg_roaringbitmap | support for Roaring Bitmaps |
| 3590 | pg_sphere / pgsphere | spherical objects with useful functions, operators and index support |
| 3600 | country / pg_country | Country data type, ISO 3166-1 |
| 3620 | currency / pg_currency | Custom PostgreSQL currency type in 1Byte |
| 3630 | collection / pgcollection | Memory optimized data type to be used inside of plpglsql func |
| 3700 | pgmp | Multiple Precision Arithmetic extension |
| 3710 | numeral | numeral datatypes extension |
| 3720 | pg_rational | bigint fractions |
| 3730 | uint / pguint | unsigned integer types |
| 3740 | uint128 / pg_uint128 | Native uint128 type |
| 3750 | hashtypes | sha1, md5 and other data types for PostgreSQL |
| 3820 | ip4r | IPv4/v6 and IPv4/v6 range index type for PostgreSQL |
| 3830 | pg_duration | data type for representing durations |
| 3840 | uri / pg_uri | URI Data type for PostgreSQL |
| 3850 | emailaddr / pg_emailaddr | Email address type for PostgreSQL |
| 3860 | acl / pg_acl | ACL Data type |
| 3880 | pg_rrule | RRULE field type for PostgreSQL |
| 3890 | timestamp9 | timestamp nanosecond resolution |
| 3920 | chkpass | data type for auto-encrypted passwords |
| 3930 | isn | data types for international product numbering standards |
| 3940 | seg | data type for representing line segments or floating-point intervals |
| 3950 | cube | data type for multidimensional cubes |
| 3960 | ltree | data type for hierarchical tree-like structures |
| 3970 | hstore | data type for storing sets of (key, value) pairs |
| 3980 | citext | data type for case-insensitive character strings |
| 3990 | xml2 | XPath querying and XSLT |
| 4010 | gzip / pg_gzip | gzip and gunzip functions. |
| 4020 | bzip / pg_bzip | Bzip compression and decompression |
| 4030 | zstd / pg_zstd | Zstandard compression algorithm implementation in PostgreSQL |
| 4070 | http / pg_http | HTTP client for PostgreSQL, allows web page retrieval inside the database. |
| 4080 | pg_net | Async HTTP Requests |
| 4090 | pg_curl | Run curl actions for data transfer in URL syntax |
| 4150 | pgjq | Use jq in Postgres |
| 4190 | url_encode | url_encode, url_decode functions |
| 4230 | pgpcre | Perl Compatible Regular Expression functions |
| 4240 | icu_ext | Access ICU functions |
| 4250 | pgqr | QR Code generator from PostgreSQL |
| 4260 | pg_protobuf | Protobuf support for PostgreSQL |
| 4270 | envvar / pg_envvar | Fetch the value of an environment variable |
| 4280 | floatfile | Simple file storage for arrays of floats |
| 4300 | pg_readme | Generate a README.md document for a database extension or schema |
| 4301 | pg_readme_test_extension / pg_readme | Test generating a README.md document for extension or schema |
| 4400 | hashlib / pg_hashlib | Stable hash functions for Postgres |
| 4430 | xxhash / pg_xxhash | xxhash functions for PostgreSQL |
| 4440 | shacrypt | Implements SHA256-CRYPT and SHA512-CRYPT password encryption schemes |
| 4450 | cryptint | Encryption functions for int and bigint values |
| 4460 | pguecc / pg_ecdsa | uECC bindings for Postgres |
| 4540 | pg_uuidv7 | Create UUIDv7 values in postgres |
| 4550 | permuteseq | Pseudo-randomly permute sequences with a format-preserving encryption on elements |
| 4560 | pg_hashids | Short unique id generator for PostgreSQL, using hashids |
| 4570 | sequential_uuids | generator of sequential UUIDs |
| 4600 | topn | type for top-n JSONB |
| 4610 | quantile | Quantile aggregation function |
| 4620 | lower_quantile | Lower quantile aggregate function |
| 4630 | count_distinct | An alternative to COUNT(DISTINCT …) aggregate, usable with HashAggregate |
| 4640 | omnisketch | data structure for on-line agg of data into approximate sketch |
| 4650 | ddsketch | Provides ddsketch aggregate function |
| 4660 | vasco | discover hidden correlations in your data with MIC |
| 4670 | xicor / pgxicor | XI Correlation Coefficient in Postgres |
| 4700 | tdigest | Provides tdigest aggregate function. |
| 4710 | first_last_agg | first() and last() aggregate functions |
| 4720 | extra_window_functions | Extra Window Functions for PostgreSQL |
| 4730 | floatvec | Math for vectors (arrays) of numbers |
| 4740 | aggs_for_vecs | Aggregate functions for array inputs |
| 4750 | aggs_for_arrays | Various functions for computing statistics on arrays of numbers |
| 4760 | pg_csv | Flexible CSV processing for Postgres |
| 4770 | arraymath / pg_arraymath | Array math and operators that work element by element on the contents of arrays |
| 4780 | pg_math | GSL statistical functions for postgresql |
| 4790 | random / pg_random | random data generator |
| 4800 | base36 / pg_base36 | Integer Base36 types |
| 4810 | base62 / pg_base62 | Base62 extension for PostgreSQL |
| 4840 | financial / pg_financial | Financial aggregate functions |
| 4880 | refint | functions for implementing referential integrity (obsolete) |
| 4881 | autoinc | functions for autoincrementing fields |
| 4882 | insert_username | functions for tracking who changed a table |
| 4883 | moddatetime | functions for tracking last modification time |
| 4890 | tsm_system_time | TABLESAMPLE method which accepts time in milliseconds as a limit |
| 4900 | dict_xsyn | text search dictionary template for extended synonym processing |
| 4910 | tsm_system_rows | TABLESAMPLE method which accepts number of rows as a limit |
| 4920 | tcn | Triggered change notifications |
| 4930 | uuid-ossp | generate universally unique identifiers (UUIDs) |
| 4940 | btree_gist | support for indexing common datatypes in GiST |
| 4950 | btree_gin | support for indexing common datatypes in GIN |
| 4960 | intarray | functions, operators, and index support for 1-D arrays of integers |
| 4970 | intagg | integer aggregator and enumerator (obsolete) |
| 4980 | dict_int | text search dictionary template for integers |
| 4990 | unaccent | text search dictionary that removes accents |
| 5010 | pg_repack | Reorganize tables in PostgreSQL databases with minimal locks |
| 5020 | pg_rewrite | Tool allows read write to the table during the rewriting |
| 5040 | pg_squeeze | A tool to remove unused space from a relation. |
| 5050 | pg_dirtyread | Read dead but unvacuumed rows from table |
| 5060 | pgfincore | examine and manage the os buffer cache |
| 5070 | pg_cooldown | remove buffered pages for specific relations |
| 5090 | prioritize / pg_prioritize | get and set the priority of PostgreSQL backends |
| 5110 | pg_checksums | Activate/deactivate/verify checksums in offline Postgres clusters |
| 5120 | pg_readonly | cluster database read only |
| 5150 | pgautofailover | pg_auto_failover |
| 5160 | pg_catcheck | Diagnosing system catalog corruption |
| 5170 | pre_prepare / preprepare | Pre Prepare your Statement server side |
| 5200 | pg_orphaned | Deal with orphaned files |
| 5210 | pg_crash | Send random signals to random processes |
| 5220 | pg_cheat_funcs | Provides cheat (but useful) functions |
| 5230 | fio / pg_fio | PostgreSQL File I/O Functions |
| 5810 | pg_savior | Postgres extension to save OOPS mistakes |
| 5820 | safeupdate | Require criteria for UPDATE and DELETE |
| 5840 | table_log | record table modification logs and PITR for table/row |
| 5880 | pgagent | A PostgreSQL job scheduler |
| 5890 | pg_prewarm | prewarm relation data |
| 5900 | pgpool_adm / pgpool | Administrative functions for pgPool |
| 5910 | pgpool_recovery / pgpool | recovery functions for pgpool-II for V4.3 |
| 5920 | pgpool_regclass / pgpool | replacement for regclass |
| 5930 | lo | Large Object maintenance |
| 5940 | basic_archive | an example of an archive module |
| 5950 | basebackup_to_shell | adds a custom basebackup target called shell |
| 5960 | old_snapshot | utilities in support of old_snapshot_threshold |
| 5970 | adminpack | administrative functions for PostgreSQL |
| 5980 | amcheck | functions for verifying relation integrity |
| 5990 | pg_surgery | extension to perform surgery on a damaged relation |
| 6000 | pg_profile | PostgreSQL load profile repository and report builder |
| 6010 | pg_tracing | Distributed Tracing for PostgreSQL |
| 6210 | pg_show_plans | show query plans of all currently running SQL statements |
| 6220 | pg_stat_kcache | Kernel statistics gathering |
| 6230 | pg_stat_monitor | 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. |
| 6240 | pg_qualstats | An extension collecting statistics about quals |
| 6250 | pg_store_plans | track plan statistics of all SQL statements executed |
| 6270 | pg_wait_sampling | sampling based statistics of wait events |
| 6280 | pgsentinel | active session history |
| 6290 | system_stats | EnterpriseDB system statistics for PostgreSQL |
| 6310 | pgnodemx | Capture node OS metrics via SQL queries |
| 6320 | pg_proctab / pgnodemx | PostgreSQL extension to access the OS process table |
| 6340 | bgw_replstatus | Small PostgreSQL background worker to report whether a node is a replication master or standby |
| 6350 | pgmeminfo | show memory usage |
| 6360 | toastinfo | show details on toasted datums |
| 6380 | pg_relusage | Log all the queries that reference a particular column |
| 6880 | pg_overexplain | Allow EXPLAIN to dump even more details |
| 6890 | pg_logicalinspect | Logical decoding components inspection |
| 6900 | pageinspect | inspect the contents of database pages at a low level |
| 6910 | pgrowlocks | show row-level locking information |
| 6920 | sslinfo | information about SSL certificates |
| 6930 | pg_buffercache | examine the shared buffer cache |
| 6940 | pg_walinspect | functions to inspect contents of PostgreSQL Write-Ahead Log |
| 6950 | pg_freespacemap | examine the free space map (FSM) |
| 6960 | pg_visibility | examine the visibility map (VM) and page-level visibility info |
| 6970 | pgstattuple | show tuple-level statistics |
| 6980 | auto_explain | Provides a means for logging execution plans of slow statements automatically |
| 6990 | pg_stat_statements | track planning and execution statistics of all SQL statements executed |
| 7000 | passwordcheck_cracklib | Strengthen PostgreSQL user password checks with cracklib |
| 7010 | supautils | Extension that secures a cluster on a cloud environment |
| 7020 | pgsodium | Postgres extension for libsodium functions |
| 7030 | supabase_vault / pg_vault | Supabase Vault Extension |
| 7060 | pg_tde | Percona pg_tde access method |
| 7080 | pgaudit | provides auditing functionality |
| 7090 | pgauditlogtofile | pgAudit addon to redirect audit log to an independent file |
| 7100 | pg_auth_mon | monitor connection attempts per user |
| 7110 | credcheck | credcheck - postgresql plain text credential checker |
| 7120 | pgcryptokey | cryptographic key management |
| 7140 | logerrors | Function for collecting statistics about messages in logfile |
| 7150 | login_hook | login_hook - hook to execute login_hook.login() at login time |
| 7160 | set_user | similar to SET ROLE but with added logging |
| 7170 | pg_snakeoil | The PostgreSQL Antivirus |
| 7180 | pgextwlist | PostgreSQL Extension Whitelisting |
| 7200 | sslutils | A Postgres extension for managing SSL certificates through SQL |
| 7210 | noset / pg_noset | Module for blocking SET variables for non-super users. |
| 7960 | sepgsql | label-based mandatory access control (MAC) based on SELinux security policy. |
| 7970 | auth_delay | pause briefly before reporting authentication failure |
| 7980 | pgcrypto | cryptographic functions |
| 7990 | passwordcheck | checks user passwords and reject weak password |
| 8510 | multicorn | Fetch foreign data in Python in your PostgreSQL server. |
| 8520 | odbc_fdw | Foreign data wrapper for accessing remote databases using ODBC |
| 8530 | jdbc_fdw | foreign-data wrapper for remote servers available over JDBC |
| 8540 | pgspider_ext | foreign-data wrapper for remote PGSpider servers |
| 8600 | mysql_fdw | Foreign data wrapper for querying a MySQL server |
| 8610 | oracle_fdw | foreign data wrapper for Oracle access |
| 8620 | tds_fdw | Foreign data wrapper for querying a TDS database (Sybase or Microsoft SQL Server) |
| 8630 | db2_fdw | foreign data wrapper for DB2 access |
| 8640 | sqlite_fdw | SQLite Foreign Data Wrapper |
| 8700 | mongo_fdw | foreign data wrapper for MongoDB access |
| 8710 | redis_fdw | Foreign data wrapper for querying a Redis server |
| 8720 | redis / pg_redis_pubsub | Send redis pub/sub messages to Redis from PostgreSQL Directly |
| 8730 | kafka_fdw | kafka Foreign Data Wrapper for CSV formatted messages |
| 8740 | hdfs_fdw | foreign-data wrapper for remote hdfs servers |
| 8750 | firebird_fdw | Foreign data wrapper for Firebird |
| 8810 | log_fdw | foreign-data wrapper for Postgres log file access |
| 8970 | dblink | connect to other PostgreSQL databases from within a database |
| 8980 | file_fdw | foreign-data wrapper for flat file access |
| 8990 | postgres_fdw | foreign-data wrapper for remote PostgreSQL servers |
| 9000 | documentdb | API surface for DocumentDB for PostgreSQL |
| 9010 | documentdb_core / documentdb | Core API surface for DocumentDB for PostgreSQL |
| 9020 | documentdb_distributed / documentdb | Multi-Node API surface for DocumentDB |
| 9100 | orafce | Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS |
| 9110 | pgtt | Extension to add Global Temporary Tables feature to PostgreSQL |
| 9120 | session_variable | Registration and manipulation of session variables and constants |
| 9130 | pg_statement_rollback | Server side rollback at statement level for PostgreSQL like Oracle or DB2 |
| 9270 | pg_dbms_errlog | Emulate DBMS_ERRLOG Oracle module to log DML errors in a dedicated table. |
| 9300 | babelfishpg_common | SQL Server Transact SQL Datatype Support |
| 9310 | babelfishpg_tsql | SQL Server Transact SQL compatibility |
| 9320 | babelfishpg_tds | SQL Server TDS protocol extension |
| 9330 | babelfishpg_money | SQL Server Money Data Type |
| 9400 | spat | Redis-like In-Memory DB Embedded in Postgres |
| 9410 | pgmemcache | memcached interface |
| 9500 | pglogical | PostgreSQL Logical Replication |
| 9501 | pglogical_origin / pglogical | Dummy extension for compatibility when upgrading from Postgres 9.4 |
| 9510 | pglogical_ticker | Have an accurate view on pglogical replication delay |
| 9520 | pgl_ddl_deploy | automated ddl deployment using pglogical |
| 9530 | pg_failover_slots | PG Failover Slots extension |
| 9550 | pgactive | Active-Active Replication Extension for PostgreSQL |
| 9630 | wal2json | Changing data capture in JSON format |
| 9640 | wal2mongo | PostgreSQL logical decoding output plugin for MongoDB |
| 9650 | decoderbufs | Logical decoding plugin that delivers WAL stream changes using a Protocol Buffer format |
| 9660 | decoder_raw | Output plugin for logical replication in Raw SQL format |
| 9710 | repmgr | Replication manager for PostgreSQL |
| 9820 | pg_fact_loader | build fact tables with Postgres |
| 9830 | pg_bulkload | pg_bulkload is a high speed data loading utility for PostgreSQL |
| 9970 | test_decoding | SQL-based test/example module for WAL logical decoding |
| 9980 | pgoutput | Logical Replication output plugin |
SQL
37 Extensions
Pure SQL extensions and functions
| ID | Extension | Description |
|---|---|---|
| 1020 | timeseries / pg_timeseries | Convenience API for time series stack |
| 1050 | emaj | Enables fine-grained write logging and time travel on subsets of the database. |
| 1060 | table_version | PostgreSQL table versioning extension |
| 1560 | geoip | IP-based geolocation query |
| 2500 | pg_fkpart | Table partitioning by foreign key utility |
| 2840 | index_advisor | Query index advisor |
| 2900 | pgmq | A lightweight message queue. Like AWS SQS and RSMQ but on Postgres. |
| 3580 | pgfaceting | fast faceting queries using an inverted index |
| 3610 | pg_xenophile | More than the bare necessities for PostgreSQL i18n and l10n. |
| 3611 | l10n_table_dependent_extension / pg_xenophile | PostgreSQL l10n toolbox |
| 3870 | debversion | Debian version number data type |
| 4160 | pgjwt | JSON Web Token API for Postgresql |
| 4180 | pg_html5_email_address | PostgreSQL email validation that is consistent with the HTML5 spec |
| 4200 | pgsql_tweaks | Some functions and views for daily usage |
| 4220 | pg_extra_time | Some date time functions and operators that, |
| 4310 | ddl_historization | Historize the ddl changes inside PostgreSQL database |
| 4320 | data_historization | PLPGSQL Script to historize data in partitionned table |
| 4330 | schedoc / pg_schedoc | Cross documentation between Django and DBT projects |
| 4470 | sparql / pgsparql | Query SPARQL datasource with SQL |
| 5080 | ddlx / pg_ddlx | DDL eXtractor functions |
| 5140 | pg_permissions | view object permissions and compare them with the desired state |
| 5180 | pg_upless | Detect Useless UPDATE |
| 5190 | pgcozy | Pre-warming shared buffers according to previous pg_buffercache snapshots for PostgreSQL. |
| 5830 | pg_drop_events | logs transaction ids of drop table, drop column, drop materialized view statements |
| 6260 | pg_track_settings | Track settings changes |
| 6300 | meta / pg_meta | Normalized, friendlier system catalog for PostgreSQL |
| 6330 | pg_sqlog | Provide SQL interface to logs |
| 6800 | pagevis | Visualise database pages in ascii code |
| 7130 | pg_jobmon | Extension for logging and monitoring functions in PostgreSQL |
| 7190 | pg_auditor | Audit data changes and provide flashback ability |
| 8650 | pgbouncer_fdw | Extension for querying PgBouncer stats from normal SQL views & running pgbouncer commands from normal SQL functions |
| 8800 | aws_s3 | aws_s3 postgres extension to import/export data from/to s3 |
| 9240 | pg_dbms_metadata | Extension to add Oracle DBMS_METADATA compatibility to PostgreSQL |
| 9250 | pg_dbms_lock | Extension to add Oracle DBMS_LOCK full compatibility to PostgreSQL |
| 9260 | pg_dbms_job | Extension to add Oracle DBMS_JOB full compatibility to PostgreSQL |
| 9540 | db_migrator | Tools to migrate other databases to PostgreSQL |
| 9700 | mimeo | Extension for specialized, per-table replication between PostgreSQL instances |
Rust
34 Extensions
Extensions written in Rust with the pgrx framework
| ID | Extension | Description |
|---|---|---|
| 1010 | timescaledb_toolkit | Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities |
| 1090 | pg_later | Run queries now and get results later |
| 1570 | pg_polyline | Fast Google Encoded Polyline encoding & decoding for postgres |
| 1680 | tzf / pg_tzf | Fast lookup timezone name by GPS coordinates |
| 1810 | vchord | Vector database plugin for Postgres, written in Rust |
| 1820 | vectorscale / pgvectorscale | Advanced indexing for vector data with DiskANN |
| 1830 | vectorize / pg_vectorize | The simplest way to do vector search on Postgres |
| 1860 | pg_summarize | Text Summarization using LLMs. Built using pgrx |
| 1870 | pg_tiktoken | tiktoken tokenizer for use with OpenAI models in postgres |
| 1890 | pgml | Run AL/ML workloads with SQL interface |
| 2100 | pg_search | Full text search for PostgreSQL using BM25 |
| 2140 | pg_bestmatch | Generate BM25 sparse vector inside PostgreSQL |
| 2150 | vchord_bm25 | A postgresql extension for bm25 ranking algorithm |
| 2160 | pg_tokenizer | Tokenizers for full-text search |
| 2420 | pg_analytics | Postgres for analytics, powered by DuckDB |
| 2440 | pg_mooncake | Columnstore Table in Postgres |
| 2460 | pg_parquet | copy data between Postgres and Parquet |
| 2790 | pg_graphql | Add in-database GraphQL support |
| 2800 | pg_jsonschema | PostgreSQL extension providing JSON Schema validation |
| 2930 | pg_cardano | A suite of Cardano-related tools |
| 3040 | plprql | Use PRQL in PostgreSQL - Pipelined Relational Query Language |
| 3540 | pglite_fusion | Embed an SQLite database in your PostgreSQL table |
| 4170 | pg_smtp_client | PostgreSQL extension to send email using SMTP |
| 4290 | pg_render | Render HTML in SQL |
| 4500 | pg_idkit | multi-tool for generating new/niche universally unique identifiers (ex. UUIDv6, ULID, KSUID) |
| 4510 | pgx_ulid | ulid type and methods |
| 4830 | pg_base58 | Base58 Encoder/Decoder Extension for PostgreSQL |
| 4850 | convert / pg_convert | conversion functions for spatial, routing and other specialized uses |
| 5130 | pgdd | Introspect pg data dictionary via standard SQL |
| 6370 | explain_ui / pg_explain_ui | easily jump into a visual plan UI for any SQL query |
| 7040 | pg_session_jwt | Manage authentication sessions using JWTs |
| 7050 | anon / pg_anon | PostgreSQL Anonymizer (anon) extension |
| 7070 | pgsmcrypto | PostgreSQL SM Algorithm Extension |
| 8500 | wrappers | Foreign data wrappers developed by Supabase |
Data
10 Extensions
Data-only extensions
| ID | Extension | Description |
|---|---|---|
| 2170 | hunspell_cs_cz | Czech Hunspell Dictionary |
| 2171 | hunspell_de_de | German Hunspell Dictionary |
| 2172 | hunspell_en_us | en_US Hunspell Dictionary |
| 2173 | hunspell_fr | French Hunspell Dictionary |
| 2174 | hunspell_ne_np | Nepali Hunspell Dictionary |
| 2175 | hunspell_nl_nl | Dutch Hunspell Dictionary |
| 2176 | hunspell_nn_no | Norwegian (norsk) Hunspell Dictionary |
| 2177 | hunspell_pt_pt | Portuguese Hunspell Dictionary |
| 2178 | hunspell_ru_ru | Russian Hunspell Dictionary |
| 2179 | hunspell_ru_ru_aot | Russian Hunspell Dictionary (from AOT.ru group) |
C++
5 Extensions
Extensions leveraging C++ features and libraries
| ID | Extension | Description |
|---|---|---|
| 1510 | pgrouting | pgRouting Extension |
| 2430 | pg_duckdb | DuckDB Embedded in Postgres |
| 2770 | hll | type for storing hyperloglog data |
| 2940 | rdkit | Cheminformatics functionality for PostgreSQL. |
| 3010 | plv8 | PL/JavaScript (v8) trusted procedural language |
Python
2 Extensions
Extensions written in Python
| ID | Extension | Description |
|---|---|---|
| 3210 | faker | Wrapper for the Faker Python library |
| 6810 | powa | PostgreSQL Workload Analyser-core |
Java
1 Extensions
Extensions running on JVM
| ID | Extension | Description |
|---|---|---|
| 3090 | pljava | PL/Java procedural language |
Last updated on