We are currently evaluating TDM, everything seems to work fine with our PostGre 8.3 server except the reverse engineering part.
I got the following error whenever I try to reverse engineer something :
Source: CS3 - Internal error
Script: REDataMigratorDBPG83
Description: ERROR: column t.typmodin does not exist
LINE 1: …id = t.typsend OR p.iod = t.typanalyze OR p.iod = t.typmodin
^
Row: 1994
Colum: 3
Callstack:
“REDataMigratorDBPG83” from package “Object RE Database for PostgreSQL 8.3”
We use : TDM 3.3.7.22
We’ve tried both Native connection and ODBC connection
the problem occur in the last step, once the tables are listed and checked, I click on the Execute button
No error message in the log area
Could you please help us fix this ? Is it related to a specific configuration of our server ?
Thanks a lot !
EDIT: I forgot to say that our PostgreSQL server is a EnterpriseDB 8.3 server I read on the net that this may make a difference for you.
I found the following on the EDB forums, but it lacks details ! :
"I recommend using Toad Data Modeler 3 withEnterpriseDB. Thank Dusty from EnterpriseDB, I found out thatEnterpriseDB are working with Quest Software to make Toad Data Modeler3 more compatible with EnterpriseDB. The software does not fullysupport EnterpriseDB but there are a few tricks to get around them. Irecommend the following in Toad Data Modeler 3:
Use Postgres Physical Model, I will show below how to declare the packages and stored procedures in TDM
In Postgres connector wizard, but use the EnterpriseDB postgresplus library (the directions in Toad to setup the library are outdated
Reverse Engineer the EDB database use the Postgres connector above, it works!
Oracle Physical Model has problems with domain variable types, still looking for a way to overcome this bug in TDM
Thanks again to Dusty from EnterpriseDB and Michael O from Control Group (NYC)"
We encounter the problem when we use PG 8.3 connection/support for connecting to PG 8.2 or PG 8.1.
How you can find it out:
Please have a look at the Log area where from the very beginning of the RE process the information on the database is written. Nevertheless, if it is PG 8.3, please send us the whole Log/Message Explorer (right-click and select Save Messages).
EnterpriseDB is available in two versions:
a) EnterpriseDB Postgres Plus 8.3
This version is compatible with PostgreSQL 8.3 and Toad Data Modeler works with it without problems, including the reverse engineering.
b) EnterpriseDB PostgreSQL Plus Advanced Srvr
This version is different in comparison with PostgreSQL 8.3. For example, in PG 8.3 (and also EnterpriseDB Postgres Plus 8.3) there are e.g. Enum data type and other parameters in definition of Base Type. The differences cause the problems during RE.
What we can suggest:
If you do need to use the EnterpriseDB PostgreSQL Plus Advanced Srvr version, we suggest to use PostgreSQL 8.2 for reverse engineering. The reason is that the EnterpriseDB PostgreSQL Plus Advanced Srvr db seems to be most similar to PG 8.2. We have tried it on our simple database and the reverse engineering worked fine.
In any case, I’ve created a CR for our developers to enhance the support for EnterpriseDB PostgreSQL Plus Advanced Srvr. (CR # 58 135).
Thanks for your patience.
You are right, we are using the advanced server version (and we need some of its functionnalities).
I will try using the PostgreSQL 8.2 definition to reverse engineer and let you know if this works.
Thanks a lot for your quick and detailed replies, this is yet another reason for us to go with TDM ! I really appreciate your efforts to find a workaround for us.
I will also discuss with EDB to know if they intend to provide you with information (they stated on their forum that they work with Quest to improve EDB support in Toad).
Advanced server is their Flagship, this would be in everyone’s interest.