SchemaCrawler is a free database schema discovery and comprehension tool. SchemaCrawler has a good mix of useful features for data governance. You can search for database schema objects using regular expressions, and output the schema and data in a readable text format. The output serves for database documentation, and is designed to be diff-ed against other database schemas. SchemaCrawler also generates schema diagrams. You can execute scripts in any standard scripting language against your database. You can find potential schema design issues with lint. SchemaCrawler is available under a number of licenses.
SchemaCrawler supports almost any database that has a JDBC driver, but for convenience is bundled with drivers for some commonly used RDBMS systems. SchemaCrawler works with any operating system that supports Java SE 8 or better.
SchemaCrawler is also a Java API that makes working with database metadata as easy as working with plain old Java objects.
All SchemaCrawler jars are in the Central Repository. They can be used as dependencies in Gradle or Apache Maven projects, or with any other build system that supports the Central Repository.