在創建PostgreSQL數據庫「地圖」,它採用了PostGIS的擴展的過程中,通過CREATE EXTENSION postgis;
,用戶「繪圖者」得到以下錯誤:的Postgres創建擴展PostGIS的錯誤
permission denied to create extension "postgis"
HINT: Must be superuser to create this extension.
但用戶「繪圖者」是如通過命令由sudo -u postgres psql
指定的數據庫所有者:
CREATE DATABASE map OWNER mapmaker;
GRANT ALL PRIVILEGES ON DATABASE map TO mapmaker;
一旦繪圖者是在用戶級超級用戶我不再收到錯誤並且擴展創建讓我明白了一切我所要做的就是調整permiss通過postgres用戶將地圖製作者分配給超級用戶,但是我有興趣知道爲什麼地圖製作者被授予數據庫地圖的所有權限?擴展區別對待嗎?爲了使用擴展,用戶必須是用戶級超級用戶還是可以在數據庫級別分配權限?
我確實看到了cannot create extension without superuser role,但問題的答案沒有解釋爲什麼,並且很遺憾,我沒有足夠的評論意見,因此提出了問題。
的PostgreSQL 9.1.9的PostGIS 2.0.3