本文为云贝教育刘峰(微信:yunbee_DBA)原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。
pg中的默认隔离级别为?
A、读未提交
B、读已提交
C、重复读
D、串行化
参考答案:B
解析
一、查看默认隔离级别参数
postgres=# show default_transaction_isolation;
default_transaction_isolation
-------------------------------
read committed
(1 row)
二、默认隔离级别 read committed
那读己提交是什么样的场景?接下来实验
1、开启事务1
postgres=# begin;
BEGIN
postgres=*# select txid_current();
txid_current
--------------
817
(1 row)
postgres=*# select * from t1;
id
----
1
2
(2 rows)
2、开启事务2
postgres=# begin;
BEGIN
postgres=*# select txid_current();
txid_current
--------------
818
(1 row)
postgres=*# select * from t1;
id
----
1
2
(2 rows)
3、事务1中修改数据并查询t1
postgres=*# update t1 set id=22 where id=2;
UPDATE 1
postgres=*# select * from t1;
id
----
1
22
(2 rows)
当前事务1中可以看到数据己改变
4、事务2中再次查询t
postgres=*# select * from t1;
id
----
1
2
(2 rows)
此时事务1中修改未提交,所以事物2中读不到未提交的数据
5、事务1中提交
postgres=*# commit;
COMMIT
6、事务2再次查看数据,发现己改变
postgres=*# select * from t1;
id
----
1
22
(2 rows)
PostgreSQL PGCE考试为理论考试,需通过两门考试才能拿到“PostgreSQL PGCE证书”。
以下是PostgreSQL官网的考试
PostgreSQL证书如下((四)合格考生公布:考后不超过 5 个工作日 “开源软件联盟 PostgreSQL 分会”公众号发布 证书寄送:考后统一寄送至培训机构)