Overview

In the table below you can find a list of available extensions with Nhost Postgres:

nameversioncomment
address_standardizer3.5.0Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.
address_standardizer_data_us3.5.0Address Standardizer US dataset example
adminpack2.1administrative functions for PostgreSQL
amcheck1.3functions for verifying relation integrity
autoinc1.0functions for autoincrementing fields
bloom1.0bloom access method - signature file based index
btree_gin1.3support for indexing common datatypes in GIN
btree_gist1.6support for indexing common datatypes in GiST
citext1.6data type for case-insensitive character strings
cube1.5data type for multidimensional cubes
dblink1.2connect to other PostgreSQL databases from within a database
dict_int1.0text search dictionary template for integers
dict_xsyn1.0text search dictionary template for extended synonym processing
earthdistance1.1calculate great-circle distances on the surface of the Earth
file_fdw1.0foreign-data wrapper for flat file access
fuzzystrmatch1.1determine similarities and distance between strings
hstore1.8data type for storing sets of (key, value) pairs
http1.6HTTP client for PostgreSQL, allows web page retrieval inside the database.
hypopg1.4.1Hypothetical indexes for PostgreSQL
insert_username1.0functions for tracking who changed a table
intagg1.1integer aggregator and enumerator (obsolete)
intarray1.5functions, operators, and index support for 1-D arrays of integers
ip4r2.4
isn1.2data types for international product numbering standards
lo1.1Large Object maintenance
ltree1.2data type for hierarchical tree-like structures
moddatetime1.0functions for tracking last modification time
old_snapshot1.0utilities in support of old_snapshot_threshold
pageinspect1.9inspect the contents of database pages at a low level
pg_buffercache1.3examine the shared buffer cache
pg_cron1.6Job scheduler for PostgreSQL
pg_freespacemap1.2examine the free space map (FSM)
pg_hashids1.3pg_hashids
pg_ivm1.9incremental view maintenance on PostgreSQL
pg_prewarm1.2prewarm relation data
pg_repack1.5.1Reorganize tables in PostgreSQL databases with minimal locks
pg_squeeze1.7A tool to remove unused space from a relation.
pg_stat_statements1.9track planning and execution statistics of all SQL statements executed
pg_surgery1.0extension to perform surgery on a damaged relation
pg_trgm1.6text similarity measurement and index searching based on trigrams
pg_visibility1.2examine the visibility map (VM) and page-level visibility info
pgcrypto1.3cryptographic functions
pgrowlocks1.2show row-level locking information
pgstattuple1.5show tuple-level statistics
plpgsql1.0PL/pgSQL procedural language
postgis3.5.0PostGIS geometry and geography spatial types and functions
postgis_raster3.5.0PostGIS raster types and functions
postgis_tiger_geocoder3.5.0PostGIS tiger geocoder and reverse geocoder
postgis_topology3.5.0PostGIS topology spatial types and functions
postgres_fdw1.1foreign-data wrapper for remote PostgreSQL servers
refint1.0functions for implementing referential integrity (obsolete)
seg1.4data type for representing line segments or floating-point intervals
sslinfo1.2information about SSL certificates
tablefunc1.0functions that manipulate whole tables, including crosstab
tcn1.0Triggered change notifications
timescaledb2.17.2Enables scalable inserts and complex queries for time-series data (Community Edition)
tsm_system_rows1.0TABLESAMPLE method which accepts number of rows as a limit
tsm_system_time1.0TABLESAMPLE method which accepts time in milliseconds as a limit
unaccent1.1text search dictionary that removes accents
uuid-ossp1.1generate universally unique identifiers (UUIDs)
vector0.8.0vector data type and ivfflat and hnsw access methods
xml21.1XPath querying and XSLT

In addition, you can find more information about some of the extensions below

hypopg

HypoPG is a PostgreSQL extension adding support for hypothetical indexes.

An hypothetical — or virtual — index is an index that doesn’t really exists, and thus doesn’t cost CPU, disk or any resource to create. They’re useful to know if specific indexes can increase performance for problematic queries, since you can know if PostgreSQL will use these indexes or not without having to spend resources to create them.

Managing

To install the extension you can create a migration with the following contents:

SQL
SET ROLE postgres;
CREATE EXTENSION hypopg;

To uninstall it, you can use the following migration:

SQL
SET ROLE postgres;
DROP EXTENSION hypopg;

Resources

http

HTTP client for PostgreSQL, retrieve a web page from inside the database.

Managing

To install the extension you can create a migration with the following contents:

SQL
SET ROLE postgres;
CREATE EXTENSION http;

To uninstall it, you can use the following migration:

SQL
SET ROLE postgres;
DROP EXTENSION http;

ip4r

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

Managing

To install the extension you can create a migration with the following contents:

SQL
SET ROLE postgres;
CREATE EXTENSION ip4r;

To uninstall it, you can use the following migration:

SQL
SET ROLE postgres;
DROP EXTENSION ip4r;

