Supported extensions
This page lists the extensions currently provided by CloudBase PostgreSQL. Support scope, versions, and permission requirements may vary by instance version. Use the actual database query result and console information as the source of truth.
Extension overview
| Extension | Version | Capability |
|---|---|---|
address_standardizer | 3.5.0 | Parse and normalize postal addresses before geocoding. |
address_standardizer_data_us | 3.5.0 | Example US dataset for the address standardizer. |
age | 1.5.0 | Apache AGE graph database extension for PostgreSQL. |
amcheck | 1.4 | Verify relation and index integrity. |
autoinc | 1.0 | Trigger-based helpers for auto-incrementing fields. |
bloom | 1.0 | Bloom index access method for multi-column equality filters. |
bool_plperl | 1.0 | Transform boolean values between PostgreSQL and PL/Perl. |
btree_gin | 1.3 | GIN operator classes for common B-tree data types. |
btree_gist | 1.7 | GiST operator classes for common B-tree data types. |
chkpass | 1.0 | Password type with automatic encryption. |
citext | 1.6 | Case-insensitive text type. |
cos_fdw | 1.0 | Foreign data wrapper for Tencent Cloud COS flat files. |
count_distinct | 3.0.2 | Alternative COUNT(DISTINCT ...) aggregate implementation. |
cube | 1.5 | Multidimensional cube data type. |
dblink | 1.2 | Connect to other PostgreSQL databases from SQL. |
decoderbufs | 0.1.0 | Logical decoding plugin that outputs WAL changes in Protocol Buffer format. |
dict_int | 1.0 | Full text search dictionary template for integers. |
dict_xsyn | 1.0 | Extended synonym dictionary template for full text search. |
earthdistance | 1.2 | Great-circle distance calculations. |
fuzzystrmatch | 1.2 | String similarity and distance functions. |
hll | 2.18 | HyperLogLog type for approximate distinct counting. |
hstore | 1.8 | Key-value data type. |
hstore_plperl | 1.0 | Transform hstore values between PostgreSQL and PL/Perl. |
hypopg | 1.4.1 | Hypothetical indexes for PostgreSQL. |
imgsmlr | 1.0 | Image similarity module. |
insert_username | 1.0 | Functions for tracking who changed a table. |
intagg | 1.1 | Obsolete integer aggregator and enumerator. |
intarray | 1.5 | Functions, operators, and indexes for one-dimensional integer arrays. |
isn | 1.2 | Data types for international product numbering standards. |
jsonb_plperl | 1.0 | Transform JSONB values between PostgreSQL and PL/Perl. |
lo | 1.1 | Large Object maintenance. |
ltree | 1.3 | Hierarchical tree path data type. |
moddatetime | 1.0 | Functions for tracking last modification time. |
mysql_fdw | 1.2 | Foreign data wrapper for querying MySQL. |
pageinspect | 1.12 | Inspect database pages at a low level. |
pg_bigm | 1.2 | Bigram-based text similarity and index search. |
pg_buffercache | 1.5 | Inspect shared buffer cache contents. |
pg_cron | 1.6 | Job scheduler for PostgreSQL. |
pg_freespacemap | 1.2 | Inspect the free space map. |
pg_hashids | 1.3 | Hashids support. |
pg_hint_plan | 1.7.0 | Optimizer hints for PostgreSQL. |
pg_ivm | 1.11 | Incremental view maintenance. |
pg_jieba | 1.1.1 | Chinese full text search parser. |
pg_partman | 4.7.4 | Partition management by time or ID. |
pg_prewarm | 1.2 | Prewarm relation data. |
pg_repack | 1.5.2 | Reorganize tables and indexes with minimal locks. |
pg_similarity | 1.0 | Similarity query support. |
pg_sphere | 1.5.1 | Spherical objects, functions, and indexes. |
pg_squeeze | 1.9 | Remove unused space from relations. |
pg_stat_log | 1.0 | Runtime execution statistics for SQL statements. |
pg_stat_statements | 1.11 | SQL planning and execution statistics. |
pg_surgery | 1.0 | Low-level surgery on damaged relations. |
pg_trgm | 1.6 | Trigram-based text similarity and index search. |
pg_visibility | 1.2 | Inspect visibility map and page-level visibility. |
pg_walinspect | 1.1 | Inspect PostgreSQL WAL contents. |
pgagent | 4.2 | PostgreSQL job scheduler. |
pgaudit | 17.0 | PostgreSQL auditing. |
pgcrypto | 1.3 | Cryptographic functions. |
pglogical | 2.4.5 | PostgreSQL logical replication. |
pglogical_origin | 1.0.0 | Compatibility extension for pglogical origin. |
pgrouting | 3.6.2 | Routing extension for PostgreSQL/PostGIS. |
pgrowlocks | 1.2 | Show row-level locking information. |
pgstattuple | 1.5 | Tuple-level statistics. |
pldbgapi | 1.1 | Server-side debugging support for PL/pgSQL. |
plperl | 1.0 | PL/Perl procedural language. |
plpgsql | 1.0 | PL/pgSQL procedural language. |
pltcl | 1.0 | PL/Tcl procedural language. |
plv8 | 3.2.3 | Trusted PL/JavaScript procedural language. |
postgis | 3.5.0 | Geometry and geography spatial types and functions. |
postgis_raster | 3.5.0 | PostGIS raster types and functions. |
postgis_sfcgal | 3.5.0 | PostGIS SFCGAL functions. |
postgis_tiger_geocoder | 3.5.0 | PostGIS TIGER geocoder and reverse geocoder. |
postgis_topology | 3.5.0 | PostGIS topology spatial types and functions. |
postgres_fdw | 1.1 | Foreign data wrapper for remote PostgreSQL servers. |
rdkit | 4.7.0 | Cheminformatics functionality. |
rds_server_handler | 1.0 | TencentDB PostgreSQL service handler. |
refint | 1.0 | Obsolete referential integrity helper functions. |
roaringbitmap | 0.5 | Roaring Bitmap support. |
rum | 1.3 | RUM index access method. |
seg | 1.4 | Line segment or floating interval type. |
sequential_uuids | 1.0.2 | Sequential UUID generator. |
smlar | 1.0 | Similarity for one-dimensional arrays. |
sslinfo | 1.2 | SSL certificate information. |
starrocks_fdw | 1.2 | Foreign data wrapper for StarRocks. |
tablefunc | 1.0 | Whole-table functions including crosstab. |
tcn | 1.0 | Triggered change notifications. |
tencentdb_ai | 1.3 | TencentDB AI extension for prompt, embedding, and related AI capabilities. |
tencentdb_failover_slot | 1.1 | Failover slot helper functions. |
tencentdb_index_advisor | 1.0 | Index advisor for queries and workloads. |
tencentdb_serverless | 1.0 | Serverless mode support extension. |
tencentdb_sql_throttling | 1.0 | SQL planning and execution statistics for throttling. |
tencentdb_superuser | 1.1 | TencentDB upgrade support extension. |
tencentdb_system_stat | 1.0 | SQL execution statistics. |
tencentdb_wal_stat | 1.0 | WAL statistics grouped by relation. |
timescaledb | 2.23.0 | Time-series extension for scalable inserts and complex queries. |
topn | 2.6.0 | Top-N JSONB type. |
tsm_system_rows | 1.0 | TABLESAMPLE method limited by row count. |
tsm_system_time | 1.0 | TABLESAMPLE method limited by time. |
unaccent | 1.1 | Text search dictionary that removes accents. |
uuid-ossp | 1.1 | UUID generation functions. |
vector | 0.8.2 | Vector type and ivfflat/hnsw indexes. |
vectorscale | 0.9.0 | DiskANN access method for vector search. |
xml2 | 1.1 | XPath querying and XSLT. |
zhparser | 2.2 | Chinese parser for full text search. |
Usage guidance
- This page uses an overview table plus per-extension notes so you can find extensions by capability. For CloudBase PostgreSQL, use the current instance query result as the source of truth.
- Before using an extension, validate permissions, performance, backup and restore, and migration impact in a staging environment.
- FDW, scheduling, audit, replication, procedural language, and low-level diagnostic extensions usually require stricter permission governance.
- Extensions provide database capabilities. Do not expose low-level diagnostics, replication, scheduling, or external data access directly to frontend access paths.
Extension details
address_standardizer
- Name:
address_standardizer - Version: 3.5.0
- Project link: PostGIS documentation
- Capability: Parse and normalize postal addresses before geocoding.
- Usage: Use it after importing user, store, or logistics addresses to split free-form address text into structured parts such as street, city, and postcode.
- Notes: Address parsing depends on rules and datasets. Validate samples for the target country or region, and do not treat parsed results as the only source of truth.
address_standardizer_data_us
- Name:
address_standardizer_data_us - Version: 3.5.0
- Project link: PostGIS documentation
- Capability: Example US dataset for the address standardizer.
- Usage: Use it with address_standardizer for US address examples, tests, or US address normalization validation.
- Notes: This dataset targets US addresses. Do not use it as a rule set for China or other regions.
age
- Name:
age - Version: 1.5.0
- Project link: Apache AGE website
- Capability: Apache AGE graph database extension for PostgreSQL.
- Usage: Use it to model graph data such as user relationships, knowledge graphs, dependencies, and path traversal.
- Notes: Graph querying differs from relational modeling. Validate query language, indexing, and backup behavior before adoption.
amcheck
- Name:
amcheck - Version: 1.4
- Project link: PostgreSQL documentation
- Capability: Verify relation and index integrity.
- Usage: Use it when you suspect index corruption, relation page issues, or need low-level consistency checks.
- Notes: This is a low-level diagnostic tool. Run large checks during off-peak hours.
autoinc
- Name:
autoinc - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Trigger-based helpers for auto-incrementing fields.
- Usage: Use it for compatibility with legacy tables that maintain incrementing values through triggers. Prefer identity columns or sequences for new tables.
- Notes: Trigger-based auto increments hide write behavior. Validate concurrency and uniqueness semantics.
bloom
- Name:
bloom - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Bloom index access method for multi-column equality filters.
- Usage: Use Bloom indexes when queries filter by many columns and many composite B-tree indexes are impractical.
- Notes: Bloom indexes can have false positives and require heap rechecks. They do not replace B-tree indexes for range queries.
bool_plperl
- Name:
bool_plperl - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Transform boolean values between PostgreSQL and PL/Perl.
- Usage: Use it when PL/Perl functions need to read or return PostgreSQL boolean values.
- Notes: Procedural language transforms expand executable database logic. Restrict function creation permissions.
btree_gin
- Name:
btree_gin - Version: 1.3
- Project link: PostgreSQL documentation
- Capability: GIN operator classes for common B-tree data types.
- Usage: Use it when a GIN index needs to combine scalar fields with arrays, full text search, or JSONB fields.
- Notes: GIN indexes add write cost. For simple equality or range filters, prefer B-tree indexes.
btree_gist
- Name:
btree_gist - Version: 1.7
- Project link: PostgreSQL documentation
- Capability: GiST operator classes for common B-tree data types.
- Usage: Use it with GiST indexes or exclusion constraints, such as schedule conflict detection and mixed spatial/range constraints.
- Notes: GiST is operator-class specific. Use B-tree for ordinary equality, sorting, and range filters.
chkpass
- Name:
chkpass - Version: 1.0
- Project link: PostgreSQL historical documentation
- Capability: Password type with automatic encryption.
- Usage: Use it only for legacy compatibility with database-stored password fields. Modern apps should use a dedicated authentication system.
- Notes: Do not design a new password storage scheme around this extension.
citext
- Name:
citext - Version: 1.6
- Project link: PostgreSQL documentation
- Capability: Case-insensitive text type.
- Usage: Use it for emails, usernames, and tags where comparisons should ignore case without wrapping queries in lower().
- Notes: Confirm uniqueness semantics and collation behavior before using it in unique constraints.
cos_fdw
- Name:
cos_fdw - Version: 1.0
- Project link: Tencent Cloud documentation
- Capability: Foreign data wrapper for Tencent Cloud COS flat files.
- Usage: Use it to map structured files in COS as foreign tables for low-frequency import, analysis, or temporary queries.
- Notes: FDW queries depend on object storage, network, and file format. Avoid high-frequency transactional paths.
count_distinct
- Name:
count_distinct - Version: 3.0.2
- Project link: PGXN
- Capability: Alternative COUNT(DISTINCT ...) aggregate implementation.
- Usage: Use it for large analytical distinct-count queries where it improves HashAggregate behavior.
- Notes: Benchmark with EXPLAIN ANALYZE. Do not replace every COUNT(DISTINCT) blindly.
cube
- Name:
cube - Version: 1.5
- Project link: PostgreSQL documentation
- Capability: Multidimensional cube data type.
- Usage: Use it for multidimensional points, ranges, and simple similarity calculations with GiST indexes.
- Notes: For embedding search, prefer vector or vectorscale. Cube fits lower-dimensional numeric data.
dblink
- Name:
dblink - Version: 1.2
- Project link: PostgreSQL documentation
- Capability: Connect to other PostgreSQL databases from SQL.
- Usage: Use it for cross-database queries or small migration tasks from another PostgreSQL database.
- Notes: Protect connection strings and credentials. Cross-database queries are not ideal for high-frequency production paths.
decoderbufs
- Name:
decoderbufs - Version: 0.1.0
- Project link: GitHub
- Capability: Logical decoding plugin that outputs WAL changes in Protocol Buffer format.
- Usage: Use it for logical replication or change data capture pipelines that consume protobuf-encoded WAL changes.
- Notes: Monitor replication slots and consumer lag. Long lag can retain WAL and increase storage pressure.
dict_int
- Name:
dict_int - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Full text search dictionary template for integers.
- Usage: Use it in text search configurations that need to handle numeric tokens such as product codes or category IDs.
- Notes: Dictionary changes should be coordinated with text search configurations and index refreshes.
dict_xsyn
- Name:
dict_xsyn - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Extended synonym dictionary template for full text search.
- Usage: Use it to expand business synonyms, brand aliases, or alternate spellings in search.
- Notes: Synonyms affect recall and false positives. Validate with real search samples.
earthdistance
- Name:
earthdistance - Version: 1.2
- Project link: PostgreSQL documentation
- Capability: Great-circle distance calculations.
- Usage: Use it for distance between latitude/longitude points, nearby store filtering, and coarse location queries.
- Notes: For complex GIS, projections, and spatial indexes, prefer PostGIS.
fuzzystrmatch
- Name:
fuzzystrmatch - Version: 1.2
- Project link: PostgreSQL documentation
- Capability: String similarity and distance functions.
- Usage: Use it for spell correction, fuzzy matching, phonetic matching, and data cleanup.
- Notes: Similarity functions can be CPU-heavy. Reduce candidate sets before applying them to large tables.
hll
- Name:
hll - Version: 2.18
- Project link: GitHub
- Capability: HyperLogLog type for approximate distinct counting.
- Usage: Use it for approximate UV, user count, or device count analytics at large scale.
- Notes: HLL is approximate. Do not use it for settlement, inventory, billing, or exact counts.
hstore
- Name:
hstore - Version: 1.8
- Project link: PostgreSQL documentation
- Capability: Key-value data type.
- Usage: Use it for simple sparse attributes, labels, or legacy key-value data.
- Notes: For new nested or flexible data models, prefer JSONB.
hstore_plperl
- Name:
hstore_plperl - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Transform hstore values between PostgreSQL and PL/Perl.
- Usage: Use it when PL/Perl functions process hstore fields.
- Notes: Restrict procedural language function creation and avoid complex scripts in the database.
hypopg
- Name:
hypopg - Version: 1.4.1
- Project link: GitHub
- Capability: Hypothetical indexes for PostgreSQL.
- Usage: Use it to evaluate whether an index may improve a query plan without creating the real index.
- Notes: Hypothetical indexes do not accelerate actual queries. Create real indexes and test before launch.
imgsmlr
- Name:
imgsmlr - Version: 1.0
- Project link: GitHub
- Capability: Image similarity module.
- Usage: Use it for specialized or experimental image similarity comparisons inside PostgreSQL.
- Notes: Large-scale image search usually fits vector search or dedicated retrieval systems better.
insert_username
- Name:
insert_username - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Functions for tracking who changed a table.
- Usage: Use it with triggers to populate audit fields with the database user that inserted or updated a row.
- Notes: The database user may not equal the application end user. Store business user IDs separately.
intagg
- Name:
intagg - Version: 1.1
- Project link: PostgreSQL documentation
- Capability: Obsolete integer aggregator and enumerator.
- Usage: Use it only for legacy SQL compatibility. Prefer built-in PostgreSQL aggregate and array functions for new queries.
- Notes: Obsolete extension. Avoid introducing it in new workloads.
intarray
- Name:
intarray - Version: 1.5
- Project link: PostgreSQL documentation
- Capability: Functions, operators, and indexes for one-dimensional integer arrays.
- Usage: Use it for integer set operations such as tag IDs, category IDs, containment, overlap, and sorting.
- Notes: Arrays fit small sets. Use join tables when elements need permissions, statistics, or relationships.
isn
- Name:
isn - Version: 1.2
- Project link: PostgreSQL documentation
- Capability: Data types for international product numbering standards.
- Usage: Use it to validate and store ISBN, EAN, UPC, ISMN, and similar standard identifiers.
- Notes: Clean inconsistent historical formats before import.
jsonb_plperl
- Name:
jsonb_plperl - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Transform JSONB values between PostgreSQL and PL/Perl.
- Usage: Use it when PL/Perl functions need to process JSONB fields.
- Notes: Keep JSON transformation logic simple. Complex transformations usually belong in application or batch jobs.
lo
- Name:
lo - Version: 1.1
- Project link: PostgreSQL documentation
- Capability: Large Object maintenance.
- Usage: Use it for compatibility with legacy PostgreSQL Large Object storage.
- Notes: For new apps, store large files in object storage and keep URLs or metadata in PostgreSQL.
ltree
- Name:
ltree - Version: 1.3
- Project link: PostgreSQL documentation
- Capability: Hierarchical tree path data type.
- Usage: Use it for organization trees, category trees, path permissions, and menu hierarchies.
- Notes: Moving subtrees can be expensive. Design path format and indexes around update frequency.
moddatetime
- Name:
moddatetime - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Functions for tracking last modification time.
- Usage: Use it with triggers to update updated_at automatically.
- Notes: Triggers add implicit write behavior. Confirm behavior during data repair and bulk import.
mysql_fdw
- Name:
mysql_fdw - Version: 1.2
- Project link: GitHub
- Capability: Foreign data wrapper for querying MySQL.
- Usage: Use it for migration, reconciliation, low-frequency federation, or transitional integration with MySQL.
- Notes: Remote queries depend on MySQL and network availability. Avoid high-frequency transactional paths.
pageinspect
- Name:
pageinspect - Version: 1.12
- Project link: PostgreSQL documentation
- Capability: Inspect database pages at a low level.
- Usage: Use it to inspect table and index page structures during corruption, bloat, or storage diagnostics.
- Notes: DBA-oriented diagnostic tool. Do not grant it to ordinary application roles.
pg_bigm
- Name:
pg_bigm - Version: 1.2
- Project link: GitHub
- Capability: Bigram-based text similarity and index search.
- Usage: Use it for bigram fuzzy matching in languages such as Chinese or Japanese.
- Notes: Compare with pg_trgm, zhparser, and pg_jieba using real query samples.
pg_buffercache
- Name:
pg_buffercache - Version: 1.5
- Project link: PostgreSQL documentation
- Capability: Inspect shared buffer cache contents.
- Usage: Use it to see which relation pages occupy shared buffers and analyze hot data.
- Notes: It is a point-in-time diagnostic view, not a replacement for long-term monitoring.
pg_cron
- Name:
pg_cron - Version: 1.6
- Project link: GitHub
- Capability: Job scheduler for PostgreSQL.
- Usage: Use it to run scheduled SQL jobs such as rollups, cleanup, and refreshing summary tables.
- Notes: Avoid long-running jobs or external dependencies. Design failure alerts and audit records.
pg_freespacemap
- Name:
pg_freespacemap - Version: 1.2
- Project link: PostgreSQL documentation
- Capability: Inspect the free space map.
- Usage: Use it to analyze free space in table and index pages and plan maintenance.
- Notes: Low-level diagnostic tool. Interpret results together with vacuum and bloat statistics.
pg_hashids
- Name:
pg_hashids - Version: 1.3
- Project link: GitHub
- Capability: Hashids support.
- Usage: Use it to encode numeric IDs into short public-facing identifiers for URLs or display.
- Notes: Hashids are not encryption or authorization. Always enforce permissions separately.
pg_hint_plan
- Name:
pg_hint_plan - Version: 1.7.0
- Project link: Project documentation
- Capability: Optimizer hints for PostgreSQL.
- Usage: Use it to influence query plans in exceptional cases where the optimizer chooses poorly.
- Notes: Hints couple SQL to execution plans. Prefer statistics, indexing, or query rewrites first.
pg_ivm
- Name:
pg_ivm - Version: 1.11
- Project link: GitHub
- Capability: Incremental view maintenance.
- Usage: Use it to maintain derived or pre-aggregated data incrementally as base tables change.
- Notes: Incremental maintenance increases write cost. Evaluate throughput on write-heavy tables.
pg_jieba
- Name:
pg_jieba - Version: 1.1.1
- Project link: GitHub
- Capability: Chinese full text search parser.
- Usage: Use it for Chinese tokenization in article, ticket, product, or knowledge base search.
- Notes: Dictionary quality affects search results. Validate recall and ranking with real Chinese content.
pg_partman
- Name:
pg_partman - Version: 4.7.4
- Project link: GitHub
- Capability: Partition management by time or ID.
- Usage: Use it to create and maintain partitions for logs, orders, events, and other growing tables.
- Notes: Partition key and retention policy need careful design.
pg_prewarm
- Name:
pg_prewarm - Version: 1.2
- Project link: PostgreSQL documentation
- Capability: Prewarm relation data.
- Usage: Use it after restart or cold start to load hot tables or indexes into cache.
- Notes: Prewarming consumes IO and cache. Apply it only to known hot relations.
pg_repack
- Name:
pg_repack - Version: 1.5.2
- Project link: Project homepage
- Capability: Reorganize tables and indexes with minimal locks.
- Usage: Use it to reduce table or index bloat while keeping lock impact lower than traditional rewrites.
- Notes: Requires extra disk and resources. Plan large-table operations carefully.
pg_similarity
- Name:
pg_similarity - Version: 1.0
- Project link: GitHub
- Capability: Similarity query support.
- Usage: Use it for string similarity, deduplication, and fuzzy matching in cleanup or search workflows.
- Notes: Tune thresholds using business data. Large full-table comparisons can be expensive.
pg_sphere
- Name:
pg_sphere - Version: 1.5.1
- Project link: Project homepage
- Capability: Spherical objects, functions, and indexes.
- Usage: Use it for astronomy or spherical-coordinate calculations.
- Notes: For common GIS workloads, evaluate PostGIS first.
pg_squeeze
- Name:
pg_squeeze - Version: 1.9
- Project link: GitHub
- Capability: Remove unused space from relations.
- Usage: Use it to reclaim bloat from tables with frequent updates or deletes.
- Notes: Maintenance consumes resources and may affect writes. Run during off-peak windows.
pg_stat_log
- Name:
pg_stat_log - Version: 1.0
- Project link: Tencent Cloud documentation
- Capability: Runtime execution statistics for SQL statements.
- Usage: Use it to inspect runtime SQL statistics and diagnose high-latency or high-frequency SQL.
- Notes: Diagnostic extension. Avoid relying on it for business features.
pg_stat_statements
- Name:
pg_stat_statements - Version: 1.11
- Project link: PostgreSQL documentation
- Capability: SQL planning and execution statistics.
- Usage: Use it to aggregate SQL calls, timing, rows, and planning information. It is a common entry point for slow-query analysis.
- Notes: Normalized SQL can hide parameter differences. Interpret results with business context.
pg_surgery
- Name:
pg_surgery - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Low-level surgery on damaged relations.
- Usage: Use it only for extreme corruption repair workflows.
- Notes: High-risk tool. Use only after backups and with PostgreSQL storage expertise.
pg_trgm
- Name:
pg_trgm - Version: 1.6
- Project link: PostgreSQL documentation
- Capability: Trigram-based text similarity and index search.
- Usage: Use it for fuzzy search, similarity ranking, and LIKE/ILIKE acceleration on short text.
- Notes: Trigram indexes add write cost. For Chinese search, compare with pg_bigm, zhparser, or pg_jieba.
pg_visibility
- Name:
pg_visibility - Version: 1.2
- Project link: PostgreSQL documentation
- Capability: Inspect visibility map and page-level visibility.
- Usage: Use it to analyze visibility maps for vacuum, index-only scans, and maintenance diagnostics.
- Notes: Diagnostic-only extension. Do not use it in business query paths.
pg_walinspect
- Name:
pg_walinspect - Version: 1.1
- Project link: PostgreSQL documentation
- Capability: Inspect PostgreSQL WAL contents.
- Usage: Use it to analyze WAL records for replication, recovery, or write amplification diagnostics.
- Notes: WAL contents can be sensitive. Restrict access and use it for operations diagnostics.
pgagent
- Name:
pgagent - Version: 4.2
- Project link: GitHub
- Capability: PostgreSQL job scheduler.
- Usage: Use it to manage scheduled SQL jobs and maintenance tasks.
- Notes: Design failure handling, retries, and job permissions. Complex orchestration belongs in external schedulers.
pgaudit
- Name:
pgaudit - Version: 17.0
- Project link: GitHub
- Capability: PostgreSQL auditing.
- Usage: Use it to record database access and operations for compliance and security analysis.
- Notes: Audit can greatly increase log volume. Plan collection, retention, masking, and alerts.
pgcrypto
- Name:
pgcrypto - Version: 1.3
- Project link: PostgreSQL documentation
- Capability: Cryptographic functions.
- Usage: Use it for random values, hashes, digests, UUID helpers, and limited encryption/decryption operations.
- Notes: Do not treat database crypto functions as a full key management system. Protect keys separately.
pglogical
- Name:
pglogical - Version: 2.4.5
- Project link: GitHub
- Capability: PostgreSQL logical replication.
- Usage: Use it for table-level logical replication, migration, and transitional synchronization.
- Notes: Monitor replication slots and lag. Lag can retain WAL and cause storage pressure.
pglogical_origin
- Name:
pglogical_origin - Version: 1.0.0
- Project link: GitHub
- Capability: Compatibility extension for pglogical origin.
- Usage: Use it for upgrade or migration compatibility from older PostgreSQL versions.
- Notes: Usually not a new application feature. Keep it only when migration compatibility requires it.
pgrouting
- Name:
pgrouting - Version: 3.6.2
- Project link: pgRouting documentation
- Capability: Routing extension for PostgreSQL/PostGIS.
- Usage: Use it for road networks, shortest paths, and graph routing based on spatial data.
- Notes: Route quality depends on graph data quality. Evaluate preprocessing and query cost.
pgrowlocks
- Name:
pgrowlocks - Version: 1.2
- Project link: PostgreSQL documentation
- Capability: Show row-level locking information.
- Usage: Use it to diagnose row locks, transaction blocking, and concurrent write conflicts.
- Notes: Diagnostic use only. Do not put it in application query paths.
pgstattuple
- Name:
pgstattuple - Version: 1.5
- Project link: PostgreSQL documentation
- Capability: Tuple-level statistics.
- Usage: Use it to inspect dead tuples, bloat, and space waste in tables and indexes.
- Notes: May scan large objects. Run during off-peak periods for large tables.
pldbgapi
- Name:
pldbgapi - Version: 1.1
- Project link: GitHub
- Capability: Server-side debugging support for PL/pgSQL.
- Usage: Use it to debug complex PL/pgSQL functions during development.
- Notes: Do not expose debugging capabilities to ordinary application roles.
plperl
- Name:
plperl - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: PL/Perl procedural language.
- Usage: Use it to write database functions in Perl for legacy logic migration.
- Notes: Prefer SQL/PLpgSQL or application code for new workloads. Restrict function creation.
plpgsql
- Name:
plpgsql - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: PL/pgSQL procedural language.
- Usage: Use it to write PostgreSQL functions, triggers, and procedural logic.
- Notes: Keep functions clear and testable. Put complex orchestration in server-side application code.
pltcl
- Name:
pltcl - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: PL/Tcl procedural language.
- Usage: Use it to write database functions in Tcl for legacy compatibility.
- Notes: Use only for legacy compatibility and restrict function creation permissions.
plv8
- Name:
plv8 - Version: 3.2.3
- Project link: PLV8 documentation
- Capability: Trusted PL/JavaScript procedural language.
- Usage: Use it for small JavaScript transformations inside database functions.
- Notes: JavaScript runs inside database processes. Avoid complex business orchestration.
postgis
- Name:
postgis - Version: 3.5.0
- Project link: PostGIS documentation
- Capability: Geometry and geography spatial types and functions.
- Usage: Use it for geofencing, nearby search, spatial intersections, trajectories, and map workloads.
- Notes: Coordinate systems, spatial indexes, and geometry validity are critical. Benchmark complex spatial queries.
postgis_raster
- Name:
postgis_raster - Version: 3.5.0
- Project link: PostGIS documentation
- Capability: PostGIS raster types and functions.
- Usage: Use it for raster data such as remote sensing, terrain, and image tile analysis.
- Notes: Raster data is often large. Evaluate storage, IO, and backup costs.
postgis_sfcgal
- Name:
postgis_sfcgal - Version: 3.5.0
- Project link: PostGIS documentation
- Capability: PostGIS SFCGAL functions.
- Usage: Use it for advanced geometry and 3D spatial operations.
- Notes: Advanced geometry operations can be CPU-heavy. Validate geometry validity.
postgis_tiger_geocoder
- Name:
postgis_tiger_geocoder - Version: 3.5.0
- Project link: PostGIS documentation
- Capability: PostGIS TIGER geocoder and reverse geocoder.
- Usage: Use it for US TIGER geocoding and reverse geocoding workflows.
- Notes: Primarily for US address data. Do not rely on it for non-US address normalization.
postgis_topology
- Name:
postgis_topology - Version: 3.5.0
- Project link: PostGIS documentation
- Capability: PostGIS topology spatial types and functions.
- Usage: Use it for topology models with edges, faces, and nodes.
- Notes: Topology modeling has higher maintenance cost. Ordinary location queries usually only need PostGIS geometry/geography.
postgres_fdw
- Name:
postgres_fdw - Version: 1.1
- Project link: PostgreSQL documentation
- Capability: Foreign data wrapper for remote PostgreSQL servers.
- Usage: Use it for cross-instance PostgreSQL queries, migration validation, or federated access.
- Notes: Remote queries depend on network and remote load. Manage user mappings and remote permissions carefully.
rdkit
- Name:
rdkit - Version: 4.7.0
- Project link: RDKit documentation
- Capability: Cheminformatics functionality.
- Usage: Use it for molecular structures, fingerprints, chemical similarity, and chemistry search.
- Notes: Domain-specific extension. Validate schema and indexes with cheminformatics rules.
rds_server_handler
- Name:
rds_server_handler - Version: 1.0
- Project link: Tencent Cloud documentation
- Capability: TencentDB PostgreSQL service handler.
- Usage: Use it for TencentDB PostgreSQL service-side handling and compatibility scenarios.
- Notes: Usually not an application development interface. Confirm product boundaries before use.
refint
- Name:
refint - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Obsolete referential integrity helper functions.
- Usage: Use it only for legacy compatibility. Prefer native foreign keys in new schemas.
- Notes: Obsolete extension. Migrate old logic to native constraints when possible.
roaringbitmap
- Name:
roaringbitmap - Version: 0.5
- Project link: GitHub
- Capability: Roaring Bitmap support.
- Usage: Use it for efficient large integer-set operations such as audience segments, tags, and analytics.
- Notes: Bitmap analytics are not a replacement for transactional detail tables.
rum
- Name:
rum - Version: 1.3
- Project link: GitHub
- Capability: RUM index access method.
- Usage: Use it for enhanced inverted indexes, full text search ranking, and position-aware search.
- Notes: RUM indexes can be more expensive to maintain than GIN. Test write-heavy tables carefully.
seg
- Name:
seg - Version: 1.4
- Project link: PostgreSQL documentation
- Capability: Line segment or floating interval type.
- Usage: Use it to represent one-dimensional intervals or uncertain numeric ranges.
- Notes: For general ranges, evaluate PostgreSQL native range types first.
sequential_uuids
- Name:
sequential_uuids - Version: 1.0.2
- Project link: PGXN
- Capability: Sequential UUID generator.
- Usage: Use it when UUIDs are required but B-tree locality matters for high-write tables.
- Notes: Sequential UUIDs can reveal creation order. Evaluate public ID requirements.
smlar
- Name:
smlar - Version: 1.0
- Project link: GitHub
- Capability: Similarity for one-dimensional arrays.
- Usage: Use it for array similarity, candidate recommendation, and set deduplication.
- Notes: Limit candidate sets before comparing arrays across large tables.
sslinfo
- Name:
sslinfo - Version: 1.2
- Project link: PostgreSQL documentation
- Capability: SSL certificate information.
- Usage: Use it to inspect SSL certificate and encryption information for the current connection.
- Notes: Diagnostic only. Do not use it as application-level authorization.
starrocks_fdw
- Name:
starrocks_fdw - Version: 1.2
- Project link: Tencent Cloud documentation
- Capability: Foreign data wrapper for StarRocks.
- Usage: Use it for federated queries, migration validation, or analytics integration with StarRocks.
- Notes: External queries depend on StarRocks availability. Large analytics workloads should use dedicated analytical paths.
tablefunc
- Name:
tablefunc - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Whole-table functions including crosstab.
- Usage: Use it for crosstab, pivot-style reports, and table transformations.
- Notes: Pivot structures often require fixed columns. Dynamic reports may fit application or BI layers better.
tcn
- Name:
tcn - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: Triggered change notifications.
- Usage: Use it for lightweight change notifications triggered by table writes.
- Notes: Not a durable message queue. Use a message system or event table for reliable event processing.
tencentdb_ai
- Name:
tencentdb_ai - Version: 1.3
- Project link: Tencent Cloud documentation
- Capability: TencentDB AI extension for prompt, embedding, and related AI capabilities.
- Usage: Use it to integrate AI capabilities inside the database, such as embeddings or prompt processing.
- Notes: AI calls can add latency and cost. Review compliance and masking before sending sensitive data to models.
tencentdb_failover_slot
- Name:
tencentdb_failover_slot - Version: 1.1
- Project link: Tencent Cloud documentation
- Capability: Failover slot helper functions.
- Usage: Use it for replication slot handling in failover scenarios.
- Notes: Operations-focused extension. Incorrect use can affect replication or WAL retention.
tencentdb_index_advisor
- Name:
tencentdb_index_advisor - Version: 1.0
- Project link: Tencent Cloud documentation
- Capability: Index advisor for queries and workloads.
- Usage: Use it to analyze SQL or workload-level index recommendations for query optimization.
- Notes: Validate recommendations against write cost, storage cost, and real workload before adoption.
tencentdb_serverless
- Name:
tencentdb_serverless - Version: 1.0
- Project link: Tencent Cloud documentation
- Capability: Serverless mode support extension.
- Usage: Use it as part of TencentDB PostgreSQL serverless runtime support.
- Notes: Product runtime capability. Avoid depending on internal behavior in business SQL.
tencentdb_sql_throttling
- Name:
tencentdb_sql_throttling - Version: 1.0
- Project link: Tencent Cloud documentation
- Capability: SQL planning and execution statistics for throttling.
- Usage: Use it to observe and govern abnormal SQL behavior and throttling policies.
- Notes: Configure throttling carefully to avoid affecting core business queries.
tencentdb_superuser
- Name:
tencentdb_superuser - Version: 1.1
- Project link: Tencent Cloud documentation
- Capability: TencentDB upgrade support extension.
- Usage: Use it for TencentDB PostgreSQL upgrade or managed operations support.
- Notes: Not a business feature. Do not depend on it from application logic.
tencentdb_system_stat
- Name:
tencentdb_system_stat - Version: 1.0
- Project link: Tencent Cloud documentation
- Capability: SQL execution statistics.
- Usage: Use it to collect system-level SQL execution statistics for performance analysis.
- Notes: Use for diagnostics and trends. Avoid frequent broad scans in application paths.
tencentdb_wal_stat
- Name:
tencentdb_wal_stat - Version: 1.0
- Project link: Tencent Cloud documentation
- Capability: WAL statistics grouped by relation.
- Usage: Use it to analyze WAL volume by table or index and diagnose write amplification.
- Notes: Interpret results with write peaks, index count, and batch jobs.
timescaledb
- Name:
timescaledb - Version: 2.23.0
- Project link: TimescaleDB documentation
- Capability: Time-series extension for scalable inserts and complex queries.
- Usage: Use it for metrics, events, IoT, logs, and other time-series models with hypertables and time-based queries.
- Notes: Design time dimensions, retention, compression, and high-cardinality tags carefully.
topn
- Name:
topn - Version: 2.6.0
- Project link: GitHub
- Capability: Top-N JSONB type.
- Usage: Use it to maintain top-N statistics such as popular items or approximate leaderboards.
- Notes: Fits analytical aggregates, not strict transactional ranking.
tsm_system_rows
- Name:
tsm_system_rows - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: TABLESAMPLE method limited by row count.
- Usage: Use it for quick row-count-based sampling and test data inspection.
- Notes: Sampling is not guaranteed to be statistically uniform.
tsm_system_time
- Name:
tsm_system_time - Version: 1.0
- Project link: PostgreSQL documentation
- Capability: TABLESAMPLE method limited by time.
- Usage: Use it to sample large tables within a time budget.
- Notes: Results depend on layout and execution time. Do not use for precise statistics.
unaccent
- Name:
unaccent - Version: 1.1
- Project link: PostgreSQL documentation
- Capability: Text search dictionary that removes accents.
- Usage: Use it to make search ignore accents, such as matching cafe and café.
- Notes: Primarily useful for accented Latin text. Use zhparser or pg_jieba for Chinese tokenization.
uuid-ossp
- Name:
uuid-ossp - Version: 1.1
- Project link: PostgreSQL documentation
- Capability: UUID generation functions.
- Usage: Use it to generate UUID v1/v3/v4/v5 identifiers for distributed keys or public IDs.
- Notes: Random UUIDs can reduce B-tree locality. Evaluate sequential UUIDs or bigint identity for high-write tables.
vector
- Name:
vector - Version: 0.8.2
- Project link: GitHub
- Capability: Vector type and ivfflat/hnsw indexes.
- Usage: Use it to store embeddings and perform vector similarity search for RAG, semantic search, and recommendations.
- Notes: Vector dimensions must match the model. Design index type, distance function, and metadata filters together.
vectorscale
- Name:
vectorscale - Version: 0.9.0
- Project link: GitHub
- Capability: DiskANN access method for vector search.
- Usage: Use it for larger-scale vector retrieval workloads based on diskann indexing.
- Notes: Evaluate recall, index build time, disk usage, and query latency.
xml2
- Name:
xml2 - Version: 1.1
- Project link: PostgreSQL documentation
- Capability: XPath querying and XSLT.
- Usage: Use it to query and transform XML data for legacy integrations or data exchange.
- Notes: Prefer JSON/JSONB for new workloads. Validate XML input trust and query cost.
zhparser
- Name:
zhparser - Version: 2.2
- Project link: GitHub
- Capability: Chinese parser for full text search.
- Usage: Use it for Chinese tokenization in articles, products, tickets, and knowledge base search.
- Notes: Dictionary and tokenizer behavior determine search quality. Validate with real Chinese content.