2

我即將開發一個應用程序,我將使用Heroku進行部署。在我開發sqlite3的最後一個應用程序遇到問題&測試環境和postgres在生產中,我只想在我的所有環境中運行postgres數據庫。就這樣,我開始安裝postgres。PostgreSQL本地和Heroku PostgreSQL版本

但是,我遇到了這個Heroku頁面(https://devcenter.heroku.com/articles/local-postgresql),該頁面聲明它將PostgreSQL 8.3數據庫用於共享服務器,PostgreSQL 9.1用於新提供的數據庫。當然,我想至少在最初時使用共享服務器。所以,這導致我遇到一些問題。

如果我決定安裝postgres 8.3並使用它來開發& deploy(以便我的數據庫匹配共享服務器),我是否會遇到一個巨大的問題,如果我需要增加數據庫大小並最終運行postgres 9.1?

如果我安裝postgres 9.1並使用它開發& deploy,我會在部署到postgres 8.3服務器時遇到一個大問題嗎?

我有一個巨大的項目在我面前,只想聽到之前處理過這個問題的人,以便儘可能提前做好計劃。任何和所有的輸入將不勝感激。

回答

2

如果這是一個新的應用程序,則應該使用dev plan beta而不是8.3共享的應用程序。在完成一個大型項目之前,這可能會超出測試版。當舊的共享計劃明顯出現時,你幾乎沒有理由處理8.3的怪癖,PostgreSQL 8.3本身在2月份是due for deprecation。我不會推薦任何人使用9.1以外的任何東西來構建新的PostgreSQL應用程序;與早期版本的軟件相比,它修復的限制太多。

+0

非常感謝格雷格,謝謝。 – flyingarmadillo 2012-07-31 00:42:45

0

是的,如果您的軟件依賴於這兩個數據庫版本中的某些功能,那麼您可能會遇到問題。例如,如果您將使用9.1中存在且不存在於8.3中的功能。

但是,通常升級(從較小的版本號到較大的版本號)是沒有問題的。你應該檢查它。

良好的測試套件將有所幫助,只需在一個數據庫上測試應用程序,然後在另一個數據庫上測試。規則1:您用於測試的數據庫必須與您在生產中使用的數據庫(引擎,版本,操作系統)完全相同 - 否則您將無法說您測試了您的應用程序。

規則2:沒有什麼像「postgre」。數據庫名稱是PostgreSQL或Postgres。