Convert SQL Server to PostgreSQL.

DBConvert / DBSync database migration software automates the conversion and synchronization of your data from Microsoft SQL Server to PostgreSQL and vice versa. Transfer the database schema, all data, or select only the required data set during the configuration pass in an easy-to-use, wizard-style graphical interface.

Why Migrate from MS SQL Server to PostgreSQL?

  1. The main advantage of PostgreSQL over SQL Server is the licensing cost. PostgreSQL is completely free, and the cost of an MSSQL server depends on the number of users and the size of a database.
  2. SQL Server from Microsoft is a proprietary database instead of PostgreSQL, which is developed and maintained by a global community of open source developers and companies.
  3. Another good reason to try Postgres from a DBA perspective is high availability. If you have any requirements (HA) and cannot afford even a standard SQL Server edition license, go Postgres.
  4. Cross-platform support was another PostgreSQL advantage until Microsoft released SQL Server for Linux in 2017. Both database engines are now available for Windows and Linux. For other deployment scenarios, you can use Docker containers and database clusters on Kubernetes.

Although Microsoft SQL Express is free, it is heavily limited compared to other editions of SQL Server. So if the pricing is an issue, then you should switch to PostgreSQL.

Data type Mapping.

MS SQL Server and PostgreSQL databases are ANSI-SQL compliant. But there are still differences between SQL syntax, data types, and case sensitivity. Mapping data types from SQL Server to PostgreSQL manually isn't all that trivial. Built-in data mapping in DBConvert tools helps to map SQL Server data types to Postgres data types automatically. Besides, there is a manual way to map data types.

Disadvantages of some open-source tools.

While there are some free open source solutions like Pgloader or Sqlserver2pgsql, there are some drawbacks to using them.

  • These are command-line utilities, so they don't have a graphical interface. For those who are intimidated by the terminal, they are not easy to use.
  • These tools are limited to one-way migrations where PostgreSQL can be configured as a destination.

Six reasons to use DBConvert for migrating from SQL Server to PostgreSQL?

  1. DBConvert tools are highly customizable and allow you to quickly and easily export data from SQL Server to Postgres using a comprehensive graphical interface. The DBConvert apps guide you through a few steps, from connecting to the source and target databases, configuring many parameters, and scheduling subsequent launches.
  2. In any combination, data conversion and synchronization between the following databases are possible:
  3. The new DBConvert parallel migration mechanizm is optimized to take full advantage of modern multi-core processors. That speeds up data migration between databases by splitting tables into multiple parts and processing them in parallel.
  4. DBSync software keeps your databases in Sync with Update, Insert, and Drop synchronization features.
  5. Bi-directional synchronization helps to update data in both source and destination databases simultaneously.
  6. Trigger-based Synchronization algorithm is developed to accurately analyze the destination database data and instantly track changes in both databases. The trigger-based sync method increases recurrent synchronization speed in times.
Supported databases:
  • Microsoft SQL Server
  • PostgreSQL
  • CockroachDB
  • SQL Azure
  • Amazon RDS
  • Heroku Postgres
  • MS SQL Dump
  • PostgreSQL Dump
  • PHP Script
 DBConvert for MSSQL & PostgreSQL

Version: 3.6.6

Release Date: Sept. 9, 2022

 DBSync for MSSQL & PostgreSQL

Version: 2.9.7

Release Date: Oct. 18, 2022

Try All-in-one DB migration and Sync software.

DBConvert Studio

 Version: 3.4.4

Release Date: Sept. 16, 2023

Supported databases:

  • SQL Server
  • MySQL
  • MariaDB
  • Percona
  • Oracle
  • PostgreSQL
  • Access
  • FoxPro
  • SQLite
  • Interbase
  • Firebird
  • IBM DB2
  • MS Azure SQL
  • Amazon RDS
  • Amazon Aurora
  • Heroku Postgres
  • Google Cloud

Using SQL Server to PostgreSQL conversion and synchronization tools.

When you start DBConvert or DBSync application in GUI mode it guides you through several steps to set up the database migration or synchronization:

1. Connect to SQL Server source database.

If a source database requires you to log in, you can specify a user name/ password and host/ port parameters.

Connect to SQL Server source database from DBConvert

2. Connect to PostgreSQL destination database.

Specifying parameters for destination database looks like the same as for source. Usually, it consists of defining connection settings and username/password pairs.

Connect to PostgreSQL target database from DBConvert

NOTE #1: Every DBConvert or DBSync tool has two different databases in its name. That means any specified database from a pair can be set up as a source or destination. Besides, the same type of database may be set up both as a source or destination.

As an example, here is the list of possible migration directions with on-premises databases:

  • SQL Server to PostgreSQL
  • PostgreSQL to SQL Server
  • SQL Server to SQL Server
  • PostgreSQL to PostgreSQL

NOTE #2: Don't be confused by the fact that connections to cloud databases like Amazon RDS, Google Cloud, and Heroku are not explicitly specified in the configuration of a source or destination in the DBConvert / DBSync interface. To connect to Cloud database instances, use the same settings as you do for traditional on-premises databases.

NOTE #3: Your connections to source and target databases stay active until you close DBConvert/ DBSync application or reopen new connections on "source" and "destination" steps.

Read more about the specific source/ destination configurations for different databases.

3. Configure database migration options.

At the next step, you can specify precisely which tables, fields, indices, views you want to transfer to the PostgreSQL destination database. Just check/ uncheck the box in front of each database object you want to convert.

Customize general database/ tables settings. Or set up a particular table , field, index individually when migrating data from SQL Server to PostgreSQL.

Check out our articles about Configure database migration options. for detailed information.

The screenshot below sums up general features available in DBConvert software solutions.

4. Detection of potential database migration issues. Errors and Warnings

The database typically constrains certain relations on the data that cannot be violated. On the customization step, a smart error checker verifies all possible Data integrity and Referential integrity issues and highlights them, if any, before performing a migration.

By default, DBConvert tries to automatically map the database types of the source SQL Server database to the closest equivalent of the target PostgreSQL database types. However, you can manually change the data types for the entire database globally using the "Global mapping" or individually for each field.

Check out Smart error checker. Errors and Warnings for more information.

5. Execution. The final stage of data migration from SQL Server to PostgreSQL

Once you configure source and destination databases for migration in the previous steps, you can start the actual conversion or synchronization process.

Click the "Commit" button to start conversion. Also, here, you can monitor the migtation/ synchronization process.

Optionally save connection settings and configuration parameters into the session file to schedule the launching of sync or migration jobs regularly.

Execution step of DBConvert products

Read more about execution stage available options.

Command line mode

Previously saved sessions can be passed as parameters to Command-Line DBConvert Client. A session keeps SQL Server source and PostgreSQL target database connection settings with other specified options.

Example: C:\Program Files\DBConvert\mssql2postgresqlPro\mssql2postgresqlPro_Cons.exe /Session:"Session_Name"

NOTE: First, you have to run the software in GUI mode to create a session file with initial parameters.

Built-in scheduler.

Our applications come with a built-in scheduler to run database migration and sync jobs at specified times. Just set the scheduled date and time to execute job sessions automatically.

Find more Information about built-in scheduler

DBConvert screenshot

Supported OS:

Requirements

  • Necessary privileges to write into database on the target PostgreSQL server (this requirement is optional as there is an option to overcome the restrictions using dump file or PHP Script)
  • Necessary privileges to write into database on the target SQL Server (this requirement is optional as there is an option to overcome the restrictions using dump file)

Highlights

Read information about reverse migration.