Docs/Import/From NeonDB

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=require

2Create a PhoenixDB Database

If you haven't already, create a new database in your PhoenixDB dashboard:

Go to Dashboard

3Export 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-owner

Skip original ownership (Neon uses different roles)

--no-acl

Skip 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.