我无法找到这个问题的答案。如何导出使用PostgreSQL数据库的Java项目?
我想在另一台计算机上使用相同的数据库。我是否需要使用项目导出数据库本身?怎么办呢?
连接URL应该是什么,以便可以在另一台计算机上访问数据库?
我正在使用JDBC,而且我在Windows上。
提前致谢。
编辑:我还需要动态检索另一台计算机上的用户名和密码,而不是使用PostgreSQL中我的计算机上的特定用户名和密码吗?答案 0 :(得分:0)
这实际上取决于你想要达到的目标。
您是否希望两台计算机上的应用程序使用相同的数据库,以便在另一台计算机上看到更改?如果是这样,您需要将应用程序的每个副本配置为连接到其中一台计算机上的同一数据库实例。这通常通过更改JDBC URL来完成。您需要在将成为数据库服务器的计算机上配置PostgreSQL,以便允许来自其他主机的连接,确保它们可以通过TCP / IP进行相互通信等。
您是否希望每个安装都有一个单独的数据库实例,因此对一个实例进行的更改对另一个实例没有影响,并且每个实例都以空白的空数据库开始(或者只有一个静态内容如查找的数据库)表)?如果是这样,您通常应该使用SQL脚本定义数据库,然后让应用程序在首次安装在计算机上时运行SQL脚本。如果你到目前为止已经手动定义了数据库,你可以使用pg_dump
创建一个可以作为基础的SQL脚本,但我真的建议你研究像Liquibase这样的工具来进行模式管理。
您是否希望计算机上的每个应用程序实例都有一个独立的数据库,因此对其中一个进行的更改对其他计算机上的其他实例没有影响,但安装的起始状态是数据库中的内容另一位主持人?如果是这样,您需要使用pg_dump -Fc
和pg_restore
转储并重新加载数据库以及应用程序。您可以使用ProcessBuilder
等工具在应用程序/构建系统中自动执行此操作,也可以手动执行此操作。
没有通用的,罐装方式来做到这一点。它需要您定义应用程序部署过程,可能会生成安装程序等。