Show real Postgres data types in Visio Database Model Diagram

manniongeo 6 Reputation points
2022-06-27T21:47:37.333+00:00

I am using:

  • Visio 2019
  • Database Model Diagram template
  • Reverse Engineer Wizard
  • Official PostgreSQL psqlODBC driver (13.02.0000)

Reverse engineering an existing database generally works, except for the data types. Specifically, Visio:

  1. Seems to force the use of some generically-named data types
  2. Maps almost everything from the source database to the same data type ( LONGVARBINARY ) instead of its closest generic type

In more detail, when running the Reverse Engineer Wizard, the only choices I have for ODBC drivers are Microsoft SQL Server, Oracle Server, and ODBC Generic Driver:

215457-image.png

When I view the ODBC Generic Driver option, I can see my Postgres driver in there:

215512-image.png

I can create a DSN using that driver, then use the DSN in Visio to reverse engineer the database.

The problem is that the resulting diagram doesn't use the native Postgres data types (or even their ANSI equivalents) - and virtually every column comes over as a LONGVARBINARY:

215458-image.png

We're not using anything fancy on the Postgres side. This document table, for example, has columns of the following type:

  • character varying (16)
  • character varying (128)
  • character varying (256)
  • text
  • uuid

I'm willing to do some hand-jamming to get things to look right, but there doesn't appear to be a way to force Visio to use the data types I want. I tried using the Visio "user-defined types" feature, but it still displays the data types that Visio thinks are "native" for generic ODBC drivers (plus it takes like 50 clicks per column to set the user-defined type).

My question is:

QUESTION: Is there any way to show native Postgres data types in a Visio 2019 Database Model Diagram, even if I have to force the names by hand?

Thanks.

Microsoft 365 and Office Visio For business Windows
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.