我想创建一个使用关系数据库的桌面应用程序(例如 postgres - 假设我最好的情况是在这个应用程序中使用 postgres)。我希望用户不知道数据库。目前,我必须将 postgres 安装到我的本地计算机并让我的应用程序与之通信。我正在使用 Go。我怎样才能避免这种情况?
2 回答
青春有我
TA贡献1784条经验 获得超8个赞
您正在寻找嵌入式数据库。
这对于 PostgreSQL 来说不是一个理想的工作,但是您可以稍微小心地以这种方式使用它。
请不要捆绑安装程序并在无人看管的情况下运行它。以后去安装 PostgreSQL 的用户会很困惑,当他们看到它已经在他们的电脑上,但他们不知道为什么,谁安装了它,或者密码是什么。
而是initdb
在您的应用程序%APPDATA%
或(对于多用户共享)中的新数据目录%PROGRAMDATA%
。设置自定义端口(不要使用默认的 5432)。使用 来创建新服务pg_ctl register
、作为 运行NETWORKSERVICE
,或者使用 来按需启动/停止pg_ctl
。这样您就不会妨碍任何现有的 PostgreSQL 安装或新安装,并且拥有一个专用于您的应用程序的私有 PostgreSQL。
不过,请为用户提供替代为现有 PostgreSQL 提供连接字符串的选项。如果应用程序在您不希望它们使用时坚持使用它们自己的嵌入式副本,那将是一种痛苦。
不过,通常最好考虑使用 SQLite、H2、Derby、Firebird 或其他嵌入式数据库之一。
- 2 回答
- 0 关注
- 206 浏览
添加回答
举报
0/150
提交
取消