Migrate from NeonDB
Switch from NeonDB's serverless model to PhoenixDB's always-on databases.
Why Switch from NeonDB?
No Cold Starts
NeonDB's scale-to-zero causes cold start delays. PhoenixDB is always on.
Predictable Costs
No CU-hour billing. Simple flat monthly pricing.
Consistent Performance
No autoscaling fluctuations. Steady, reliable performance.
1Get Your NeonDB Connection String
In the Neon Console, go to your project and copy the connection string:
postgresql://user:password@ep-xxx-xxx-123456.us-east-2.aws.neon.tech/neondb?sslmode=require2Create a PhoenixDB Database
If you haven't already, create a new database in your PhoenixDB dashboard:
Go to Dashboard3Export from NeonDB
Use pg_dump with your NeonDB connection string:
pg_dump -Fc -v \ "postgresql://user:password@ep-xxx-xxx-123456.us-east-2.aws.neon.tech/neondb?sslmode=require" \ > neon_backup.dump
4Import to PhoenixDB
Restore the dump to your PhoenixDB database:
pg_restore -v --no-owner --no-acl \ -h abc123.server1.phoenixdb.space \ -U postgres -d mydb neon_backup.dump
--no-ownerSkip original ownership (Neon uses different roles)
--no-aclSkip access privileges from Neon
5Update Your Application
Replace your NeonDB connection string with your PhoenixDB connection string:
Before (NeonDB):
DATABASE_URL="postgresql://user:pass@ep-xxx.neon.tech/neondb?sslmode=require"After (PhoenixDB):
DATABASE_URL="postgresql://postgres:pass@abc123.phoenixdb.space:5432/mydb?sslmode=require"Migration Notes
- NeonDB extensions (like pgvector) are supported if you installed them on PhoenixDB
- Branching features don't carry over (PhoenixDB uses a different model)
- Database roles: PhoenixDB uses "postgres" as the main user
Test Before Switching
Test your application with the new PhoenixDB connection before disabling NeonDB. Keep NeonDB running until you've verified everything works.