Обратный инжиниринг базы данных PostgreSQL с SSL-соединением в SchemaSpy

При запуске SchemaSpy выдается ошибка:

Соединение не удалось из-за следующей ошибки: "нет записи pg_hba.conf для хоста"xxx.xxx.xxx.xxx", пользователь"xxxx", база данных"xxx", SSL выключен"

Ошибка возникает из-за того, что для базы данных требуется соединение SSL.

Есть ли способ включить флаг SSL для соединения в SchemaSpy, я открыл файл jar, но ничего не смог найти. Я знаю, что драйвер PostgreSQL JDBC поддерживает SSL, поэтому это должно быть теоретически возможно.

В противном случае, если кто-нибудь знает какие-либо инструменты с открытым исходным кодом / бесплатные программы для реверс-инжиниринга базы данных postgresql с SSL-соединениями, это бы очень помогло.

Благодарю.

2 ответа

Сделай это так:

java -jar schemaSpy_5.0.0 -t pgsql -host your-host-url -db ваше-имя-базы-данных -s ваша-схема-базы данных -u ваше-имя пользователя -p ваш-пароль -connprops "ssl\=true;sslfactory\=org.postgresql.ssl.NonValidatingFactory" -o путь-к-вашему-выходному-каталогу -dp-путь к вашему-jdbc-driver-jar-файлу

Хитрость: добавление некоторых дополнительных параметров с помощью опции -connprops: мы устанавливаем SSL в значение true (параметр ssl) и просим клиента (т.е. драйвер) безоговорочно принять соединение SSL (параметр sslfactory).

Согласно документации PgJDBC, используйте ssl=true опция в параметрах вашего URL, например

jdbc:postgresql://myhost/mydb?ssl=true

Если у хоста нет действующего сертификата или сертификат не совпадает с его именем, вы также можете отключить проверку SSL.

SchemaSpy принимает URL-адрес JDBC для соединения, так что это будет работать нормально.

Другие вопросы по тегам