我是 Postgres 的新手,我正在尝试了解模式如何适应一切以及非“公共”模式的好处。例如,它是否提供安全、访问控制优势或其他什么?
我正在使用的设置是 postgres 拥有数据库和表,但授予另一个用户选择、插入、更新和删除的权限。在“公共”模式与“myotherschema”中创建表会产生很大的不同吗?
我是 Postgres 的新手,我正在尝试了解模式如何适应一切以及非“公共”模式的好处。例如,它是否提供安全、访问控制优势或其他什么?
我正在使用的设置是 postgres 拥有数据库和表,但授予另一个用户选择、插入、更新和删除的权限。在“公共”模式与“myotherschema”中创建表会产生很大的不同吗?
我正在创建一个 pre-prod Postgres 数据库,并希望确保访问用户具有有限的访问权限。
我想以访问用户不能或对象的方式CREATE
设置DROP
表ALTER
。目前,我可以看到将所有权更改为另一个用户的唯一方法,例如postgres
然后以某种方式仅授予所需的权限:
ALTER TABLE mytable SET OWNER TO postgres;
REVOKE connect ON DATABASE mydatabase FROM PUBLIC;
GRANT USAGE, SELECT, UPDATE ON ALL TABLES IN SCHEMA public TO dbuser;
GRANT connect ON DATABASE mydatabase TO dbuser;
SELECT
问题是当我执行上述操作时,当我与授予应用程序的用户连接时,我无法做一个简单的事情。例如:
select * from mytable;
产量:
ERROR: permission denied for relation mytable
如何做到这一点?
此外,我应该使用除 ? 之外的命名模式public
?
任何人都可以指出备份 MongoDB 数据库的正确方法mongodump
吗?
我努力了:
mongodump --host "cluster0-shard-00-00-2djno.mongodb.net:27017,cluster0-shard-00-01-2djno.mongodb.net:27017,cluster0-shard-00-02-2djno.mongodb.net:27017" \
--authenticationDatabase admin --ssl --username admin \
--password mypassword -o /tmp
当我这样做时,我得到:
Failed: error connecting to db server: no reachable servers
ping
使用和命令验证与单个节点的连接,以telnet
使这些节点有效。
mongodump
版本是 3.2.13 。