客服微信
考试科目:PGCE-E-091
考试题量:44 道单项选择题、29 道多项选择题(每题 2 分)
通过分数:60%
考试时间:60min
本文为云贝教育刘峰(微信:yunbee_DBA)原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。
当多个事务同时运行时,一个事务可以看到另一个事务未提交的内容吗?
A、不能
B、可以看到
C、事务不能并行运行
D、如果两个事务同时操作一张表,可以看到
参考答案:A
测试各种隔离级别的情况
1、Repeatable Read(可重复读)
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
2、Serializable(可串行化)
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
3、Read Uncommitted(未提交读)
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
这里以默认隔离级别READ COMMITTED来实验
在 PostgreSQL 的默认隔离级别 READ COMMITTED 下,一个事务无法看到另一个未提交的事务的内容。每个事务都只能看到已经提交的更改。
以下是一个简单的示例,演示了在 READ COMMITTED 隔离级别下,一个事务对数据的修改对其他未提交事务是不可见的:
-- 创建一个表 CREATE TABLE example_table ( id serial PRIMARY KEY, value text ); -- 开始第一个事务 BEGIN; -- 在第一个事务中插入一行数据 INSERT INTO example_table (value) VALUES ('Transaction 1'); -- 在第一个事务中查询数据,能够看到自己的修改 SELECT * FROM example_table; -- Output: 1 | Transaction 1 -- 开始第二个事务 BEGIN; -- 在第二个事务中查询数据,此时看不到第一个事务的未提交修改 SELECT * FROM example_table; -- Output: (empty set) -- 在第二个事务中插入一行数据 INSERT INTO example_table (value) VALUES ('Transaction 2'); -- 在第二个事务中查询数据,能够看到自己的修改 SELECT * FROM example_table; -- Output: 2 | Transaction 2 -- 提交第一个事务 COMMIT; -- 在第二个事务中再次查询数据,此时能够看到第一个事务的已提交修改 SELECT * FROM example_table; -- Output: 1 | Transaction 1 -- 2 | Transaction 2 -- 提交第二个事务 COMMIT;
在上述示例中,第一个事务在插入一行数据后,第二个事务无法看到未提交的修改。只有在第一个事务提交后,第二个事务才能看到已提交的修改。这是由于 READ COMMITTED 隔离级别的特性。
PostgreSQL PGCE考试为理论考试,需通过两门考试才能拿到“PostgreSQL PGCE证书”。
以下是PostgreSQL官网的考试费,可以添加云贝教育的课程顾问老师微信19941464235或者19906632509,咨询有优惠。
PostgreSQL证书如下 合格考生公布:考后不超过 5 个工作日 “开源软件联盟 PostgreSQL 分会”公众号发布 证书寄送:考后统一寄送至培训机构)
云贝教育有专业的PostgreSQL PGCE认证培训课程,想快速通过考试的同学可以扫码联系老师咨询(点击文字转跳至PostgreSQL PGCE大纲)