婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > postgresql 賦權語句 grant的正確使用說明

postgresql 賦權語句 grant的正確使用說明

熱門標簽:打電話智能電銷機器人授權 合肥公司外呼系統運營商 美容工作室地圖標注 外呼調研系統 地圖標注和圖片名稱的區別 辦公外呼電話系統 漯河外呼電話系統 重慶自動外呼系統定制 海豐有多少商家沒有地圖標注
grant select on all tables in schema public to username;

此句是有效的復制語句

PG中有schema的概念,

以下的語句就是不行

網上得來終覺淺,錯誤比較多,還是要自己試試才行。

補充:postgresql關于訪問視圖需要的權限

某個用戶訪問一個視圖,這個用戶需要具備這個視圖的schema的usage和這個視圖本身的select權限,如果視圖的基表來自其他schema,可能還需要其他schema的usage權限(根據postgresql改造的redshift發現了此問題),但是這個用戶不需要視圖對應基表的select權限

如果基表被修改了或重建了,需要把基表重新賦權給視圖的owner,否則視圖無法生效,但是不需要把基表授權給需要訪問視圖的用戶,比如視圖view1的owner是viewowner,一個用戶user1有訪問view1的權限,一旦view1的基本table1被重建了,需要把基表table1的權限重新賦給viewowner,但是不需要把table1的權限重新賦給uers1

案例1:

用戶u2訪問s2.view1,用戶u2只需要s2的usage權限和s2.view1的select權限,而不需要s2.view1基表s1.table1的select權限和對應schema s1的usage權限

t1=# \c
You are now connected to database “t1” as user “postgres”
t1=# \dns
List of schemas
Name | Owner
--------±---------
public | postgres
s1 | postgres
s2 | postgres
(3 rows)
t1=# create user u1 password ‘123456';
CREATE ROLE
t1=# create user u2 password ‘123456';
CREATE ROLE
t1=# grant all privileges on schema s1 to u1;
GRANT
t1=# grant all privileges on schema s2 to u1;
GRANT
t1=# \c - u1
You are now connected to database “t1” as user “u1”.
t1=> create table s1.table1(hid int);
CREATE TABLE
t1=> create view s2.view1 as select * from s1.table1;
CREATE VIEW
t1=> \c - u2
You are now connected to database “t1” as user “u2”.
t1=> select * from s2.view1;
ERROR: permission denied for schema s2
LINE 1: select * from s2.view1;
t1=> \c - postgres
You are now connected to database “t1” as user “postgres”.
t1=# grant usage on schema s2 to u2;
GRANT
t1=# \c - u2
You are now connected to database “t1” as user “u2”.
t1=> select * from s2.view1;
ERROR: permission denied for view view1
t1=> \c - postgres
You are now connected to database “t1” as user “postgres”.
t1=# grant select on s2.view1 to u2;
t1=# \c - u2
You are now connected to database “t1” as user “u2”.
t1=> select * from s2.view1;
hid
(0 rows)

案例2:

redshift數據庫,用戶lukes訪問cl_crm.v_account,用戶lukes不僅需要cl_crm的usage權限和cl_crm.v_account的select權限,還需要cl_crm.v_account基表對應schema的usage權限,但是不需要基表raw_wam.ibdwsurvey、raw_c3.ibdwsurveyinfo的select權限

創建用戶lukes,并授權用戶擁有視圖cl_crm.v_account對應schema的usage權限

create user lukes password ‘X123_x123'
grant usage on schema cl_crm to lukes

lukes用戶查詢cl_crm.v_account視圖報錯

select * from cl_crm.v_account limit 1
Amazon Invalid operation: permission denied for schema raw_wam;
1 statement failed.

對用戶lukes授權usage在視圖基表對應的schema上

grant usage on schema raw_wam to lukes
grant usage on schema raw_c3 to lukes

lukes用戶查詢cl_crm.v_account視圖繼續報錯

Amazon Invalid operation: permission denied for relation v_account;

對用戶lukes授權訪問視圖的select權限

grant select on table cl_crm.v_account to lukes

lukes用戶查詢cl_crm.v_account正常了

cl_crm.v_account視圖語句是

CREATE or replace view cl_crm.v_account as with userids as (
select distinct su.ibsu_userid from raw_wam.ibdwsurvey su
left join raw_c3.ibdwsurveyinfo si …)

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • PostgreSQL 字符串拆分與合并案例
  • postgresql合并string_agg函數的實例
  • postgreSQL的crud操作詳解
  • PostgreSQL 序列增刪改案例
  • postgresql重置序列起始值的操作
  • PostgreSQL批量修改函數擁有者的操作
  • PostgreSQL 默認權限查看方式
  • PostgreSQL的upsert實例操作(insert on conflict do)

標簽:蚌埠 晉城 衡陽 來賓 珠海 株洲 烏海 錦州

巨人網絡通訊聲明:本文標題《postgresql 賦權語句 grant的正確使用說明》,本文關鍵詞  postgresql,賦權,語句,grant,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《postgresql 賦權語句 grant的正確使用說明》相關的同類信息!
  • 本頁收集關于postgresql 賦權語句 grant的正確使用說明的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 岢岚县| 潞城市| 鹤峰县| 亳州市| 施甸县| 盘锦市| 吉安市| 大石桥市| 中江县| 南昌市| 深州市| 炎陵县| 肃宁县| 法库县| 福安市| 义乌市| 延寿县| 获嘉县| 兰西县| 探索| 甘南县| 额敏县| 赤水市| 福鼎市| 湟中县| 开平市| 龙山县| 神木县| 安丘市| 易门县| 闽侯县| 图木舒克市| 华阴市| 榆中县| 芜湖市| 凤山市| 双鸭山市| 张家界市| 天峨县| 忻州市| 六枝特区|