2014-03-07 63 views
4

有沒有在PostgreSQL中的表恢復缺省權限的方法嗎?恢復默認權限在PostgreSQL的

創建表,如果我在PSQL推出\z後,我看到這一點:

Schema | Name  | Type |  Access privileges  | Column access privileges 
--------+-------------+----------+---------------------------+------------------------- 
public | example  | table |       | 

phpPgAdmin的,也說,爲表例如的權限是默認的。 如果我編輯這些特權,我希望能夠恢復我的變化。這可能嗎? 到目前爲止,我嘗試使用REVOKE ALL,它實際上在啓動\z時顯示空的訪問權限字段,但顯然不起作用,因爲它甚至會從所有者中刪除所有權限。

回答

0

是不是真的有這樣做的直接方式。

你可以做的最接近的是要做到這一點,然後授予所有的所有者(你可以看一下店主pg_class)。

這樣做的一個問題是,默認權限可以設置爲不同於該權限,純粹在後端執行此操作需要將DO與plpgsql語句一起使用。更糟的是,由於GRANT是不是有計劃的聲明,你不能將其參數化,這意味着你必須做的串插。