postgresql只有owner或usersuper許可權才能修改表結構或drop表
官方文件的一段說明
For most kinds of objects, the initial state is that only the owner (or a superuser) can do anything with the object.
The right to modify or destroy an object is always the privilege of the owner only.
對於大多數型別的物件,初始狀態是隻有所有者(或超級使用者)可以對物件執行任何操作。
修改或銷燬物件的權利始終只是所有者的特權。
表s1.u1_table的owner是u1,使用者postgres是超級管理員,使用者u2擁有表s1.u1_table的所有許可權和schema s1的所有許可權,使用者u2都無法修改該表的表結構或drop該表,只有超級管理員或s1.u1_table的owner才能修改該表的表結構或drop該表
t1=> \c
You are now connected to database "t1" as user "u1".
t1=> create table s1.u1_table(hid int);
CREATE TABLE
t1=> \c - postgres
You are now connected to database "t1" as user "postgres".
t1=# select usename,usesuper from pg_user where usename='postgres';
usename | usesuper
----------+----------
postgres | t
t1=# select * from pg_tables where tablename='u1_table';
schemaname | tablename | tableowner | tablespace | hasindexes | hasrules | hastriggers | rowsecurity
------------+-----------+------------+------------+------------+----------+-------------+-------------
s1 | u1_table | u1 | | f | f | f | f
t1=# create user u2 password '123456';
CREATE ROLE
t1=# grant all privileges on schema s1 to u2;
GRANT
t1=# grant all privileges on table s1.u1_table to u2;
GRANT
t1=# \c - u2;
You are now connected to database "t1" as user "u2".
t1=> alter table s1.u1_table add hid2 int;
ERROR: must be owner of table u1_table
t1=> drop table s1.u1_table;
ERROR: must be owner of table u1_table
t1=> \c - postgres
You are now connected to database "t1" as user "postgres".
t1=# alter table s1.u1_table add hid2 int;
ALTER TABLE
t1=# drop table s1.u1_table;
DROP TABLE
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2682540/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 修改組策略以安裝MSI程式進行許可權升級或許可權維持
- [20201106]11g修改表無需修改許可權.txt
- Linux系統下如何修改檔案或目錄的許可權?Linux
- 許可權八張表
- postgresql關於許可權的總結SQL
- PostgreSQL:許可權管理SQL
- Win10系統修改或刪除檔案提示“你需要許可權能才能執行此操作”如何解決Win10
- 選單許可權表sqlite和mysqlSQLiteMySql
- 需要一個前臺許可權管理,或問如何實現
- [20181203]drop table後如何獲得表結構.txt
- MySQL修改表結構到底會不會鎖表?MySql
- Rbac使用者角色許可權表設計
- 怎麼控制報表的資料許可權
- 織夢網站修改需要許可權嗎,如何獲取織夢網站修改許可權網站
- 淺談PostgreSQL使用者許可權SQL
- PostgreSQL物件許可權如何在後設資料中獲取-許可權解讀、定製化匯出許可權SQL物件
- 修改檔案、資料夾許可權
- android AVC錯誤修改許可權方法Android
- 如何檢視postgresql使用者許可權SQL
- Linux系統中501代表什麼許可權?Linux
- SAP Basis DEBUG改表資料許可權角色設計
- 報表如何透過引數控制資料許可權
- 通用許可權系統之資料庫表設計資料庫
- ERC223智慧合約ATN幣出現owner許可權竊取漏洞
- 填報表上下載檔案控制元件可寫許可權控制控制元件
- MongoDB4.0建立自定義許可權(只有查詢,插入和更新的許可權)的角色步驟MongoDB
- PostgreSQL系統表或檢視中pg_node_tree型別值解析SQL型別
- SQLPlus無法登入資料庫提示密碼不對或許可權不足SQL資料庫密碼
- 許可權之選單許可權
- mysql mysqldump只匯出表結構或只匯出資料的實現方法MySql
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- golden gate同步的表結構修改檢查Go
- 使用 NineData GUI 建立與修改 ClickHouse 表結構GUI
- PostgreSQL資料庫使用者許可權管理SQL資料庫
- Spring Security 許可權管理的投票器與表決機制Spring
- django 兩個表或多個表聯合查詢Django
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- javafx-tableview刪除或修改預設的“表中無內容”文字JavaView