Reads the File, Not the Server
Univik works on the database file itself. The SQL Server instance can be shut down, uninstalled or long gone.
Read a Microsoft SQL Server database, load it into PostgreSQL
Move Your SQL Server Data to PostgreSQL, Even From an Offline File
Univik opens your SQL Server (MSSQL) database file directly and writes each table to CSV that PostgreSQL pulls in with the COPY command. Because it reads the file and not a live connection, the move still works when the server is gone, the database is detached or the file is corrupt.

Why Univik
Every direct MSSQL to PostgreSQL tool needs a running database. Univik works from the file, so an offline, detached or missing server is not a blocker.
Reads the File, Not the Server
Univik works on the database file itself. The SQL Server instance can be shut down, uninstalled or long gone.
CSV That Postgres Loads
Each table is written to CSV that COPY, psql or pgAdmin reads as is, with no dialect edits.
Schema You Can Rebuild
The exported script spells out every column and type, giving you a blueprint for the Postgres schema.
Handles the Whole Database
A database split across a primary MDF and several NDF files is stitched together and exported in one run.
Works on Corrupt Sources
Page level parsing lifts tables from a suspect or damaged database that a connection based tool would reject.
Read Only and Safe
Univik only reads the source. The original database stays byte for byte the same, with no chance of data loss.
The Motivation
Teams move from SQL Server to PostgreSQL for open source freedom and a powerful feature set. Here is what Postgres brings.
Free to Run
PostgreSQL is open source, so there are no core or server license fees.
Advanced Features
JSON, full text search and window functions come built in for complex work.
Standards Compliant
Strong SQL standard support keeps your queries portable across systems.
Rich Data Types
Native UUID, JSON, arrays and XML hold your SQL Server data with less loss.
Cross Platform
Postgres runs on Linux, Windows and Mac, not just Windows Server.
Cloud Ready
Managed Postgres runs on AWS, Azure, Google Cloud and more.
The Steps
From a SQL Server file to a populated PostgreSQL database in four steps.
Reference
Use this guide when you create the PostgreSQL tables. It covers the types you meet most often.
| SQL Server | PostgreSQL |
|---|---|
| int | INTEGER |
| bigint | BIGINT |
| smallint | SMALLINT |
| tinyint | SMALLINT |
| bit | BOOLEAN |
| decimal / numeric | NUMERIC |
| money | NUMERIC(19,4) |
| float | DOUBLE PRECISION |
| real | REAL |
| datetime / datetime2 | TIMESTAMP |
| datetimeoffset | TIMESTAMPTZ |
| date | DATE |
| time | TIME |
| char / varchar | CHAR / VARCHAR |
| nchar / nvarchar | CHAR / VARCHAR |
| text / ntext | TEXT |
| varbinary / image | BYTEA |
| uniqueidentifier | UUID |
| xml | XML |
Beyond Data Types
A SQL Server IDENTITY column becomes GENERATED AS IDENTITY or SERIAL in PostgreSQL, square brackets become double quotes and TOP becomes LIMIT.
Table structures and their rows follow the guide above. Procedures, views and triggers hold T-SQL that PostgreSQL will not run as is, so Univik exports them in the script as a reference while you port the logic to PL/pgSQL.
Comparison
See how it compares to tools that pipe SQL Server to PostgreSQL over a live connection.
Univik
Live Connection Tools
Data Sheet
Product details, source support and requirements.
| Product Name: | Univik SQL Server to PostgreSQL |
| Version: | 6.7 (Latest) |
| Source Files: | SQL Server MDF (.mdf), NDF (.ndf) and BAK (.bak), detached, offline, corrupt or a backup. |
| Source Versions: | SQL Server 2000 to 2025 |
| Output: | CSV for each table plus a SQL script that documents the schema. |
| Targets: | PostgreSQL, through CSV and the COPY command. |
| Platforms: | Windows 11 and 10 (64-bit), Windows Server 2016 and later. |
| Prerequisites: | .NET Framework 4.8 or higher. No SQL Server or SSMS needed. |
| License Price: | Starting from $99 Buy Now |
Help & Support
Common questions about converting SQL Server to PostgreSQL.
Univik writes your SQL Server data to CSV that PostgreSQL pulls in with the COPY command, psql or pgAdmin. Univik never touches a PostgreSQL server, so the final load is yours to run. That file first design is what lets it convert while SQL Server sits offline, something a connection based tool cannot manage.
Yes. Univik works straight off the database file on disk, so no SQL Server, ATTACH or instance is involved. Send the tables to CSV, then bring them into PostgreSQL on any machine.
Univik hands you a SQL script that records each column and its SQL Server type. Build the PostgreSQL tables from it. Typical mappings are int to INTEGER, nvarchar to VARCHAR, datetime2 to TIMESTAMP, bit to BOOLEAN, uniqueidentifier to UUID and varbinary to BYTEA. The full guide sits in the data type mapping table above.
Yes. Page level reading lifts data out of detached, offline and corrupt databases that refuse to attach. For badly damaged files, repair them with Univik SQL Database Recovery first, then export to CSV.
Tables and their rows convert cleanly. Procedures, views and triggers hold T-SQL, which PostgreSQL will not run, so you port them to PL/pgSQL by hand. Univik still exports them in the script, giving you the original logic to work from.
Univik reads source databases across the SQL Server line from 2000 to 2025, covering 2005, 2008, 2008 R2, 2012, 2014, 2016, 2017, 2019 and 2022. It picks up the version and collation from the file on its own.
No. Univik opens the source read only and never writes back to it. Every output is a fresh CSV or script file you name, which keeps the conversion safe on production data.
Still have questions? Contact support or Live Chat
Related Tools
Explore More Univik Tools