我尝试使用SchemaSpy连接到我的PostgresSQL服务器。我使用oracle-java8-installer
中的ppa:webupd8team/java.
安装了Java
(我的PostgreSQL服务器在Docker容器上工作,因此我将端口转发到5431)
我的schemaspy.properties
文件是:
# type of database. Run with -dbhelp for details
schemaspy.t=pgsql
# optional path to alternative jdbc drivers.
# database properties: host, port number, name user, password
schemaspy.host=localhost:5431
schemaspy.port=5431
schemaspy.db=dbname
schemaspy.u=dbuser
schemaspy.p=dbpassword
# output dir to save generated files
schemaspy.o=dbschema
# db scheme for which generate diagrams
schemaspy.s=public
当我运行此命令时:
java -jar schemaspy-6.0.0.jar -configFile schemaspy.properties
我确定该数据库在lcoalhost:5431上可访问。但是我收到:
user @ hostname:〜/app-path $ java -jar schemaspy-6.0.0.jar -configFile schemaspy.properties
____ _ ____
/___ | ___ | | __ ___ _ __ ___ __ _/___ | _ __ _ _
\___\/__ | '_\/_\'_`_\/_`\___\| '_\| | | |
___)| (__ | | | | __/| | | | |(_ | | ___)| | _)| | _ | |
| ____/\___ | _ | | _ |\___ | _ | | _ | | _ |\__,_ | ____/| .__/\__,|
| _ | | ___/
6.0.0
SchemaSpy生成数据库架构关系的HTML表示。
SchemaSpy绝对不提供担保。
SchemaSpy是免费软件,可以在LGPL版本3或更高版本的条件下重新分发。
http://www.gnu.org/licenses/
信息-使用PID 18555在主机名上启动Main v6.0.0(/home/user/path-to-app/schemaspy-6.0.0.jar由用户在/home/user/path-to-app中启动)
信息-以下配置文件处于 Activity 状态:默认
INFO-找到的配置文件:schemaspy.properties
INFO-在3.406秒内启动Main(JVM运行4.519)
INFO-启动模式分析
警告-连接失败
我应该添加驱动程序吗?我尝试了
postgresql-42.2.4.jar
。我从jdbc.postgresql.org网站下载了该行,并将此行添加到配置文件中。schemaspy.dp=postgresql-42.2.4.jar
但是,它仍然显示相同的错误。
最佳答案
好的,我终于知道出了什么问题。定义数据库类型后,应直接添加schemaspy.dp=postgresql-42.2.4.jar
这一行。现在我的schemaspy.properties
文件是:
# type of database. Run with -dbhelp for details
schemaspy.t=pgsql
# optional path to alternative jdbc drivers.
schemaspy.dp=postgresql-42.2.4.jar
# database properties: host, port number, name user, password
schemaspy.host=localhost:5431
schemaspy.port=5431
schemaspy.db=dbname
schemaspy.u=dbuser
schemaspy.p=dbpassword
# output dir to save generated files
schemaspy.o=/home/user/dump
# db scheme for which generate diagrams
schemaspy.s=public
并正常工作。