This upgrade only applies to development databases. Production databases used by your deployed apps are not affected.
What’s changing
The upgrade moves your development database from Neon’s infrastructure to Helium, which runs directly on Replit’s platform. Here’s what that means for you:- Lower latency: Your database runs on Replit infrastructure alongside your app, reducing connection times
- More storage: Your storage limit increases from 10 GB to 20 GB
- Same database engine: Helium uses PostgreSQL 16, the same version as Neon — your queries, schemas, and data work the same way
- Seamless connection: Your
DATABASE_URLenvironment variable is automatically updated to point to Helium - Neon connection saved: Your previous Neon connection string is saved as
NEON_DATABASE_URLin your Secrets for reference, though the Neon database itself is disabled after the upgrade
What to expect during the upgrade
The upgrade runs automatically when you open your Replit App in the Workspace.- A progress screen appears with the message “Upgrading your database”
- Your data is securely copied from Neon to Helium. No data is changed or lost during transfer.
- The duration depends on your database size — it can take anywhere from a few minutes to a few hours for large databases
- You can keep the tab open or close it and come back later
- When the upgrade completes, a confirmation dialog appears: “We’ve upgraded your database!”
If the upgrade encounters an issue, it is automatically skipped so you can keep working. The upgrade will retry the next time you open your app.
What to do after the upgrade
For most builders, no action is required. Your app continues to work as before. Review the following if any apply to your app:-
Hardcoded Neon connection strings: If your code directly references a
neon.techconnection string, update it to use theDATABASE_URLenvironment variable instead —process.env.DATABASE_URLin JavaScript oros.environ['DATABASE_URL']in Python. See Connect your app to a SQL database for examples. - Custom PostgreSQL roles: If you created custom database roles on Neon, those roles and their permissions are migrated automatically. However, role passwords cannot be copied — you will need to reset passwords for any custom roles on the new Helium database.
-
Individual PG environment variables: The
PGHOST,PGPORT,PGUSER, andPGPASSWORDenvironment variables are removed after the upgrade. Use theDATABASE_URLconnection string instead, which contains all the information needed to connect.
Troubleshooting
SSL connection errors after the upgrade
After the upgrade, you may see connection errors likeThe server does not support SSL connections or the socket disconnecting unexpectedly. This happens when your database connection code forces an SSL handshake. Neon required SSL for all connections, but Helium runs locally alongside your app and does not use SSL.
To fix this, make the SSL setting in your database connection conditional on the environment. This ensures your app connects without SSL in development (Helium) and with SSL in production (where your production database may still require it).
Frequently asked questions
Is my data safe during the upgrade?
Is my data safe during the upgrade?
Yes. Your data is copied from Neon to Helium — it is not moved or deleted during the transfer. The original Neon database is preserved until the upgrade completes successfully. No data is changed or lost.
Can I skip or delay the upgrade?
Can I skip or delay the upgrade?
The upgrade runs automatically when you open your Replit App. If it encounters any issue, it is automatically skipped and you can continue working normally. The upgrade will be retried the next time you open the app.
The upgrade failed. What should I do?
The upgrade failed. What should I do?
If the upgrade fails, it is automatically skipped so you can keep using your app with the existing Neon database. The system will retry the upgrade the next time you open your app. If the issue persists across multiple attempts, contact support for assistance.
Why did my environment variables change?
Why did my environment variables change?
After the upgrade,
DATABASE_URL points to your new Helium database instead of Neon. Your previous Neon connection string is saved as NEON_DATABASE_URL in your app’s Secrets. If your code uses DATABASE_URL to connect, no changes are needed — the variable is updated automatically.What happened to PGHOST, PGPORT, PGUSER, and PGPASSWORD?
What happened to PGHOST, PGPORT, PGUSER, and PGPASSWORD?
These individual environment variables are removed after the upgrade. Helium provides your connection details through the
DATABASE_URL environment variable, which contains all the information your app needs to connect. Update any code that references these individual variables to use DATABASE_URL instead.Can I still access my old Neon database?
Can I still access my old Neon database?
Your previous Neon connection string is saved as
NEON_DATABASE_URL in your app’s Secrets for reference. However, the Neon database endpoint is disabled after a successful upgrade and the Neon project is permanently removed after a 7-day retention period. You cannot connect to the old Neon database after the upgrade completes.Does this affect my deployed or production app?
Does this affect my deployed or production app?
No. This upgrade only applies to development databases. Production databases used by your deployed apps are managed separately and are not part of this upgrade.
Next steps
- Database: Learn about the Replit Database tool and how to manage your database
- Production Databases: Understand how production databases differ from development databases
- Connect your app to a SQL database: Code examples for connecting to your database