云贝教育 |【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的自动提交是关闭状态。

相关推荐
星火开发设计2 小时前
枚举类 enum class:强类型枚举的优势
linux·开发语言·c++·学习·算法·知识
程序员清洒7 小时前
Flutter for OpenHarmony:GridView — 网格布局实现
android·前端·学习·flutter·华为
VX:Fegn08957 小时前
计算机毕业设计|基于ssm + vue超市管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·后端·课程设计
chipsense7 小时前
电流传感器型号从数据库查询并排序输出到网页的方法
数据库·php·传感器·霍尔电流传感器
喜欢吃燃面7 小时前
Linux:环境变量
linux·开发语言·学习
代码游侠7 小时前
ARM开发——阶段问题综述(二)
运维·arm开发·笔记·单片机·嵌入式硬件·学习
踢足球09297 小时前
寒假打卡:2026-01-28
数据库·oracle
麦聪聊数据7 小时前
智慧医疗数据互联互通:使用 QuickAPI 构建实时诊疗数据交换层
数据库·sql·安全
风吹落叶花飘荡7 小时前
2026年mysql数据库迁移(全流程)
数据库·mysql
2301_822382767 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python