2009-12-18 73 views
4

我有一個PostgreSQL數據庫,其表格被劃分爲多個模式。每個模式都有一組不同的訪問控制;例如,一個模式對於普通用戶可能是隻讀的,而他們被允許在另一個模式上創建表。模式也充當命名空間,因此用戶不必擔心在創建新表時複製現有表。什麼是PostgreSQL'schema'的MySQL等價物?

我想用MySQL創建一個類似的設置。它有一個相同的概念嗎?如果不是,我怎樣才能最密切地模擬它?我不想使用多個數據庫。

回答

9

Database應該是最接近的一個。

+1

這是正確的,但它們有缺點。該數據庫旨在用於部署到各種現有羣集。使用多個數據庫使得更復雜,因爲運行部署的用戶不能要求他們的管理員創建數據庫;他們自己需要CREATE DATABASE權限。另外,如果我想保留當前的模式名稱,那麼我將與該羣集上的現有數據庫發生衝突。因此,如果可能的話,我傾向於避免多個數據庫。 – DNS 2009-12-18 02:27:58

+1

這就是爲什麼我說它是最接近的,並不等同。 – 2009-12-18 10:33:33

7

前綴表名是大多數MySQL驅動的應用程序所做的。

+4

目前尚不清楚爲什麼這是downvoted;考慮到我的問題說多個數據庫不可取,這個答案並不合理。 – DNS 2009-12-18 14:51:26

+2

我不是downvoter,但一個猜測:前綴表名與模式沒有任何相同之處。有沒有辦法設置權限,你是排除某些表名,引用規則*完全*不同,沒有辦法設置一個seach補丁等等,等等。使用不同的數據庫至少涵蓋其中的幾個,但最終你不能在沒有它的系統中模擬它。 – 2009-12-19 12:54:05