page:migrate:neon database:transactional workflows
Migrate Neon database: Transactional workflows
Move PostgreSQL data from Neon database to Ample, one component at a time. Destination verified on Ample: an optimistic version check and an event row written in the same transaction, a stale update rejected, and a history query over the application-owned events (history=2 conflict=rejected).
Source procedure: Take a logical backup with pg_dump -Fc from the primary branch. Not migrated automatically: Neon branching, autoscaling and scale-to-zero semantics have no equivalent; the managed database is one instance per app.
Cutover: Freeze writes at the source with the user's go-ahead, take the final dump, restore, validate, redeploy the app with the managed DATABASE_URL, keep the Neon project until confirmed.
Rollback: keep the source untouched until you confirm; nothing at the source is changed or deleted by this guide.
Representative Queries
- Migrate Neon database: Transactional workflows
- Where can I host Transactional workflows?
- I need a component-scoped export/import or reconfiguration procedure for Transactional workflows, with compatibility checks, verification and rollback.
Resource Requirements
- Primitive: Postgres
Infrastructure Requirements
- Postgres: Managed PostgreSQL 16 runs in its own microVM and is auto-provisioned when an app needs a database and no DATABASE_URL is supplied.
Workflow Steps
Inventory the source
List what Neon database provides beyond the component you are moving. Out of scope here: Neon branching, autoscaling and scale-to-zero semantics have no equivalent; the managed database is one instance per app.Source step 1
Take a logical backup withpg_dump -Fcfrom the primary branch.Source step 2
Check the Postgres major version and extensions in use against the managed engine (PostgreSQL 16).Source step 3
Restore into a scratch managed database first and compare row counts.Provision and restore
Deploy the app once so a managed PostgreSQL 16 database exists (or create one withample database create --engine postgres), then restore the dump with pg_restore using its connection string; keep migrations idempotent.ample database create --name <name> --engine postgresValidate before cutover
Run the app's own checks and, for data, compare counts and checksums; the example checks are the pattern self-tests (/p/transactional-workflows).Cut over
Freeze writes at the source with the user's go-ahead, take the final dump, restore, validate, redeploy the app with the managed DATABASE_URL, keep the Neon project until confirmed.Rollback
Point DNS or configuration back to the source. The source was never modified; deletion is a separate, user-executed step after validation.
Examples
- Express pattern fixture (destination):
Verified destination basis: transactional workflows. Source reference:tests/deploy-canaries/express-patterns.
Success Checks
Destination app responds on its public URL
- Kind:
http_get - Path:
/ - Expect: ample canary express patterns
- Kind:
Transactional-workflows check from the destination example
- Kind:
http_get - Path:
/p/transactional-workflows - Expect: see the pattern fixture checks
- Kind:
Data or object counts and checksums match the source
- Kind:
manual - Expect: operator comparison before cutover.
- Kind:
Limitations
- Documentation only: nothing is executed automatically and no execution binding is offered.
- No full source-product parity is claimed: Neon branching, autoscaling and scale-to-zero semantics have no equivalent; the managed database is one instance per app.
Cost Estimate
- Currency: USD
- Monthly Amount: 10.0
- Components:
- App server: size
s-1vcpu-1gb, quantity 1.0, monthly amount 5.0 - Managed PostgreSQL database: size
s-1vcpu-1gb, quantity 1.0, monthly amount 5.0
- App server: size
Evidence Summary
- Destination side verified:
The Express pattern fixture deployed on Ample and its checks passed.
Next Actions
- Browse the catalog index
- Search published recipes by intent, stack and constraints
- Prepare a side-effect-free deployment plan for an authorized project
- Read the existing agent authentication setup
- Browse Neon database
- Browse Transactional workflows
- Browse Migrate Postgres