云贝教育 |【PostgreSQL PGCE-091题目解析29】在pg中,update操作默认是否是自动提交?

考试科目:PGCE-E-091

考试题量:44 道单项选择题、29 道多项选择题(每题 2 分)

通过分数:60%

考试时间:60min

本文为++云贝教育刘峰(微信:yunbee_DBA)原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。++


在pg中,update操作默认是否是自动提交?

A. 是

B. 不是

C. 不知道

D. 看情况

参考答案:A


解析:

要确认数据库默认设置的参数,通过以下命令确认

sql 复制代码
testdb=# \set
AUTOCOMMIT = 'off'
。。。。省略

设置会话级别AUTOCOMMIT 关闭

sql 复制代码
testdb=# \set AUTOCOMMIT off

查看AUTOCOMMIT

sql 复制代码
testdb=# \echo :AUTOCOMMIT
off

1)在AUTOCOMMIT默认的情况下

sql 复制代码
testdb=# \echo :AUTOCOMMIT
on

实验数据提交状态

sql 复制代码
1、查看初始表的数据量
testdb=# select count(1) from t2;
count
-------
2000
(1 row)

2、执行insert语句
testdb=*# insert into t2 select * from t2;
INSERT 0 2000

3、本窗口查询
testdb=*# select count(1) from t2;
count
-------
4000
(1 row)

4、再开一个窗口执行
testdb=# select count(1) from t2;
count
-------
4000
(1 row)

2)在AUTOCOMMIT=OFF的情况下

sql 复制代码
testdb=# \echo :AUTOCOMMIT
off

实验数据提交状态

sql 复制代码
1、查看初始表的数据量
testdb=# select count(1) from t2;
count
-------
2000
(1 row)

2、执行insert语句
testdb=*# insert into t2 select * from t2;
INSERT 0 2000

3、本窗口查询
testdb=*# select count(1) from t2;
count
-------
4000
(1 row)

4、再开一个窗口执行
testdb=# select count(1) from t2;
count
-------
2000
(1 row)

5、在3的窗口上,执行commit;
testdb=*# commit;
COMMIT
testdb=# select count(1) from t2;
count
-------
4000
(1 row)

6、在4的窗口上再次查询
testdb=# select count(1) from t2;
count
-------
4000
(1 row)

综上实验,可以确认pg的自动提交是关闭状态。

相关推荐
中草药z14 分钟前
【JavaEE】http/https 超级详解
网络·笔记·网络协议·学习·http·https·计网
新手unity自用笔记1 小时前
项目-坦克大战学习-游戏结束
学习·游戏
Geek之路1 小时前
Qt系统学习篇(6)-QMainWindow
数据库·qt·学习
Zhang_xiangyou1 小时前
【图论】1 (最小生成树&虚拟点思想)C.戴森球计划 题解
c++·学习·算法·图论
wclass-zhengge1 小时前
Redis篇(Redis原理 - 网络模型)
网络·数据库·redis
周周写不完的代码1 小时前
redis-数据类型
数据库·redis·缓存
GFCGUO1 小时前
Ubuntu18.04配置OpenPCDet并运行demo过程记录
linux·python·学习·ubuntu·conda·pip
shylyly_2 小时前
Linux的基本指令(3)
数据库·mysql·linux的基本指令
2402_857583492 小时前
新闻推荐系统:Spring Boot的架构优势
数据库·spring boot·架构
Data 3172 小时前
Hive数仓操作(三)
大数据·数据库·数据仓库·hive·hadoop