- psql元命令\du和\dg都可以列出角色/用户,这两个命令是等价的吗
解析: \du和\dg命令等价,因为pg中用户和角色不区分
2. 在PostgresSQL中,参数默认的情况下,普通用户最多可建立多少个连接? C
A.100
B.103
C.97
D.3
解析:PG默认 最大并发客户端连接数 max_connections 是100,superuser_reserved_connections(默认通常是3,用于超级用户),实际上可供所有非超级用户使用的最大连接数将是 100 - 3 = 97个连接。
3. 具有类似MySQL的auto_increment属性功能的数据类型是 C
A.integer
B.number
C.serial
D.numeric
4. 使用普通用户user1新建了一个数据库scott,下列说法不正确的是 C
A.用户user1具有createdb权限
B.超级用户system可以直接删除数据库scott
C.超级用户system可以直接删除用户user1
D.用户user1是数据库scott的拥有者
解析: C错误,超级用户可以删除任何用户是对的,但是它拥有数据库,直接删除不行,因为这会导致对象失去所有者,从而引发错误。其它同理,得先删除用户内依赖和对象。

5. (多选题)下列SQL语句能够正确执行的有:
A. begin; table t; insert into t(id) values(1 ); commit;
B .\set ON_ERROR_ROLLBACK on begin; table t; insert into t(id) values(1); commit;
C. \set ON_ERROR_ROLLBACK off begin; table t; insert into t(id) values(1 ); commit;
D. Begin; table t; ROLLBACK; insert into t(id) values(1); commit;
解析:AD ,或者 ABCD
反正A 肯定是对的,BC答案 set和begin不能一行执行;
DROLLBACK; 会回滚 BEGIN 到ROLLBACK 之间所有事务修改。
不理解怎么选,欢迎大家留言附上一张图片供大家探讨。





