我正在 Visual Studio 2012 中构建一个应用程序,我希望每次运行它时都检查某个 postgres 数据库是否存在,如果不存在,则使用指定的表等创建一个数据库。
我在谷歌中环顾四周,但没有运气。我希望以编程方式从我的应用程序中创建数据库,但如果有人知道我是否以及如何使用安装程序向导来完成此操作,那也很好。该应用程序只能在 Windows 上运行,但可以在所有计算机上运行,无一例外。
无论使用什么工具和编程语言,您想要使用的方法都是相同的:
-
在您的程序中,在启动期间连接到template1
or postgres
在 PostgreSQL 安装中始终可用的数据库并发出SELECT 1 FROM pg_database WHERE datname = ?
并作为第一个参数传递所需的数据库名称。
-
检查返回的结果集。如果返回一行,则数据库存在,您就完成了,无需进一步操作。如果没有返回行,则数据库不存在,您需要创建它,因此:
-
Issue a CREATE DATABASE mydatabasename;
与任何想要的选项,如OWNER
, ENCODING
等根据手册自行创建数据库。新数据库将为空。
-
通过连接到应用程序中的新数据库并直接从应用程序发送一系列 SQL 命令来填充数据库,或者通过调用psql
shell 上的命令读取sql
脚本文件并将其发送到数据库。我通常更喜欢直接在我的应用程序中运行 SQL。
如果您想在安装过程中创建数据库,这主要取决于您和您的安装人员,但它通常就像 CREATE DATABASE
PostgreSQL 启动后调用,然后喂食psql
一个脚本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)