▲ Vercel Integration now GA - Create a database branch for every preview deployment, automatically.Learn here

Changelog

The latest product updates from Neon

RSS feed

Fixes & improvements

  • Proxy: Enabled channel binding in the Neon proxy, which is an additional security measure that ties the authentication process (using SCRAM) to the specific secure communication channel, protecting it from advanced types of cyberattacks where the attacker is able to intercept and mimic secure communication channels.

Fixes & improvements

  • Compute: Neon has introduced a new pre-installed "neon" extension, which includes functions and views designed to gather Neon-specific metrics. The metrics are intended for use by the Neon team for the purpose of enhancing our service. The views are owned by a Neon system role (cloud_admin), but you are able to view them by connecting to the postgres database using psql and executing the command \dv neon.*, as shown below. At present, the extension includes two views for local file cache metrics. We may incorporate additional views in future releases.

    psql 'postgresql://alex:AbC123dEf@ep-cool-darkness-123456.us-east-2.aws.neon.tech/postgres?sslmode=require'
    
    postgres=> \dv neon.*
                List of relations
    Schema |      Name      | Type |    Owner    
    --------+----------------+------+-------------
    neon   | local_cache    | view | cloud_admin
    neon   | neon_lfc_stats | view | cloud_admin
    (2 rows)
  • Compute: Creating a database with the neon_superuser role, altering a database to have owner neon_superuser, and altering the neon_superuser role itself are no longer permitted. The neon_superuser role is a NOLOGIN role used by Neon to grant prvileges to PostgreSQL roles created via the Neon Console, CLI, or API, and is not intended to be used directly or modified. For more information about this role, see The neon_superuser role.

Support for pgvector 0.5.1

The pgvector extension for vector similarity search in Postgres was updated to a newer version.

Postgres extensionOld versionNew version
pgvector0.5.00.5.1

The new version of pgvector improves HNSW index build performance. For other updates, refer to the pgvector changelog.

If you installed this extension previously and want to upgrade to the latest version, please refer to Update an extension version for instructions.

For a complete list of Postgres extensions supported by Neon, see Postgres extensions.

Postgres extension update

The following Postgres extension was updated to a newer version:

Postgres extensionOld versionNew version
plpgsql_check2.4.02.5.3

If you installed this extension previously and want to upgrade to the latest version, please refer to Update an extension version for instructions.

For a complete list of Postgres extensions supported by Neon, see Postgres extensions.

Fixes & improvements

The following items affect the Neon serverless driver, which is a low-latency Postgres driver for JavaScript and TypeScript that allows you to query data from serverless and edge environments over HTTP or WebSockets in place of TCP:

  • Proxy: Increased the maximum request body size for SQL requests over HTTP from 1 MB to 10 MB.
  • Proxy: Added a 15 second proxy timeout for SQL requests over HTTP for handling of long running queries.

For more information about our serverless driver, see Neon serverless driver.

Postgres extension updates

The following Postgres extensions were updated to a newer version and are now supported with Postgres 16:

Postgres extensionOld versionNew version
pg_jsonschema0.1.40.2.0
pg_graphql1.1.01.4.0
pgx_ulid0.1.00.1.3

If you installed these extensions previously and want to upgrade to the latest version, please refer to Update an extension version for instructions.

Additionally, the pg_tiktoken extension is now supported with Postgres 16.

For a complete list of Postgres extensions supported by Neon, see Postgres extensions.

Fixes & improvements

  • Compute: Fixed an issue that caused an invalid database state after a failed DROP DATABASE operation.

We are sunsetting pg_embedding in favor of pgvector

Neon's pg_embedding extension was the first to introduce the Hierarchical Navigable Small World (HNSW) index to Postgres, but with the recent addition of HNSW to pgvector, we see little benefit to the Postgres community in continuing to develop a separate vector search extension.

