我曾经使用过 Oracle,在创建新的数据库用户后,您需要授予他们一些权限,例如。连接(CREATE SESSION)到数据库或创建表(CREATE TABLE)。否则用户就毫无用处,实际上什么也做不了。
示例:
CREATE USER test_user WITH PASSWORD 'abc';
CREATE SCHEMA test_user ;
ALTER SCHEMA test_user OWNER TO test_user ;
现在我可以以 test_user 身份登录并在数据库中执行很多操作。
PostgreSQL 管理这些事情的方式与 Oracle 不同。
Oracle 拥有所有这些烦人的1“系统权限”; PostgreSQL 通过模式权限进行管理:如果用户对某个模式拥有
CREATE
权限,她可以在该模式中创建任意对象。
1 至少对我来说 — 为什么我不能默认在自己的表上创建视图?