Docs
Migrations

Importing from another Postgres

Move an existing database from Neon, Supabase, RDS, or any Postgres into Silos.

If you already run Postgres somewhere — Neon, Supabase, RDS, PlanetScale's Postgres, or a self-hosted server — you can bring that database into Silos. Because Silos is real PostgreSQL speaking the standard wire protocol, the proven, source-agnostic path is a logical dump from your current database restored into a Silos database.

Dedicated, one-click importers for specific platforms are an evolving capability. The reliable path available today is the standard pg_dump / psql flow described below and on the pg_dump import page — it works from any Postgres source.

The general approach

Create a destination database in Silos

Create the target database (Console, CLI, or API) so you have a connection string to restore into. See Create your first database.

Dump your source database

Use pg_dump against your existing Postgres to produce a portable dump. See pg_dump import for the exact commands.

Restore into Silos

Load the dump into your Silos database with psql (or pg_restore for the custom format). Then point your application's connection string at Silos.

Verify, then cut over

Check row counts and run your app against the Silos database — ideally against a branch first — before switching production traffic.

Source-specific notes

These platforms are all standard Postgres, so the dump-and-restore path applies uniformly. A few things to keep in mind:

  • Connection strings. Get your source database's pg_dump-ready connection string from that platform's console. You'll find Silos's connection string in the Console or via silos db connection-string.
  • Extensions. Confirm the extensions your schema uses are available in the Silos WASM runtime before importing — some heavyweight extensions (e.g. TimescaleDB, Citus) are not. See Extensions.
  • Roles and ownership. Dumps can reference roles that don't exist in the target. Restoring with --no-owner avoids ownership errors; see pg_dump import.
  • Large datasets. For big databases, dump and restore can take time. Test the process on a subset or a branch first.

Validate on a branch or a throwaway database before importing into anything you care about. Confirm row counts and that your application's queries behave as expected.

Next steps

On this page