After careful consideration, we believe it is in the best interest of our users and the broader Postgres community to sunset pg_embedding and continue our effort in the vector search space by contributing to pgvector.

As a result, we will no longer be committing to pg_embedding and will direct our efforts toward pgvector instead.

For anyone currently using pg_embedding, you will be able to continue using it on Neon. However, we strongly encourage you to migrate to pgvector. You can find the migration instructions in our documentation. See Migrate from pg_embedding to pgvector.

For more about our decision to sunset pg_embedding and what comes next for Neon in the vector search space, please refer to our blog post: We’re sunsetting pg_embedding in favor of pgvector.

Fixes & improvements

  • Compute: With the announcement regarding sunsetting of pg_embedding, Neon no longer permits new installations of the pg_embedding extension.
  • Proxy: The timing of connection retries from the Neon proxy was adjusted to reduce connection wait times. The previous retry timing configuration could have resulted in making clients wait hundreds of milliseconds longer than necessary.

Support for Postgres 16

Neon is pleased to announce support for Postgres 16. To use Postgres 16 with Neon, create a new Neon project and select 16 as the Postgres version. See Create a project for instructions.

Postgres 16 Create project

To migrate data from an existing Neon project to one created with Postgres 16, refer to the dump and restore procedure described in Import data from another Neon project.

As with any database migration, always test thoroughly before migrating production systems or applications. Also, we recommend familiarizing yourself with the changes in Postgres 16, especially those affecting compatibility. For information about those changes, please refer to the official Postgres Release 16 documentation.

Postgres extension updates

The following Postgres extensions were updated to a newer version:

Postgres extensionOld versionNew version
address_standardizer3.3.23.3.3
address_standardizer_data_us3.3.23.3.3
h34.1.24.1.3
h3_postgis4.1.24.1.3
hll2.162.18
hypog1.3.11.4.0
ip4r2.4.12.4.2
plcoffee3.1.53.1.8
plls3.1.53.1.8
plpgsql_check2.3.02.4.0
postgis3.3.23.3.3
postgis_raster3.3.23.3.3
postgis_sfcgal3.3.23.3.3
postgis_tiger_geocoder3.3.23.3.3
postgis_topology3.3.23.3.3

If you installed these extensions previously and want to upgrade to the latest version, please refer to Update an extension version for instructions.

For a complete list of Postgres extensions supported by Neon, see Postgres extensions.

Support for custom-built Postgres extensions

Neon now supports custom-built Postgres extensions for exclusive use with your Neon account. If you developed your own Postgres extension and want to use it with Neon, please reach out to us. For more information, see Custom-built extensions.

Support for AWS Data Migration Service (DMS)

You can now migrate data to Neon using the AWS Data Migration Service (DMS). Previously, a connection limitation prevented defining Neon as a target database endpoint. For data migration instructions, please refer to Migrate with AWS Database Migration Service (DMS).

Fixes & improvements

Neon uses the compute endpoint domain name to route incoming client connections. For example, to connect to the compute endpoint ep-mute-recipe-239816, we ask that you connect to ep-mute-recipe-239816.us-east-2.aws.neon.tech. However, the Postgres wire protocol does not transfer the domain name, so Neon relies on the Server Name Indication (SNI) extension of the TLS protocol to do this. Unfortunately, not all Postgres clients support SNI. When these clients attempt to connect, they receive an error indicating that the "endpoint ID is not specified".

Neon supports connection workarounds for this limitation, one of which uses a special endpoint connection option that allows you to specify a compute endpoint ID in an application's password field. Instead of specifying only a password, you provide a string consisting of the endpoint option and your password, separated by a semicolon. For example:

endpoint=<endpoint_id>;<password>

However, some client applications do not permit semicolon characters (;) in a password field. For these clients, Neon now supports using a dollar sign character $ as the delimiter:

endpoint=<endpoint_id>$<password>

For more information about this connection workaround, refer to our connection errors documentation.

Edit this page
Was this page helpful?