Command-line mode on macOS

Last modified: April 10, 2024

You can use Terminal to run dbForge Data Compare for PostgreSQL on a Mac.

Note

This topic describes the CLI-powered access to the functionality of dbForge Data Compare installed into a CrossOver bottle. For more information on the command-line functionality of Data Compare, refer to the corresponding topics of the documentation.

As an example, let’s see how to compare schemas of two databases from Terminal. To do that, run the following command:

/Applications/CrossOver.app/Contents/SharedSupport/CrossOver/bin/wine --bottle "dbForge_PostgreSQL" --check --wait-children --start "C:\Program Files\Devart\dbForge Data Compare for PostgreSQL\datacompare.com" /datacompare /source connection:"User Id=[yourusername];Host=[IP];Password=[yourpassword];Port=5440;Database=[database_name];Unicode=True;Connection Timeout=15;Integrated Security=False" /target connection:"User Id=[yourusername];Host=[IP];Password=[yourpassword];Port=5440;Database=[database_name];Unicode=True;Connection Timeout=15;Integrated Security=False"

In this example:

/Applications/CrossOver.app/Contents/SharedSupport/CrossOver/bin/wine

…is the command that initiates CrossOver.

--bottle 'dbForge_PostgreSQL'

…is the parameter that specifies the name of the bottle that contains dbForge Data Compare for PostgreSQL.

--check --wait-children --start

…are the options that configure the launch of the application.

"C:\Program Files\Devart\dbForge Data Compare for PostgreSQL\datacompare.com" /datacompare /source connection:"User Id=[yourusername];Host=[IP];Password=[yourpassword];Port=5440;Database=[database_name];Unicode=True;Connection Timeout=15;Integrated Security=False" /target connection:"User Id=[yourusername];Host=[IP];Password=[yourpassword];Port=5440;Database=[database_name];Unicode=True;Connection Timeout=15;Integrated Security=False"

…is the command to run the schema comparison with the specified options.

Worked example

Let us look at a worked example demonstrating how to compare the contents of two PostgreSQL databases.

/Applications/CrossOver.app/Contents/SharedSupport/CrossOver/bin/wine --bottle "dbForge_PostgreSQL" --check --wait-children --start "C:\Program Files\Devart\dbForge Data Compare for PostgreSQL\datacompare.com" /datacompare /source connection:"User Id=yourusername;Host=10.10.102.84;Password=yourpassword;Port=5440;Database=bikestores;Unicode=True;Connection Timeout=15;Integrated Security=False" /target connection:"User Id=yourusername;Host=192.168.50.37;Password=yourpassword;Port=5432;Database=bikestores_prod;Unicode=True;Connection Timeout=15;Integrated Security=False"

The data comparison process begins and finishes successfully.

Data comparison from CLI

Run a batch file

You can run not only individual commands but also generated batch files (*.bat/*.cmd files), which are to be created as usual Windows batch files.

Let’s look at an example of code for a batch file.

/Applications/CrossOver.app/Contents/SharedSupport/CrossOver/bin/wine --bottle "dbForge_PostgreSQL" --check --wait-children --start "C:\users\crossover\My Documents\compare.bat"

In this example:

/Applications/CrossOver.app/Contents/SharedSupport/CrossOver/bin/wine

…is the command that initiates CrossOver.

--bottle 'dbForge_PostgreSQL'

…is the parameter that specifies the name of the bottle that contains dbForge Studio for SQL Server.

--check --wait-children --start

…are the options that configure the launch of the application.

"C:\users\crossover\My Documents\compare.bat"

…is the parameter that specifies the path to the batch file.

Note

You can automate the launch of dbForge Studio from the command line using the standard macOS scheduler.