0
我想創建一個數據庫的角色,可以連接到和查看該數據庫只。Postgres列表數據庫的權限
如何我去一下吧:
_, err = db.Exec("CREATE DATABASE " + database.Name + " ENCODING 'utf8' LC_COLLATE 'en_US.UTF-8'")
_, err = db.Exec("CREATE ROLE " + database.User + " WITH LOGIN PASSWORD '" + database.Password + "'")
_, err = db.Exec("REVOKE ALL PRIVILEGES ON DATABASE " + database.Name + " FROM PUBLIC")
_, err = db.Exec("GRANT ALL PRIVILEGES ON DATABASE " + database.Name + " TO " + database.User)
的問題是,我的角色可以通過連接到Postgres的:
psql -U haruki -W -h localhost
它是沒問題的,但它可以列出所有數據庫及其相應的權限即使它無法連接到它們。
有什麼辦法可以防止用戶列出所有數據庫?或者也許只允許使用-d標誌登錄?