SQL Server → PostgreSQL migration
Move a SQL Server schema to PostgreSQL.
DiffyPick compares a SQL Server database against a PostgreSQL one and generates the PostgreSQL DDL for the table and column structure — the groundwork for leaving SQL Server behind.
Leaving SQL Server
Teams move off SQL Server for cost and licensing all the time, and PostgreSQL is the usual destination. The schema is the first thing that has to come across.
DiffyPick maps SQL Server types and structure to PostgreSQL automatically, and shows you the exact DDL before it runs.
How it works
Connect both sides
Point DiffyPick at your SQL Server source and a PostgreSQL target — a fresh, empty database is fine.
Compare
DiffyPick maps SQL Server types to PostgreSQL equivalents and lists every table and column as a diff.
Review and generate
Preview the PostgreSQL DDL statement by statement, pick what to apply, then export it or run it.
What converts
Tables and columns, with types mapped to PostgreSQL: NVARCHAR to text or varchar, DATETIME2 to timestamp, BIT to boolean, UNIQUEIDENTIFIER to uuid, IDENTITY preserved.
Primary keys, indexes and foreign keys come across as part of the structure.
Engine-specific objects — T-SQL procedures and functions, CLR types and the like — are out of scope. DiffyPick moves the structure, not the logic.
What to keep in mind
- Data is not converted here. DiffyPick migrates the structure; move the rows separately, and note that cross-engine value conversion has limits.
- Engine-specific features do not carry over. SQL Server-only types and objects are approximated or skipped, and flagged in the diff.
- Back up first. Cross-dialect sync uses drop-and-add for mismatches, so back up anything you care about before running.
Start your move off SQL Server.
Free for SQLite; connect SQL Server and PostgreSQL on a paid plan. No account needed to start.