我創建了一個新的超級用戶,以便該用戶可以運行COPY命令。 請注意,非超級用戶無法運行復制命令。 由於備份應用程序,我需要此用戶,並且該應用程序需要運行COPY命令用戶postgres和超級用戶有什麼區別?
但是,我指定的所有限制都不會生效(請參見下文)。 用戶postgres和超級用戶有什麼區別?
是否有更好的方法來實現我想要的?我研究了一個安全性定義爲postgres的函數......這對於多個表似乎有很多工作。
DROP ROLE IF EXISTS mynewuser;
CREATE ROLE mynewuser PASSWORD 'somepassword' SUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT LOGIN;
-- ISSUE: the user can still CREATEDB, CREATEROLE
REVOKE UPDATE,DELETE,TRUNCATE ON ALL TABLES IN SCHEMA public, schema1, schema2, schema3 FROM mynewuser;
-- ISSUE: the user can still UPDATE, DELETE, TRUNCATE
REVOKE CREATE ON DATABASE ip2_sync_master FROM mynewuser;
-- ISSUE: the user can still create table;
你想幹什麼?可以「複製」的非超級用戶角色? – Nicarus