2016-07-29 93 views

回答

1

數據庫彼此隔離,無法使用一條SQL語句訪問不同數據庫中的數據。這不是一個錯誤,而是一個設計特性。

有三種方式來實現你想要什麼:

  1. 不要將數據在不同的數據庫,但在不同的模式中的一個數據庫。對於MySQL更有經驗的人來說,將屬於多個數據庫中的一個應用程序的數據分開並嘗試加入它們是一個常見的錯誤。這是因爲MySQL中的術語數據庫大致等於(標準)SQL中稱爲模式的內容。

  2. 如果您不能完成上述操作,例如由於數據確實屬於不同的應用程序,因此可以使用PostgreSQL foreign data wrapper。這使您能夠訪問來自不同數據庫(甚至不同機器)的表,就好像它們是本地表一樣。您必須更仔細地編寫您的語句,因爲如果需要在數據庫之間傳輸大量數據,複雜查詢有時效率會很低。

  3. 您可以使用dblink,這是一個比外部數據包裝器更老,更舒適的界面,但可以讓您執行其他方式無法做的事情,如調用遠程函數。

相關問題