今天pg數據庫需要添加一個只讀用戶,由於在pgAdmin4中無法添加,遂用sql添加,遇到了一個大坑,很基礎的問題,只怪自己學藝不精,一次提醒自己;
注意;postgresql數據庫對大小寫不敏感!!!
CREATE USER test2 WITH ENCRYPTED PASSWORD 'test2'; alter user test2 set default_transaction_read_only=on; GRANT USAGE ON SCHEMA public to test2; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO test2; GRANT USAGE ON SCHEMA public to test2; GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO test2; GRANT SELECT ON ALL TABLES IN SCHEMA public TO test2;
參考 內容;
創建用戶及指定密碼: CREATE USER readonly WITH ENCRYPTED PASSWORD 'ropass'; 設置用戶默認事務只讀: alter user readonly set default_transaction_read_only=on; 賦予用戶權限,查看public模式下所有表: GRANT USAGE ON SCHEMA public to readonly; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly; 賦予用戶連接數據庫權限: GRANT CONNECT ON DATABASE foo to readonly; 切換到指定數據庫: \c foo 賦予用戶表、序列查看權限: GRANT USAGE ON SCHEMA public to readonly; GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readonly; GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;
postgresql創建只讀用戶 1.創建一個用戶名為readonly密碼為ropass的用戶 CREATE USER readonly WITH ENCRYPTED PASSWORD 'ropass'; 2.用戶只讀事務 alter user readonly set default_transaction_read_only=on; 3.把所有庫的語言的USAGE權限給到readonly GRANT USAGE ON SCHEMA public to readonly; 4.授予select權限(這句要進入具體數據庫操作在哪個db環境執行就授予那個db的權) grant select on all tables in schema public to readonly;
這個是如何刪除的
https://blog.csdn.net/qq_37568918/article/details/85339277?utm_medium=distribute.pc_relevant_right.none-task-blog-OPENSEARCH-3.nonecase&depth_1-utm_source=distribute.pc_relevant_right.none-task-blog-OPENSEARCH-3.nonecase
https://www.cnblogs.com/liuyanerfly/p/10731271.html
https://blog.csdn.net/dhiivgzni65686145/article/details/101870382