64+ PostgreSQL Extensions on Neon

Neon is serverless Postgres with database branching and autoscaling — enable pgvector, postgis, pg_cron and dozens more with a single CREATE EXTENSION run from the Neon SQL Editor or psql.

Last reviewed: May 29, 2026
64
Supported extensions
2
Pre-enabled
3
Vendor-specific
Not supported
Custom extensions
64 extensions
1
timescaledb
22.7k+235 30d

Enables scalable inserts and complex queries for time-series data

Time-series & Temporal·TSL·C
2
pgvector
21.5k+511 30d

vector data type and ivfflat and hnsw access methods

Vector & AI·PostgreSQL·C
3
paradedb
8.9k+153 30d

Full text search for PostgreSQL using BM25

Full-text Search·AGPL-3.0·Rust
4
pg_cron
3.8k+30 30d

Job scheduler for PostgreSQL

Time-series & Temporal·PostgreSQL·C
5
rdkit
3.4k+37 30d

Cheminformatics functionality for PostgreSQL.

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

Add in-database GraphQL support

Database Features·Apache-2.0·Rust
7
pg_partman
2.7k+30 30d

Extension to manage partitioned tables by time or ID

Analytics & Columnar·PostgreSQL·C
8
pg_repack
2.2k+13 30d

Reorganize tables in PostgreSQL databases with minimal locks

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

PL/JavaScript (v8) trusted procedural language

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

Columnstore Table in Postgres

Analytics & Columnar·MIT·C++
11
hypopg
1.7k+11 30d

Hypothetical indexes for PostgreSQL

Database Features·PostgreSQL·C
12
wal2json
1.5k+3 30d
Pre-enabled

Changing data capture in JSON format

Replication & ETL·BSD-3-Clause·C
13
pg_ivm
1.4k+11 30d

incremental view maintenance on PostgreSQL

Database Features·PostgreSQL·C
14
pgrouting
1.4k+11 30d

pgRouting Extension

Geospatial·GPL-2.0·C++
15
postgresql-hll
1.2k+4 30d

type for storing hyperloglog data

Database Features·Apache-2.0·C++
16
pg_jsonschema
1.2k+11 30d

PostgreSQL extension providing JSON Schema validation

Database Features·Apache-2.0·Rust
17
pgtap
1.1k+4 30d

Unit testing for PostgreSQL

Procedural Languages·PostgreSQL·C
18
pg_hint_plan
900+9 30d

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

Database Features·BSD-3-Clause·C
19
rum
829+3 30d

RUM index access method

Database Features·PostgreSQL·C
20
plpgsql_check
755+3 30d

extended check for plpgsql functions

Procedural Languages·MIT·C
21
pgx_ulid
501+3 30d

ulid type and methods

Functions·MIT·Rust
22
pgjwt
440+1 30d

JSON Web Token API for Postgresql

Utilities·MIT·SQL
23
pg_uuidv7
4270 30d

Create UUIDv7 values in postgres

Functions·MPL-2.0·C
24
pg_hashids
3220 30d

Short unique id generator for PostgreSQL, using hashids

Functions·MIT·C
25
ip4r
166+1 30d

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

Data Types·PostgreSQL·C
26
pgrag
1000 30d

Provides end-to-end RAG building blocks in Postgres including text extraction, chunking, local embeddings, reranking and remote LLM calls.

Vector & AI·Apache-2.0·Rust
27

Manage authentication sessions using JWTs

Security & Audit·Apache-2.0·Rust
28

tiktoken tokenizer for use with OpenAI models in postgres

Vector & AI·Apache-2.0·Rust
29

functions for autoincrementing fields

Functions·PostgreSQL·C
30

bloom access method - signature file based index

Database Features·PostgreSQL·C
31

support for indexing common datatypes in GIN

Functions·PostgreSQL·C
32

support for indexing common datatypes in GiST

Functions·PostgreSQL·C
33

data type for case-insensitive character strings

Data Types·PostgreSQL·C
34

data type for multidimensional cubes

Data Types·PostgreSQL·C
35

connect to other PostgreSQL databases from within a database

Foreign Data Wrappers·PostgreSQL·C
36

text search dictionary template for integers

Functions·PostgreSQL·C
37

calculate great-circle distances on the surface of the Earth

Geospatial·PostgreSQL·C
38

determine similarities and distance between strings

