0
我試圖創建一個只能在mydb_schema中使用「SELECT」的帳戶。從公共架構撤銷特權「創建表」但不是自定義架構
我能夠撤銷在特定角色的數據庫(mydb)公共架構中創建表,但我無法撤銷在架構內創建表(mydb_schema)角色(user_role)是分配給。
有人可以協助嗎?我錯過了什麼?
以下是我用作用戶postgres和模式所有者的命令。最後,我還通過使用noinherit改變了postgres帳戶,只是一個絕望的測試。沒有結果。
\c mydb
mydb=# create role user_account
mydb=# alter role user_account login noinherit;
mydb=# alter role user_account set search_path = 'mydb_schema';
##Up until this point I don't have SELECT pivileges but I can create a table within mydb_schema only and not in public.
mydb=# grant select on all tables in schema mydb_schema to user_account;
mydb=# revoke CREATE on SCHEMA public from public;
這是我的數據庫:
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges | Size | Tablespace | Description
--------------------------------------------------------------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 6820 kB | pg_default | default administrative connection database
mydb | seeker | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/seeker +| 3465 MB | pg_default |
seeker=CTc/seeker
這是我的模式:
List of schemas
Name | Owner | Access privileges | Description
----------------+----------+----------------------+------------------------
public | postgres | postgres=UC/postgres | standard public schema
mydb_schema | seeker | seeker=UC/seeker +|
| | =UC/seeker |