PostgreSQL資料庫使用者許可權管理
啟動資料庫
[postgres@cjc-db-01 ~]$ pg_ctl -D /pg/data -l /pg/log/pg.log start waiting for server to start.... done server started
登入資料庫
[postgres@cjc-db-01 ~]$ psql
檢視pg_roles表欄位
postgres=# \d pg_roles View "pg_catalog.pg_roles" Column | Type | Collation | Nullable | Default ----------------+--------------------------+-----------+----------+--------- rolname | name | | | rolsuper | boolean | | | rolinherit | boolean | | | rolcreaterole | boolean | | | rolcreatedb | boolean | | | rolcanlogin | boolean | | | rolreplication | boolean | | | rolconnlimit | integer | | | rolpassword | text | | | rolvaliduntil | timestamp with time zone | | | rolbypassrls | boolean | | | rolconfig | text[] | | | oid | oid | | |
或者
postgres=# SELECT table_name, column_name, data_type, column_default FROM information_schema.columns WHERE table_name = 'pg_roles'; table_name | column_name | data_type | column_default ------------+----------------+--------------------------+---------------- pg_roles | rolname | name | pg_roles | rolsuper | boolean | pg_roles | rolinherit | boolean | pg_roles | rolcreaterole | boolean | pg_roles | rolcreatedb | boolean | pg_roles | rolcanlogin | boolean | pg_roles | rolreplication | boolean | pg_roles | rolconnlimit | integer | pg_roles | rolpassword | text | pg_roles | rolvaliduntil | timestamp with time zone | pg_roles | rolbypassrls | boolean | pg_roles | rolconfig | ARRAY | pg_roles | oid | oid |
檢視角色資訊
postgres=# select rolname,rolsuper,rolcreatedb from pg_roles; rolname | rolsuper | rolcreatedb ----------------------+----------+------------- postgres | t | t pg_monitor | f | f pg_read_all_settings | f | f pg_read_all_stats | f | f pg_stat_scan_tables | f | f pg_signal_backend | f | f (6 rows)
在PostgreSQL資料庫中,角色和使用者沒有區別,一個角色就是一使用者,這塊和Oracle資料庫有一定差異。
相關描述如下:
CREATE USER is now an alias for CREATE ROLE. The only difference is that when the command is spelled CREATE USER, LOGIN is assumed by default, whereas NOLOGIN is assumed when the command is spelled CREATE ROLE.
檢視create user幫助資訊
postgres=# \h create user; Command: CREATE USER Description: define a new database role Syntax: CREATE USER name [ [ WITH ] option [ ... ] ] where option can be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp' | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | USER role_name [, ...] | SYSID uid
檢視create role幫助資訊,和create user完全一樣。
postgres=# \h create role; Command: CREATE ROLE Description: define a new database role Syntax: CREATE ROLE name [ [ WITH ] option [ ... ] ] where option can be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp' | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | USER role_name [, ...] | SYSID uid
引數說明:
1.SUPERUSER |NOSUPERUSER 建立出來的使用者是否為超級使用者 2.CREATEDB |NOCREATEDB 指定建立出來的使用者是否有建立資料庫的許可權 3.CREATEROLE |NOCREATEROLE 指定建立出來的使用者是否有建立其他角色許可權 4.CREATEUSER |NOCREATEUSER 指定建立出來的使用者是否有建立其它使用者的許可權 5.INHERIT | NOINHERIT 建立的使用者擁有某個或幾個角色的許可權 6.LOGIN | NOLOGIN 建立出來的使用者是否有連線資料庫的許可權 7.CONNECTION LIMIT connlimit 戶可以使用的併發連線的數量,預設為 "-1",表示沒有限制 8.[ENCRYPTED | UNENCRYPTED] PASSWORD 'password' 儲存的使用者口令是否加密 9.VALID UNTIL 'timestamp' 密碼失效時間,不指定的話永久有效 10.IN ROLE role_name [...] 指定使用者成為哪些角色的成員 11.IN GROUP role_name [...] 等同於IN ROLE rome_name,不過已過時 12.ROLE role_name [...]role_name 將成為這個新建的角色的成員 13.ADMIN role_name [...]role_name 將有這個新建角色 WITH ADMIN OPTION許可權 14.USER role_name 與ROLE相同,不過已過時 15.SYSID uid 用於SQL相容
建立使用者
create user chen LOGIN;
建立角色
create role cjc SUPERUSER PASSWORD '1';
檢視使用者已經建立
postgres=# select rolname,rolsuper,rolcreatedb from pg_roles; rolname | rolsuper | rolcreatedb ----------------------+----------+------------- postgres | t | t pg_monitor | f | f pg_read_all_settings | f | f pg_read_all_stats | f | f pg_stat_scan_tables | f | f pg_signal_backend | f | f chen | f | f cjc | t | f (8 rows)
指定使用者登入
[postgres@cjc-db-01 ~]$ psql -h 172.16.6.137 -p 5678 -U chen -W postgres Password for user chen: psql.bin (10.23) Type "help" for help. postgres=> select current_user; current_user -------------- chen (1 row)
注意:建立使用者方式建立出來的使用者預設有 LOGIN 許可權,而建立角色建立出來的使用者沒有 LOGIN 許可權。
[postgres@cjc-db-01 ~]$ psql -h 172.16.6.137 -p 5678 -U cjc -W postgres Password for user cjc: psql.bin: FATAL: role "cjc" is not permitted to log in
授予登入許可權
postgres=# grant connect on database postgres to cjc; postgres=# \q
還是不能登入
[postgres@cjc-db-01 ~]$ psql -h 172.16.6.137 -p 5678 -U cjc -W postgres Password for user cjc: psql.bin: FATAL: role "cjc" is not permitted to log in
修改角色
postgres=# alter role cjc login superuser;
重新登入
[postgres@cjc-db-01 ~]$ psql -h 172.16.6.137 -p 5678 -U cjc -W postgres Password for user cjc: psql.bin (10.23) Type "help" for help. postgres=# select current_user; current_user -------------- cjc (1 row)
為使用者指定表空間
檢視錶空間
postgres=# \db List of tablespaces Name | Owner | Location ------------+----------+---------- pg_default | postgres | pg_global | postgres | (2 rows)
建立表空間
postgres=# \h create tablespace Command: CREATE TABLESPACE Description: define a new tablespace Syntax: CREATE TABLESPACE tablespace_name [ OWNER { new_owner | CURRENT_USER | SESSION_USER } ] LOCATION 'directory' [ WITH ( tablespace_option = value [, ... ] ) ]
注意:
表空間的名稱不能以 'pg_' 開頭,它們是系統表空間的保留名稱;
LOCATION 引數必須指定絕對路徑名,
指定的目錄必須是一個已經存在的空目錄,
PostgreSQL 作業系統使用者(postgres)必須是該目錄的擁有者,以便能夠進行檔案的讀寫。
建立空目錄
[postgres@cjc-db-01 data]$ pwd /pg/data [postgres@cjc-db-01 data]$ mkdir cjctbs
建立表空間,有WARNING,新增的表空間不能在資料路徑裡面
postgres=# CREATE TABLESPACE cjctbs OWNER cjc LOCATION '/pg/data/cjctbs'; WARNING: tablespace location should not be inside the data directory CREATE TABLESPACE
自動生成的檔案
[postgres@cjc-db-01 PG_10_201707211]$ pwd /pg/data/cjctbs/PG_10_201707211 [postgres@cjc-db-01 PG_10_201707211]$ ls
刪除表空間
postgres=# drop tablespace cjctbs; DROP TABLESPACE
建立表空間,重新指定路徑,沒有WARNING
[postgres@cjc-db-01 pg]$ mkdir /pg/tbs/cjctbs -p postgres=# CREATE TABLESPACE cjctbs OWNER cjc LOCATION '/pg/tbs/cjctbs'; CREATE TABLESPACE
自動生成目錄
[postgres@cjc-db-01 PG_10_201707211]$ pwd /pg/tbs/cjctbs/PG_10_201707211
建立資料庫
指定使用者和表空間
postgres=# create database cjcdb owner cjc tablespace cjctbs; CREATE DATABASE
檢視新生成的檔案
[postgres@cjc-db-01 16396]$ pwd /pg/tbs/cjctbs/PG_10_201707211/16396 [postgres@cjc-db-01 16396]$ ls 112 13696_vm 13713 1417_vm 2601 2606_vm 2612_fsm 2619 2661 2681 2702 2834 2996 3350_vm 3456_vm 3576 3602_vm 3997 826_vm 113 13698 13715 1418 2601_fsm 2607 2612_vm 2619_fsm 2662 2682 2703 2834_vm 3079 3351 3466 3576_vm 3603 5002 827 1247 13700 13716 1418_vm 2601_vm 2607_fsm 2613 2619_vm 2663 2683 2704 2835 3079_fsm 3379 3466_vm 3596 3603_fsm 548 828 1247_fsm 13701 13716_fsm 174 2602 2607_vm 2613_vm 2620 2664 2684 2753 2836 3079_vm 3380 3467 3596_vm 3603_vm 549 pg_filenode.map 1247_vm 13701_fsm 13716_vm 175 2602_fsm 2608 2615 2620_vm 2665 2685 2753_fsm 2836_vm 3080 3381 3468 3597 3604 6102 PG_VERSION 1249 13701_vm 13718 2187 2602_vm 2608_fsm 2615_fsm 2650 2666 2686 2753_vm 2837 3081 3381_vm 3501 3598 3605 6102_vm 1249_fsm 13703 13720 2224 2603 2608_vm 2615_vm 2651 2667 2687 2754 2838 3085 3394 3501_vm 3598_vm 3606 6104 1249_vm 13705 13721 2224_vm 2603_fsm 2609 2616 2652 2668 2688 2755 2838_fsm 3118 3394_fsm 3502 3599 3607 6104_vm 1255 13706 13721_fsm 2328 2603_vm 2609_fsm 2616_fsm 2653 2669 2689 2756 2838_vm 3118_vm 3394_vm 3503 3600 3608 6106 1255_fsm 13706_fsm 13721_vm 2328_vm 2604 2609_vm 2616_vm 2654 2670 2690 2757 2839 3119 3395 3534 3600_fsm 3609 6106_vm 1255_vm 13706_vm 13723 2336 2604_vm 2610 2617 2655 2673 2691 2830 2840 3164 3439 3541 3600_vm 3712 6110 1259 13708 13725 2336_vm 2605 2610_fsm 2617_fsm 2656 2674 2692 2830_vm 2840_fsm 3256 3439_vm 3541_fsm 3601 3764 6111 1259_fsm 13710 13726 2337 2605_fsm 2610_vm 2617_vm 2657 2675 2693 2831 2840_vm 3256_vm 3440 3541_vm 3601_fsm 3764_fsm 6112 1259_vm 13711 13728 2600 2605_vm 2611 2618 2658 2678 2696 2832 2841 3257 3455 3542 3601_vm 3764_vm 6113 13696 13711_fsm 13730 2600_fsm 2606 2611_vm 2618_fsm 2659 2679 2699 2832_vm 2995 3258 3456 3574 3602 3766 6117 13696_fsm 13711_vm 1417 2600_vm 2606_fsm 2612 2618_vm 2660 2680 2701 2833 2995_vm 3350 3456_fsm 3575 3602_fsm 3767 826
查詢資料庫
postgres=# \l+ List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges | Size | Tablespace | Description -----------+----------+----------+-------------+-------------+-----------------------+---------+------------+-------------------------------------------- cjcdb | cjc | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 7745 kB | cjctbs | postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres +| 7879 kB | pg_default | default administrative connection database | | | | | postgres=CTc/postgres+| | | | | | | | cjc=c/postgres | | | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| 7745 kB | pg_default | unmodifiable empty database | | | | | postgres=CTc/postgres | | | template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| 7745 kB | pg_default | default template for new databases
查詢資料庫物理儲存位置
cjcdb=# select oid,datname from pg_database where datname = 'cjcdb'; oid | datname -------+--------- 16396 | cjcdb (1 row)
根據oid進行查詢
[postgres@cjc-db-01 16396]$ pwd /pg/tbs/cjctbs/PG_10_201707211/16396 [postgres@cjc-db-01 16396]$ ls |wc -l 296
檢視指定資料庫的大小
postgres=# select pg_database_size('cjcdb'); pg_database_size ------------------ 8076423 (1 row)
檢視指定資料庫的大小
postgres=# select pg_size_pretty(pg_database_size('cjcdb')); pg_size_pretty ---------------- 7887 kB (1 row)
檢視資料庫的大小
postgres=# select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database; datname | size -----------+--------- template1 | 7930371 template0 | 7930371 postgres | 8068231 cjcdb | 8076423 (4 rows)
查詢資料庫預設表空間
cjcdb=# select datname,dattablespace from pg_database where datname='cjcdb'; datname | dattablespace ---------+--------------- cjcdb | 16395 (1 row)
登入資料庫
[postgres@cjc-db-01 ~]$ psql -h 172.16.6.137 -p 5678 -U cjc -W cjcdb
建表
cjcdb=# create table t1(id int,name char(10));
查詢表物理儲存位置
cjcdb=# select oid,relfilenode from pg_class where relname = 't1'; oid | relfilenode -------+------------- 16397 | 16397 (1 row)
根據relfilenode進行查詢
[postgres@cjc-db-01 16396]$ pwd /pg/tbs/cjctbs/PG_10_201707211/16396 [postgres@cjc-db-01 16396]$ ls -lrth 16397* -rw------- 1 postgres postgres 8.0K Jan 17 17:23 16397
查詢表所在表空間
新增表
create table t2(id int,name char(10)); create table t3(id int,name char(10)) tablespace cjctbs;
沒表空間資訊?
cjcdb=# \d+ t3 Table "public.t3" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------------+-----------+----------+---------+----------+--------------+------------- id | integer | | | | plain | | name | character(10) | | | | extended | | --- cjcdb=# select tableowner,schemaname,tablename,tablespace from pg_tables where tableowner='cjc'; tableowner | schemaname | tablename | tablespace ------------+------------+-----------+------------ cjc | public | t1 | cjc | public | t5 | cjc | public | t6 | (3 rows) --- select relname, relkind, relpages,pg_size_pretty(pg_relation_size(a.oid)), tb.spcname from pg_class a, pg_tablespace tb where a.reltablespace = tb.oid and a.relkind in ('r', 'i') order by a.relpages desc; --- select relname, relkind, relpages,pg_size_pretty(pg_relation_size(a.oid)),reltablespace,relowner from pg_class a, pg_tablespace tb where a.relkind in ('r', 'i') and a.reltablespace=tb.oid and tb.spcname='cjctbs' order by a.relpages desc;
修改表所在表空間
alter table t1 set tablespace cjctbs;
查詢表結構
cjcdb=# \d t1 Table "public.t1" Column | Type | Collation | Nullable | Default --------+---------------+-----------+----------+--------- id | integer | | | name | character(10) | | |
插入資料
cjcdb=# insert into t1 values(1,'a'),(2,'aaa'); INSERT 0 2 cjcdb=# select * from t1; id | name ----+------------ 1 | a 2 | aaa (2 rows)
檢視當前資料庫下所有表
postgres=# \c cjcdb You are now connected to database "cjcdb" as user "postgres". cjcdb=# \d List of relations Schema | Name | Type | Owner --------+------+-------+------- public | t1 | table | cjc (1 row)
檢視錶大小
cjcdb=# select pg_relation_size('t1'); pg_relation_size ------------------ 8192 (1 row)
檢視錶大小
cjcdb=# select pg_size_pretty(pg_relation_size('t1')); pg_size_pretty ---------------- 8192 bytes (1 row)
建立索引
cjcdb=# create index i_t1_id on t1(id);
檢視錶的總大小,包括索引大小
cjcdb=# select pg_size_pretty(pg_total_relation_size('t1')); pg_size_pretty ---------------- 24 kB (1 row)
檢視當前資料庫下所有索引
cjcdb=# \di List of relations Schema | Name | Type | Owner | Table --------+---------+-------+-------+------- public | i_t1_id | index | cjc | t1 (1 row)
檢視單個索引大小
cjcdb=# select pg_size_pretty(pg_relation_size('i_t1_id')); pg_size_pretty ---------------- 16 kB (1 row)
查詢表空間大小
cjcdb=# select pg_size_pretty(pg_tablespace_size('cjctbs')); pg_size_pretty ---------------- 7911 kB (1 row)
當前chen只有登入許可權
[postgres@cjc-db-01 ~]$ psql -h 172.16.6.137 -p 5678 -U chen -W cjcdb Password for user chen: psql.bin (10.23) Type "help" for help.
沒有查詢許可權
cjcdb=> select * from t1; ERROR: permission denied for relation t1
檢視授權語句
postgres=# \h grant; Command: GRANT Description: define access privileges Syntax: GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER } [, ...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [, ...] ) } ON [ TABLE ] table_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { { USAGE | SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] } ON { SEQUENCE sequence_name [, ...] | ALL SEQUENCES IN SCHEMA schema_name [, ...] } TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] } ON DATABASE database_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | ALL [ PRIVILEGES ] } ON DOMAIN domain_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | ALL [ PRIVILEGES ] } ON FOREIGN DATA WRAPPER fdw_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | ALL [ PRIVILEGES ] } ON FOREIGN SERVER server_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTION function_name [ ( [ [ argmode ] [ arg_name ] arg_type [, ...] ] ) ] [, ...] | ALL FUNCTIONS IN SCHEMA schema_name [, ...] } TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | ALL [ PRIVILEGES ] } ON LANGUAGE lang_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { { SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] } ON LARGE OBJECT loid [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { { CREATE | USAGE } [, ...] | ALL [ PRIVILEGES ] } ON SCHEMA schema_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { CREATE | ALL [ PRIVILEGES ] } ON TABLESPACE tablespace_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT { USAGE | ALL [ PRIVILEGES ] } ON TYPE type_name [, ...] TO role_specification [, ...] [ WITH GRANT OPTION ] GRANT role_name [, ...] TO role_specification [, ...] [ WITH ADMIN OPTION ] [ GRANTED BY role_specification ] where role_specification can be: [ GROUP ] role_name | PUBLIC | CURRENT_USER | SESSION_USER
表級別授權
[postgres@cjc-db-01 ~]$ psql -h 172.16.6.137 -p 5678 -U cjc -W cjcdb cjcdb=# GRANT SELECT ON TABLE t1 TO chen;
可以查詢
[postgres@cjc-db-01 ~]$ psql -h 172.16.6.137 -p 5678 -U chen -W cjcdb Password for user chen: psql.bin (10.23) Type "help" for help. cjcdb=> select * from t1; id | name ----+------------ 1 | a 2 | aaa (2 rows)
不能執行其他操作
cjcdb=> insert into t1 values(3,'xxx'); ERROR: permission denied for relation t1 cjcdb=> delete from t1; ERROR: permission denied for relation t1
回收許可權
[postgres@cjc-db-01 ~]$ psql -h 172.16.6.137 -p 5678 -U cjc -W cjcdb cjcdb=# revoke select on t1 from chen;
庫級別授權
cjcdb=# GRANT ALL ON DATABASE cjcdb to chen;
查詢許可權
檢視使用者表許可權
cjcdb=# select * from information_schema.table_privileges where grantee='cjc'; grantor | grantee | table_catalog | table_schema | table_name | privilege_type | is_grantable | with_hierarchy ---------+---------+---------------+--------------+------------+----------------+--------------+---------------- cjc | cjc | cjcdb | public | t1 | INSERT | YES | NO cjc | cjc | cjcdb | public | t1 | SELECT | YES | YES cjc | cjc | cjcdb | public | t1 | UPDATE | YES | NO cjc | cjc | cjcdb | public | t1 | DELETE | YES | NO cjc | cjc | cjcdb | public | t1 | TRUNCATE | YES | NO cjc | cjc | cjcdb | public | t1 | REFERENCES | YES | NO cjc | cjc | cjcdb | public | t1 | TRIGGER | YES | NO (7 rows)
檢視usage許可權表
select * from information_schema.usage_privileges where grantee='cjc';
檢視儲存過程函式相關許可權表
select * from information_schema.routine_privileges where grantee='cjc';
###chenjuchao 20230118 10:20###
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2932493/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PostgreSQL:許可權管理SQL
- MySQL資料庫許可權體系入門(3)---管理使用者許可權MySql資料庫
- 資料庫的許可權管理資料庫
- MySQL資料庫許可權體系入門(5)---管理資料庫許可權MySql資料庫
- 資料庫學習:許可權管理資料庫
- Oracle 使用者許可權管理與常用許可權資料字典列表Oracle
- ylbtech-許可權管理-資料庫設計-功能許可權管理技術資料庫
- 提取使用者許可權或是不同資料庫使用者許可權的同步資料庫
- MySQL資料庫許可權體系入門(4)---管理全域性許可權MySql資料庫
- 七、許可權管理和資料庫備份資料庫
- 淺談PostgreSQL使用者許可權SQL
- DBA 日常:規模使用者資料庫訪問許可權管理資料庫訪問許可權
- 使用者許可權設計(三)——通用資料許可權管理系統設計
- oracle資料庫使用者建立、許可權分配Oracle資料庫
- 【許可權管理】Oracle中檢視、回收使用者許可權Oracle
- 如何檢視postgresql使用者許可權SQL
- Oracle資料庫使用者許可權控制 - Role - SynonymOracle資料庫
- mysql使用者許可權管理MySql
- 使用者物件許可權管理物件
- Oracle使用者許可權管理Oracle
- 帶你學習DWS資料庫使用者許可權設計與管理資料庫
- 關於SQL Server資料庫中的使用者許可權和角色管理SQLServer資料庫
- MySQL 使用者管理與許可權管理MySql
- MySQL資料庫許可權體系入門(6)---管理表、列及程式相關許可權MySql資料庫
- Mysql資料庫許可權問題MySql資料庫
- 資料許可權
- MySQL 使用者及許可權管理?MySql
- MySQL使用者及許可權管理MySql
- MongoDB 使用者與許可權管理MongoDB
- 使用者許可權系統管理
- Oracle使用者角色許可權管理Oracle
- MySQL使用者與許可權管理MySql
- Oracle使用者、許可權、角色管理Oracle
- 【使用者管理】oracle使用者、角色、許可權管理Oracle
- SAP BO: 資料夾的許可權管理
- Oracle資料庫scott使用者建立view檢視許可權Oracle資料庫View
- 查詢資料庫使用者角色和許可權檢視資料庫
- SpringSecurity許可權管理系統實戰—九、資料許可權的配置SpringGse