Register for Neon Developer Days 🚀Read More
Reference

Neon Compatibility

Neon is protocol and application-compatible with PostgreSQL. However, when using the Neon cloud service, there are some limitations that you should be aware of.

PostgreSQL versions

Neon cloud service is currently compatible with PostgreSQL 14 and PostgreSQL 15, with PostgreSQL 15 being the default version.

Permissions

Neon cloud service does not currently provide users with access permissions other than those granted to standard database owners in PostgreSQL. Therefore, Neon users cannot access replication methods, create additional users or roles from a PostgreSQL connection, or install PostgreSQL extensions other than those permitted by Neon.

Available PostgreSQL extensions

During the Technical Preview, Neon permits installing the PostgreSQL extensions shown in the following table. For extension documentation, select the extension version.

Unless otherwise noted, supported extensions can be installed from the Neon SQL Editor using CREATE EXTENSION syntax.

CREATE EXTENSION <extension_name>

For information about using the Neon SQL Editor, see Query with Neon's SQL Editor.

ExtensionExtension Version (PostgreSQL 14)Extension Version (PostgreSQL 15)Note
btree_gin1.31.3
btree_gist1.61.7
citext1.61.6
cube1.51.5
dict_int1.01.0
fuzzystrmatch1.11.1
h3_pg4.0.14.0.1
hstore1.81.8
intarray1.51.5
isn1.21.2
lo1.11.1
ltree1.21.2
pg_trgm1.61.6
pgcrypto1.31.3
plpgsql1.01.0Pre-installed with PostgreSQL.
plv83.1.43.1.4
postgis3.3.03.3.1
postgis_raster3.3.03.3.1
postgis_tiger_geocoder3.3.03.3.1Cannot be installed using the Neon SQL Editor. Use your psql user credentials to install this extension instead.
postgis_topology3.3.03.3.1
seg1.41.4
tablefunc1.01.0
tcn1.01.0
tsm_system_rows1.01.0
tsm_system_time1.01.0
unaccent1.11.1
uuid-ossp1.11.1

Neon PostgreSQL parameter settings

The following table lists Neon PostgreSQL parameter settings that may differ from the expected default.

ParameterValueNote
fsyncoffNeon syncs data to the Neon Storage Engine to store your data safely and reliably
max_connectionsThe value depends on compute size. Set to 100 for the Technical Preview.
shared_buffersThe value depends on compute size
wal_levelreplicaLogical replication is currently not supported

Note: To increase the number of permitted connections, you can enable connection pooling. For more information, see Connection pooling.

Unlogged tables

Unlogged tables are maintained on Neon compute local storage. These tables do not survive compute restart (including when compute becomes idle). This is unlike a standalone PostgreSQL installation, where unlogged tables are only truncated in the event of abnormal process termination. Additionally, unlogged tables are limited by compute local storage size.

Spill and index build handling

Certain queries in PostgreSQL can generate large datasets that do not fit in memory. In such cases, storage spills the data. In Neon, the size of compute local storage limits the ability to create large indexes or execute certain queries that generate large datasets.

Temporary tables

Temporary tables, which are stored in compute local storage, are limited by compute local storage size.

Session context

The Neon cloud service automatically closes idle connections after a period of inactivity, as described in Compute lifecycle. When connections are closed, anything defined within a session context is forgotten and must be recreated before being used again. For example, temporary tables, prepared statements, advisory locks, and notifications and listeners that were defined using the NOTIFY/LISTEN commands only exist for the duration of the current session and are lost when the session ends.

Statistics collection

Statistics collected by the PostgreSQL cumulative statistics system are currently not saved when the Neon compute node is suspended due to inactivity or restarted. For information about the lifecycle of a Neon compute, see Compute lifecycle.

Edit this page
Was this page helpful?