Resources

postgis

PostGIS extends the capabilities of the PostgreSQL relational database by adding support storing, indexing and querying geographic data.

Managing

To install the extension you can create a migration with the following contents:

SQL
SET ROLE postgres;
CREATE EXTENSION postgis;

To uninstall it, you can use the following migration:

SQL
SET ROLE postgres;
DROP EXTENSION postgis;

Resources

pgvector

Open-source vector similarity search for Postgres. Store your vectors with the rest of your data.

Supports:

  • exact and approximate nearest neighbor search
  • L2 distance, inner product, and cosine distance
  • any language with a Postgres client

Plus ACID compliance, point-in-time recovery, JOINs, and all of the other great features of Postgres

Managing

To install the extension you can create a migration with the following contents:

SQL
SET ROLE postgres;
CREATE EXTENSION vector;

To uninstall it, you can use the following migration:

SQL
SET ROLE postgres;
DROP EXTENSION vector;

Resources

pg_cron

pg_cron is a simple cron-based job scheduler for PostgreSQL (10 or higher) that runs inside the database as an extension. It uses the same syntax as regular cron, but it allows you to schedule PostgreSQL commands directly from the database. You can also use ‘[1-59] seconds’ to schedule a job based on an interval.

Managing

To install the extension you can create a migration with the following contents:

SQL
SET ROLE postgres;
CREATE EXTENSION pg_cron;

To uninstall it, you can use the following migration:

SQL
SET ROLE postgres;
DROP EXTENSION pg_cron;

Resources

pg_hashids

Hashids is a small open-source library that generates short, unique, non-sequential ids from numbers. It converts numbers like 347 into strings like “yr8”. You can also decode those ids back. This is useful in bundling several parameters into one or simply using them as short UIDs.

Managing

To install the extension you can create a migration with the following contents:

SQL
SET ROLE postgres;
CREATE EXTENSION pg_hashids;

To uninstall it, you can use the following migration:

SQL
SET ROLE postgres;
DROP EXTENSION pg_hashids;

Resources

pg_ivm

The pg_ivm module provides Incremental View Maintenance (IVM) feature for PostgreSQL.

Incremental View Maintenance (IVM) is a way to make materialized views up-to-date in which only incremental changes are computed and applied on views rather than recomputing the contents from scratch as REFRESH MATERIALIZED VIEW does. IVM can update materialized views more efficiently than recomputation when only small parts of the view are changed.

Managing

To install the extension you can create a migration with the following contents:

SQL
SET ROLE postgres;
CREATE EXTENSION pg_ivm;

To uninstall it, you can use the following migration:

SQL
SET ROLE postgres;
DROP EXTENSION pg_ivm;

Resources

pg_repack

pg_repack is a PostgreSQL extension which lets you remove bloat from tables and indexes, and optionally restore the physical order of clustered indexes. Unlike CLUSTER and VACUUM FULL it works online, without holding an exclusive lock on the processed tables during processing. pg_repack is efficient to boot, with performance comparable to using CLUSTER directly.

Managing

To install the extension you can create a migration with the following contents:

SQL
SET ROLE postgres;
CREATE EXTENSION pg_repack;

In addition, you may need to configure the WAL level and replication slots. Check the official documentation for details.

To uninstall it, you can use the following migration:

SQL
SET ROLE postgres;
DROP EXTENSION pg_repack;

Resources

pg_squeeze

PostgreSQL extension that removes unused space from a table and optionally sorts tuples according to particular index (as if CLUSTER command was executed concurrently with regular reads / writes). In fact we try to replace pg_repack extension.

Managing

To install the extension you can create a migration with the following contents:

SQL
SET ROLE postgres;
CREATE EXTENSION pg_squeeze;

In addition, you may need to configure the WAL level and replication slots. Check the official documentation for details.

To uninstall it, you can use the following migration:

SQL
SET ROLE postgres;
DROP EXTENSION pg_squeeze;

Resources

pg_stat_statements

The pg_stat_statements module provides a means for tracking planning and execution statistics of all SQL statements executed by a server.

Managing

To install the extension you can create a migration with the following contents:

SQL
SET ROLE postgres;
CREATE EXTENSION pg_stat_statements;

To uninstall it, you can use the following migration:

SQL
SET ROLE postgres;
DROP EXTENSION pg_stat_statements;

Resources

timescaledb

TimescaleDB is an open-source database designed to make SQL scalable for time-series data. It is engineered up from PostgreSQL and packaged as a PostgreSQL extension, providing automatic partitioning across time and space (partitioning key), as well as full SQL support.

Managing

To install the extension you can create a migration with the following contents:

SQL
SET ROLE postgres;
CREATE EXTENSION timescaledb;

SET ROLE postgres; CREATE EXTENSION timescaledb;

To uninstall it, you can use the following migration:

SQL
SET ROLE postgres;
DROP EXTENSION timescaledb;

Resources