Automate schema migrations using DizzleORM and GitHub Actions - Manage thousands of tenants with this workflow

Changelog

The latest product updates from Neon

Branch restore with Time Travel Assist

We are thrilled to announce the full launch of our Branch Restore feature with Time Travel Assist, now available for all users.

Using the new Restore page in the Neon Console, or the branches restore command in the Neon CLI, you can easily restore a branch to an earlier state in its own or another branch's history. From the Restore page in the Neon Console, you can also use Time Travel Assist to connect to a specific point in your history retention window, letting you run read-only queries against the point-in-time connection to pinpoint the exact moment you need to restore to, or perform other troubleshooting from your data's history.

Read more about the different types of restore operations available, as well as how to use Time Travel assist, on our documentation page for the feature: Branch restore. You can also follow along with a sample restore from history operation in our blog post, Announcing Point-in-Time Restore, or go for a deeper dive into the technical underpinnings of the feature in Point In Time Recovery Under the Hood in Serverless Postgres.

New Pricing Plans

New pricing plans went into effect earlier this week. This was a significant change with a lot of effort behind the scenes and out front to get it right. We added two new pricing plans, Launch and Scale, bringing us to four different plans to choose from: Free Tier, Launch, Scale, and Enterprise. Visit our Pricing page to learn about the features, allowances, and pricing details for each plan. For an overview of how billing works for these plans, start here.

We know this is a big change. For a rationale about the thinking that went into it, read this blog post, Making pricing more predictable, by our co-founder, Stas Kelvich.

Autoscaling graphs for better observability

Getting better visibility into how your compute scales up and down based on actual usage has been a highly requested feature for our paying users. As a step towards improving monitoring and observability in the Neon Console, we are introducing a new Autoscaling graphs usage visualization tool, available now for all paying users with autoscaling enabled.

To access this view, open a branch from Project → Branches, or from the new Branch → Overview page, and edit the branch's Compute.

Autoscaling graph

New navigation in the Neon Console

We've also made big changes to how you find your way around your projects and branches in the Neon Console. First, we separated our sidebar links into easier-to-understand categories: Project, Branch, and Resources. You can find actions related to either Project or Branch under each label, with support options grouped under Resources.

We also added a more dynamic breadcrumb, with selectors letting you switch between projects and branches, depending on where you are in the Neon Console. This short clip shows you how the navigation works, as well as how to get to the new autoscaling graphs for a selected branch's compute.

Some other nice updates include:

  • Added bold page titles to more easily identify which page you are on as you move through the Neon Console. If you click through to the Operations page or Integrations page for example, through whatever path you take to get there, you'll better know where you are.
  • We've moved your profile avatar to the header of the page, giving you easier access to your account settings and API keys.

Neon Vercel Integration improvements

The following changes were made to the Neon Vercel Integration:

  • To ensure that users accessing a Neon database from a serverless environment have enough connections, the DATABASE_URL and PGHOST environment variables added to a Vercel project by the Neon integration are now set to a pooled Neon connection string by default. Pooled connections support up to 10,000 simultaneous connections. Previously, these variables were set to an unpooled connection string supporting fewer concurrent connections.

    For tools or applications that require a direct database connection, we added two new environment variables that are set to an unpooled connection string: DATABASE_URL_UNPOOLED and PGHOST_UNPOOLED. If necessary, you can configure the Neon Vercel Integration to use these variables. See Manage Vercel integration settings. for more information.

    For information about "pooled" vs "unpooled" connections in Neon, see Connection pooling.

  • Adjustments were made to ensure that the integration correctly branches from the default branch of your Neon project after changing the default branch.

  • Resolved a problem encountered during the Neon Vercel Integration setup that caused inconsistencies in the branch, roles, and databases displayed when selecting a Neon project.

  • Improved reliability in keeping environment variables set by the Neon Vercel Integration synchronized with those set in your Vercel project.

To learn more about the Neon Vercel Integration, see Connect with the Neon Vercel Integration.

Prisma: One connection to rule them all

Connecting to Neon is simplified with Prisma ORM 5.10.0 or higher. You can now use a single pooled connection string when connecting from Prisma to your Neon database. Previously, to use connection pooling with Neon, you had to configure two connections: a pooled database connection for Prisma Client and a direct database connection for Prisma Migrate (using Prisma’s directUrl datasource field). Additionally, you no longer have to append a pgbouncer=true option to a pooled Neon connection string.

The simplified configuration looks similar to this:

schema.prisma file:

datasource db {
  provider = "postgresql"
  url   = env("DATABASE_URL")
}

.env file:

# Pooled Neon connection string
DATABASE_URL="postgresql://alex:AbC123dEf@ep-cool-darkness-123456-pooler.us-east-2.aws.neon.tech/dbname?sslmode=require"

Support for pg_ivm

We've introduced support for the pg_ivm extension in Neon, offering an efficient way to maintain materialized views using Incremental View Maintenance (IVM). With IVM, only the changes since the last refresh are added to the materialized view instead of recomputing the entire view. This can lead to significant performance improvements, especially when you have frequent updates affecting only a small portion of your data.

For more information about the extension, see pg_ivm. For a full list of extensions supported in Neon, see Supported Postgres extensions.

Fixes & improvements

  • As part of the overall move to new pricing plans, the history retention period for Free Tier users is now 1 day. Previously, it was 7 days.
  • Fixed an issue that sometimes prevented users from successfully logging in using neonctl auth. Previously, if you were not logged in to the Neon Console, authentication via the CLI would sometimes fail. Read more about web authentication on the CLI Install page.
  • Added new Grafbase and Outerbase cards to the Integrations page. If you're interested in either of these, head to the Integrations page and click Request to add your vote.
  • Various improvements to the SQL Editor, including improved pagination for large result sets and the ability to cancel an in-progress query using the Escape key.
  • Fixed an issue with some Safari browser versions where disabled inputs were rendered invisible (instead of just greyed out).
  • Reaching the max_connections limit in your Postgres instance now results in a human-readable error message, with a suggestion to increase the minimum vCPU for your compute endpoint. Previously, the server just kept silently retrying the connection until timeout or a cancelation request.
  • When creating a new project, items in the Region selector are now grouped by continent to make it easier to find individual regions.
  • Under Account Settings, you can now manage your password settings from a dedicated new Password section instead of from the Profile section.
  • Fixed an issue that sometimes caused email change operations to fail.
  • Fixed an issue where changing the default minimum and maximum compute sizes for autoscaling sometimes failed to save.

What's new in docs?

A new Monitoring page that gives an overview of what kinds of monitoring and observability tools and features are available in Neon right now. Expect this page to get regular updates as we add more observability features.

We have several new guides for you to check out this week:

We also added documentation for the Postgres extension pg_prewarm, used to preload data into the Postgres shared buffer cache.

Back to all changelog posts