运行SchemaSpy时出错:
由于以下错误导致连接失败:"没有主机" xxx.xxx.xxx.xxx",用户" xxxx",数据库&#的pg_hba.conf条目34; xxx",SSL关闭"
发生错误是因为数据库确实需要SSL连接。
有没有办法在SchemaSpy中打开连接的SSL标志,我打开了jar文件,但找不到任何东西。我知道PostgreSQL JDBC驱动程序支持SSL,所以理论上这应该是可行的。
否则,如果任何人知道任何用于对具有SSL连接的postgresql数据库进行逆向工程的开源/免费软件工具,那将会有很大帮助。
感谢。
答案 0 :(得分:2)
这样做:
java -jar schemaSpy_5.0.0 -t pgsql -host your-host-url -db your-database-name -s your-database-schema -u your-username -p your-password -connprops" ssl \ = TRUE; sslfactory \ = org.postgresql.ssl.NonValidatingFactory" -o path-to-your-output-directory -dp path-to-your-jdbc-driver-jar-file
诀窍:使用 -connprops 选项添加一些其他参数:我们将SSL设置为true( ssl 参数),我们正在询问客户端(即driver)无条件接受SSL连接( sslfactory 参数)。
答案 1 :(得分:0)
根据the PgJDBC documentation,在您网址的参数中使用ssl=true
选项,例如
jdbc:postgresql://myhost/mydb?ssl=true
如果主持人没有有效的证书或证书与其主机名不匹配,您可以disable SSL validation too。
SchemaSpy接受连接的JDBC URL,因此这将正常工作。