我是新來的postgres,我試圖找出如何在運行web應用程序時最好地保護我的數據庫。Postgresql中用戶權限的最佳實踐?
在MySQL中,我傾向於使用管理用戶來創建數據庫,創建表,修改模式,刪除表等等:對於在某些應用程序持續使用數據庫時絕不應該發生的所有活動。然後,我有第二個用戶(每個應用程序一個)具有(僅)應用程序需要的權限,如插入,更新等。這可以避免應用程序錯誤/黑客具有災難性後果。
現在我想弄清楚如何在postgres中做類似的事情。似乎postgres數據庫有一個「所有者」,不像MySQL的。如果我使用上述方案,管理員用戶是否擁有所有應用程序的所有數據庫?或者這裏有什麼最佳實踐?
此外:我只是發現授予「所有表」的權限似乎意味着「當前定義的所有表」,並且不包括將來的表。與MySQL不同,「on foo。*」表示所有當前和將來的表。那是對的嗎?有沒有辦法在授權聲明中包含未來的表格,還是每次都重新執行?
MySQL數據庫相當於一個Postgres模式 – 2015-04-02 19:23:21