欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

postgresql 賦權(quán)語句 grant的正確使用說明

 更新時(shí)間:2021年01月04日 10:11:13   作者:weixin_42472771  
這篇文章主要介紹了postgresql 賦權(quán)語句 grant的正確使用說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
grant select on all tables in schema public to username;

此句是有效的復(fù)制語句

PG中有schema的概念,

以下的語句就是不行

網(wǎng)上得來終覺淺,錯(cuò)誤比較多,還是要自己試試才行。

補(bǔ)充:postgresql關(guān)于訪問視圖需要的權(quán)限

某個(gè)用戶訪問一個(gè)視圖,這個(gè)用戶需要具備這個(gè)視圖的schema的usage和這個(gè)視圖本身的select權(quán)限,如果視圖的基表來自其他schema,可能還需要其他schema的usage權(quán)限(根據(jù)postgresql改造的redshift發(fā)現(xiàn)了此問題),但是這個(gè)用戶不需要視圖對應(yīng)基表的select權(quán)限

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

案例1:

用戶u2訪問s2.view1,用戶u2只需要s2的usage權(quán)限和s2.view1的select權(quán)限,而不需要s2.view1基表s1.table1的select權(quán)限和對應(yīng)schema s1的usage權(quán)限

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數(shù)據(jù)庫,用戶lukes訪問cl_crm.v_account,用戶lukes不僅需要cl_crm的usage權(quán)限和cl_crm.v_account的select權(quán)限,還需要cl_crm.v_account基表對應(yīng)schema的usage權(quán)限,但是不需要基表raw_wam.ibdwsurvey、raw_c3.ibdwsurveyinfo的select權(quán)限

創(chuàng)建用戶lukes,并授權(quán)用戶擁有視圖cl_crm.v_account對應(yīng)schema的usage權(quán)限

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

lukes用戶查詢cl_crm.v_account視圖報(bào)錯(cuò)

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

對用戶lukes授權(quán)usage在視圖基表對應(yīng)的schema上

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

lukes用戶查詢cl_crm.v_account視圖繼續(xù)報(bào)錯(cuò)

Amazon Invalid operation: permission denied for relation v_account;

對用戶lukes授權(quán)訪問視圖的select權(quán)限

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 …)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Postgresql創(chuàng)建新增、刪除與修改觸發(fā)器的方法

    Postgresql創(chuàng)建新增、刪除與修改觸發(fā)器的方法

    這篇文章主要介紹了Postgresql創(chuàng)建新增、刪除與修改觸發(fā)器的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • PostgreSQL數(shù)據(jù)庫中窗口函數(shù)的語法與使用

    PostgreSQL數(shù)據(jù)庫中窗口函數(shù)的語法與使用

    這PostgreSQL中提供了窗口函數(shù),一個(gè)窗口函數(shù)在一系列與當(dāng)前行有某種關(guān)聯(lián)的表行上進(jìn)行一種計(jì)算。下面這篇文章主要給大家介紹了關(guān)于PostgreSQL數(shù)據(jù)庫中窗口函數(shù)的語法與使用的相關(guān)資料,需要的朋友可以參考下
    2019-03-03
  • Postgres copy命令導(dǎo)入導(dǎo)出數(shù)據(jù)的操作方法

    Postgres copy命令導(dǎo)入導(dǎo)出數(shù)據(jù)的操作方法

    最近有需要對數(shù)據(jù)進(jìn)行遷移的需求,由于postgres性能的關(guān)系,單表3000W的數(shù)據(jù)量查詢起來有一些慢,需要對大表進(jìn)行切割,拆成若干個(gè)子表,涉及到原有數(shù)據(jù)要遷移到子表的需求,這篇文章主要介紹了Postgres copy命令導(dǎo)入導(dǎo)出數(shù)據(jù)的操作方法,需要的朋友可以參考下
    2024-08-08
  • Postgresql - 查看鎖表信息的實(shí)現(xiàn)

    Postgresql - 查看鎖表信息的實(shí)現(xiàn)

    這篇文章主要介紹了Postgresql 查看鎖表信息的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • PostgreSQL 啟動(dòng)失敗的解決方案

    PostgreSQL 啟動(dòng)失敗的解決方案

    這篇文章主要介紹了PostgreSQL 啟動(dòng)失敗的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL 使用raise函數(shù)打印字符串

    PostgreSQL 使用raise函數(shù)打印字符串

    這篇文章主要介紹了PostgreSQL 使用raise函數(shù)打印字符串,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Postgresql開啟SQL執(zhí)行語句收集過程

    Postgresql開啟SQL執(zhí)行語句收集過程

    本文介紹如何修改PostgreSQL的配置文件來啟用SQL執(zhí)行語句的日志記錄,包括打開配置文件、修改日志相關(guān)設(shè)置以及查看日志文件的方法,關(guān)鍵步驟包括刪除注釋符號、設(shè)定日志存儲(chǔ)路徑和文件名、選擇記錄的SQL語句類型,此操作有助于數(shù)據(jù)庫管理和問題調(diào)試
    2024-10-10
  • PostgreSQL limit的神奇作用詳解

    PostgreSQL limit的神奇作用詳解

    這篇文章主要介紹了PostgreSQL limit的神奇作用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-09-09
  • postgresql 中的加密擴(kuò)展插件pgcrypto用法說明

    postgresql 中的加密擴(kuò)展插件pgcrypto用法說明

    這篇文章主要介紹了postgresql 中的加密擴(kuò)展插件pgcrypto用法說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • postgresql 實(shí)現(xiàn)將字段為空的值替換為指定值

    postgresql 實(shí)現(xiàn)將字段為空的值替換為指定值

    這篇文章主要介紹了postgresql 實(shí)現(xiàn)將字段為空的值替換為指定值,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01

最新評論