Full-text Search·PostgreSQL·C
39

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

Data Types·PostgreSQL·C
40

functions for tracking who changed a table

Functions·PostgreSQL·C
41

integer aggregator and enumerator (obsolete)

Functions·PostgreSQL·C
42

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

Functions·PostgreSQL·C
43

data types for international product numbering standards

Data Types·PostgreSQL·C
44

Large Object maintenance

Administration·PostgreSQL·C
45

data type for hierarchical tree-like structures

Data Types·PostgreSQL·C
46

functions for tracking last modification time

Functions·PostgreSQL·C
47

prewarm relation data

Administration·PostgreSQL·C
48

track planning and execution statistics of all SQL statements executed

Monitoring & Stats·PostgreSQL·C
49

text similarity measurement and index searching based on trigrams

Full-text Search·PostgreSQL·C
50

cryptographic functions

Security & Audit·PostgreSQL·C
51

show row-level locking information

Monitoring & Stats·PostgreSQL·C
52

show tuple-level statistics

Monitoring & Stats·PostgreSQL·C
53
Pre-enabled

PL/pgSQL procedural language

Procedural Languages·PostgreSQL·C
54

PostGIS geometry and geography spatial types and functions

Geospatial·GPL-2.0·C
55

foreign-data wrapper for remote PostgreSQL servers

Foreign Data Wrappers·PostgreSQL·C
56

functions for implementing referential integrity (obsolete)

Functions·PostgreSQL·C
57

data type for representing line segments or floating-point intervals

Data Types·PostgreSQL·C
58

functions that manipulate whole tables, including crosstab

Analytics & Columnar·PostgreSQL·C
59

Triggered change notifications

Functions·PostgreSQL·C
60

TABLESAMPLE method which accepts number of rows as a limit

Functions·PostgreSQL·C
61

TABLESAMPLE method which accepts time in milliseconds as a limit

Functions·PostgreSQL·C
62

text search dictionary that removes accents

Functions·PostgreSQL·C
63

generate universally unique identifiers (UUIDs)

Functions·PostgreSQL·C
64

XPath querying and XSLT

Data Types·PostgreSQL·C
Source: neon.com

How to enable extensions on Neon

Neon has no per-extension dashboard toggle. You install a supported extension by running CREATE EXTENSION from the Neon SQL Editor in the Console or any psql session — that's the primary path for almost everything. A few extensions that rely on a preloaded shared library (most notably pg_cron) need a one-time Neon API or console step to configure the compute before the CREATE EXTENSION will succeed.

SQL

Run from the Neon SQL Editor (Console) or any psql session connected to your branch.

-- Enable pgvector (the extension is named "vector")
CREATE EXTENSION IF NOT EXISTS vector;

-- Note: some names must be quoted, e.g. CREATE EXTENSION "uuid-ossp";

-- Verify it's installed
SELECT extname, extversion FROM pg_extension WHERE extname = 'vector';

-- Experimental extensions (e.g. pg_mooncake, pgrag) are gated behind a flag,
-- set per-session before the CREATE EXTENSION:
SET neon.allow_unstable_extensions = 'true';
CREATE EXTENSION IF NOT EXISTS pg_mooncake;

CLI

pg_cron needs its target database set on the compute endpoint via the Neon API, a compute restart, then CREATE EXTENSION. Replace the IDs and use a Neon API key.

# 1. Point pg_cron at your database (Update endpoint API)
curl -s -X PATCH \
  "https://console.neon.tech/api/v2/projects/$PROJECT_ID/endpoints/$ENDPOINT_ID" \
  -H "Authorization: Bearer $NEON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"endpoint":{"settings":{"pg_settings":{"cron.database_name":"neondb"}}}}'

# 2. Restart the compute so the new setting takes effect
curl -s -X POST \
  "https://console.neon.tech/api/v2/projects/$PROJECT_ID/endpoints/$ENDPOINT_ID/restart" \
  -H "Authorization: Bearer $NEON_API_KEY"

# 3. Now create the extension (from SQL Editor or psql)
#    CREATE EXTENSION pg_cron;
#    Schedules run in UTC; jobs only fire while the compute is active.

Pre-enabled on Neon

These extensions ship enabled by default — no CREATE EXTENSION needed.

Neon-specific extensions

Proprietary extensions that exist only on Neon, not part of the open-source PostgreSQL ecosystem.

neon

