雖然當前連接是db1,但我想要更改db2上的權限。像:如何在GRANT命令中指定數據庫名稱?
GRANT ALL PRIVILEGES ON SCHEMA "db2"."public" TO "user";
但是這會導致錯誤,並且PostgreSQL無法識別語句中的數據庫限定符!有沒有什麼辦法可以做到這一點,而無需從db1斷開連接並重新連接到db2?
順便說一句,我正在從編程語言開始這些命令,而不是psql
。
[更新]
正如我在評論中說,似乎這個功能刻意封鎖(由於執行方面的挑戰或安全原因 - 我不知道)。
無論如何,我沒有看到一個很好的理由,那是我的個人意見。如果難以實施,那麼這是一個設計缺陷。我認爲安全性問題很容易被破壞,因爲爲已經通過身份驗證和授權的用戶添加流程步驟並不被認爲是更好的安全措施。
再次,只是我的意見。
無論如何,我非常感謝PostgreSQL項目所付出的所有時間和精力。多謝你們。
您無法授予其他數據庫的權限。您需要先連接到該數據庫。 –
@a_horse_with_no_name這不荒唐!? – Mehran
爲什麼這應該是荒謬的?這就是Postgres的工作原理。 –