1. 执行如下语句,实际插入的值为:BEGIN; INSERT INTO TABLE1 VALUES (1); SAVEPOINT my_savepoint;insert into table1 values(2); rollback to savepoint my_savepoint;insert into table1 values (3);COMMIT;
A. 1,2,3 B. 1,2
C. 1,3 D. 2,3
解析:C,1,3正确,2回滚了没执行成功-----?保存点解释
2.. 数据库的锁用于提供 B
A.改进性能
B.保证数据完整性和一致性
C.可用性和易于维护
D.用户安全
解析:C选项“可用性和易于维护”通常是指其他数据库特性,如备份、恢复、索引等,而不是锁直接提供的功能。
D选项“用户安全”更多地与访问控制、权限管理和身份验证有关,而不是锁的直接作用。
3. 为select语句加上for update会给表上施加什么锁 B
A.ACCESS EXCLUSIVE
B.ROW SHARE
C.ROW EXCLUSIVE
D.SHARE UPDATE EXCLUSIVE
解析:B,对表的行共享锁。这种类型的锁运行读取指定行,但不允许其它事务获取排他锁,例如更新删除等操作;
4. pg中的默认隔离级别为? B
A、读未提交
B、读已提交
C、重复读
D、串行化
解析:SHOW transaction_isolation;
transaction_isolation
-----------------------
read committed
5.(多选题)PostgreSQL数据库中有以下哪几种锁? AC
A.表级锁
B.数据库级锁
C.行级锁
D.列级锁
解析:PG有表级锁、行级锁、页级锁、死锁、咨询锁。
咨询锁:当前被任何会话所持有的咨询锁的完整列表可以在pg_locks系统视图中找到;
数据库级锁(尽管某些操作可能需要锁定整个数据库,但这是通过锁定表或模式来间接实现的);
列级锁(PostgreSQL不提供列级锁定,锁定是针对表或行的)





