From:       To:      
Home > Documentation > DB2 to PostgreSQL

Command line version of DB2 to PostgreSQL converter

To perform batch conversion or call the tool from an automation script you can use console version of DB2 to PostgreSQL converter called B2PAGENT.EXE. Find this program in the installation folder. B2PAGENT.EXE supports the following parameters:

--db2pswd=...   DB2 user password
--db2schema=...   DB2 schema name
--db2user=...   DB2 user name
--dest=...   PostgreSQL database name
--help   display help message and exit
--logfile=...   path to the logfile where execution traces will be written
--mode=...   how to process existing PostgreSQL database (0 - overwrite the entire database, 1 - overwrite existing tables only, 2 - skip existing tables, 3 - merge)
--pgport   PostgreSQL port
--posgsh=...   PostgreSQL server IP address or network name
--posgsu=...   PostgreSQL user name
--posgsp=...   PostgreSQL user password
--profile=...   path to the file to load conversion settings from
--silent   use this option to disable program output
--skip_idx   skip converting indexes
--src=...   DB2 database name
--tab_def   convert table definitions only
--tab_file=...   file containing table names to convert (one table name per line)

In the following example the program converts all tables from tablespace "SYSTOOLS" of local DB2 database "db 1" into PostgreSQL database "db_pgs":

B2PAGENT.EXE --src="db 1" --db2schema=SYSTOOLS --db2user=scott --db2pswd=tiger 
             --dest=db_pgs --posgsh=pgshost --posgsu=administrator 

Table names file should be formatted as follows:



  1. If you specified a profile, there is no need to specify any other parameters
  2. The default mode is 'overwrite'. You can change it using '--mode' parameter
  3. If you omit 'tab_file' parameter, all tables from the specified schema will be converted
  4. Command line parameters that contain spaces should be enclosed in quotes (for example --dest="my database")