Neon-internal extension exposing platform metrics such as the Local File Cache (LFC) hit ratio, so you can see how well your working set fits the compute's cache.

Docs
neon_utils

Adds num_cpus(), which reports the compute's current vCPU allocation — useful for observing how autoscaling has sized your endpoint at query time.

Docs
pg_session_jwt

Handles JWT-based sessions inside Postgres, underpinning authenticated access for the Neon Data API (PostgREST-style HTTP access to your database).

Docs

Notable absences

Extensions you might expect that aren't available on Neon, with workarounds where they exist.

timescaledb

Why missing: timescaledb is available on Neon but only the Apache-2 licensed edition — the proprietary TSL (Community) features, including native compression, continuous aggregates' incremental refresh internals, and tiered storage, are NOT enabled. If you CREATE EXTENSION timescaledb expecting compression, those calls fail.

Alternative: For compression and the full feature set, self-host TimescaleDB or use Timescale Cloud. On Neon, lean on native Postgres partitioning plus pg_partman for time-series tables.

pg_cron

Why missing: pg_cron is supported, but Neon's scale-to-zero suspends the compute after inactivity and pg_cron jobs only run while the compute is active. A schedule that fires during a suspended window simply won't run — there's no wake-on-cron.

Alternative: Disable scale-to-zero (or keep the compute running 24/7) on the branch that hosts the schedule, or drive jobs from an external scheduler such as GitHub Actions or a serverless cron hitting a Postgres function.

file_fdw

Why missing: file_fdw reads files from the database server's local filesystem, which Neon's separated storage and scale-to-zero compute model doesn't expose. sslinfo is likewise unavailable because client connections terminate at the Neon proxy rather than directly at Postgres.

Alternative: Load external data through postgres_fdw against a reachable Postgres, or stage files into a table via the SQL Editor / a client-side COPY before querying.

Can you install custom extensions on Neon?

No — managed allow-list only

Neon runs an allow-list of vetted extensions: you install any supported one yourself with CREATE EXTENSION, but you cannot upload arbitrary or custom-compiled C extensions onto Neon's managed computes. pg_tle (Trusted Language Extensions) is not supported on Neon either. If you need an extension that isn't on the list, submit Neon's "Request an extension" form, open a support ticket, or ask in the Neon Discord.

Learn more

Frequently Asked Questions

How do I enable an extension on Neon?
Run `CREATE EXTENSION <name>;` from the Neon SQL Editor in the Console or any psql session — there's no per-extension toggle in the dashboard. Use the extension's internal name, which sometimes differs from the package name (`CREATE EXTENSION vector;` for pgvector, `CREATE EXTENSION "uuid-ossp";` with quotes). Verify with `SELECT extname, extversion FROM pg_extension;`.
Does Neon support pgvector?
Yes. Enable it with `CREATE EXTENSION IF NOT EXISTS vector;` — the extension's SQL name is `vector`, not `pgvector`. Once installed you can create `vector` columns and HNSW or IVFFlat indexes for similarity search, the same as on standard Postgres.
Does pg_cron work on Neon serverless with scale to zero?
pg_cron is supported but only runs while the compute is active, so scheduled jobs won't fire during a scale-to-zero suspension. To use it reliably, disable scale-to-zero (or keep the compute always on) for the branch hosting the schedule. Enabling it also requires setting `cron.database_name` on the endpoint via the Neon API and restarting the compute before `CREATE EXTENSION pg_cron;` succeeds; schedules run in UTC.
Is timescaledb fully supported on Neon?
No — Neon ships only the Apache-2 licensed edition of timescaledb, so the proprietary TSL features such as native compression and tiered storage are not available. You can still create hypertables, but calls that depend on compression will fail. For the full feature set use Timescale Cloud or self-host; on Neon, native partitioning with pg_partman is the closest in-platform option.
Can I install custom extensions on Neon?
No. Neon is an allow-list platform: you can `CREATE EXTENSION` any supported extension yourself, but you cannot upload arbitrary or custom-compiled C extensions, and pg_tle is not supported. To get a new extension added, use Neon's "Request an extension" form, open a support ticket, or ask in the Neon Discord.

Manage your Neon database with 1bench

1bench is a modern GUI client for PostgreSQL — connect to your Neon instance, install extensions, write queries, and inspect schemas without leaving the IDE.

Try 1bench for PostgreSQL