我使用来自heroku的postgres.app安装了postgres,我需要在处理我的应用程序时持续使用它。我相信在使用自制软件之前没有任何运行,我知道sqlite不需要在后台运行任何东西。为什么应用程序必须始终启用才能运行?感谢
答案 0 :(得分:1)
这就是Postgres.app的设计方式;它是一种更新的方法,比跟踪启动守护进程更快更容易。 (有点像Heroku如何通过一次点击使很多插件工作,而不是大量的命令行配置 - 它使90%的情况下的事情变得更简单,而其他10%则是这样。)
Postgres本质上是一个客户端 - 服务器结构,因此使用Postgres数据库总是涉及有效连接到服务器 - 即使该服务器是localhost。对于Postgres.app,该服务器仅在应用程序运行时运行。在您早期的自制软件安装中,它将是一个后台进程;即使你不会看到它在运行,它就在那里。
SQLite是一个不同的野兽;它使用本地文件支持的存储,而不是连接到服务器,所以你是正确的,在这种情况下没有后台进程可以连接。
您仍然可以使用MacPorts(详细here)或从源代码编译来获得传统的Postgres安装。显然,它也包含在OS X Server的一部分中。其中任何一个都是后台进程,而不是依赖于正在运行的应用程序。