2013-02-28 41 views
-1

我使用postgres.app從heroku安裝postgres,並且我需要在我的應用程序上工作時持續使用它。我相信當我使用自制軟件時沒有任何運行,我知道sqlite不需要在後臺運行任何東西。爲什麼必須讓應用程序始終處於工作狀態?謝謝postgres.app,爲什麼我必須讓它運行?

回答

1

這就是Postgres.app設計的工作方式;這是一種新的方法,它比追蹤啓動守護進程更快更簡單。 (有點像Heroku使得很多插件只需點擊一下就能完成工作,而不需要大量的命令行配置 - 在90%的情況下,這使得事情變得更簡單,犧牲了另外10%的代價。)

Postgres本質上是一個客戶端 - 服務器結構,因此使用Postgres數據庫始終涉及到有效連接到服務器 - 即使該服務器是localhost。在Postgres.app的情況下,該服務器只在應用程序運行時運行。在你早期的自制軟件安裝中,這將是一個後臺進程;即使你看不到它運行,它仍然在那裏。

SQLite是一個不同的野獸;它使用本地文件支持的存儲,而不是連接到服務器,所以你是對的,在這種情況下沒有後臺進程連接到。

您仍然可以使用MacPorts(詳細的here)或通過源代碼編譯來獲得傳統的Postgres安裝。顯然它也包含在OS X Server中。這些都是後臺進程,而不是依賴於正在運行的應用程序。

+0

謝謝你的詳細評論good sir – Steve 2013-02-28 06:16:12

相關問題