I am a big fan of Postgres both for its price but also for its features. I am going to have to need to upload into it both Oracle dump and SQL Server files. I will try to ask and beg for plain .csv for schema DDL but I suspect that I will be given dmp files.

Is there a tool, most preferably open source one, that would allow me to read, profile and possibly load Oracle/SQL Server files into Postgres?

closed as off-topic by Paul White, Philᵀᴹ, dezso, Taryn, Aaron Bertrand Jan 26 '15 at 14:39

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Shopping list question - questions about which tool, library, product or resource you should use are off-topic here because they quickly become obsolete and often are just about the preferences of the answerer. If you have an issue with or a question about a specific tool, please revise your question to conform to that scope." – Paul White, Philᵀᴹ, dezso, Taryn, Aaron Bertrand
If this question can be reworded to fit the rules in the help center, please edit the question.

  • have a look at wiki.postgresql.org/wiki/… that list various tools. I did not find any tools that will allow you to read, profile and load Oracle/SQL server databases into Postgre. – Kin Shah May 8 '13 at 20:45
  • 1
    An Oracle dump file is a proprietary format which is not readable by anything else then Oracle. You will not find any tool that can read an Oracle dump file directly into Postgres (And I guess the same is true for SQL Server). You should export the data as plain text ("csv") files. Those can easily be imported into Postgres. – a_horse_with_no_name May 8 '13 at 22:33
  • 2
    an alternative option for SQL Server would be to create a linked server. another alternative would be an ETL tool like Pentaho's Kettle product to move data between servers. – swasheck May 8 '13 at 22:35

Your question is confusing. Are you looking for an ETL tool? Most connect to heterogeneous sources (i.e. Oracle, SQL Server, flat files, etc.) These tools also allow you to examine the structure of the source system. Informatica and SSIS are two that come to mind. Profiling data may take some manual effort via queries in the source system.

When you say plain txt for DDL: Any RDBMS will allow you to export the DDL of tables. .sql files should be usable, but be aware of datatype differences between RDBMS.

If you are provided dumps or backups you must restore the backups or dumps into the appropriate RDBMS. From the restored databases you will be able to design an ETL into Postgres. Your ETL could be as simple as dump all the source tables to CSV files. Oracle and SQL Server both have excellent command line export utilities.


You might use oracle datamodeler (it is free and multiplatform). You can run it againt the source database and design the current model. Then you can automatically extract DDL and run them against Oracle or SQLServer. It should works but due to differences across database you may have to manually review the DDLs.

  • Ste, do you know if oracle datamodeler could import dmp files? – Edmon May 22 '13 at 13:23
  • @Edmon no it cannot. DMP files can be imported only into an oracle DB. It's a binary proprietary format. – Ste May 22 '13 at 14:38
  • 1
    Now how does this answer the question? Oracle/SQL Server dumps into PostgreSQL, that was it. – dezso Jun 21 '13 at 7:41

Not the answer you're looking for? Browse other questions tagged or ask your own question.