暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片
PostgreSQL——关于autocommit功能的实现.docx
171
9页
14次
2024-09-12
免费下载
一、前言
文章标题为
PostgreSQL——
关于
autocommit
功能的实现,其实更为准确来说应该是
psql——
关于
autocommit
功能的实现,因为这个参数其实属于
psql
对于
autocommit
,相信绝大多数的
DBA
同学都不会感到陌生。因为不管是
Oracle
数据
库还是
PostgreSQL
数据库(估计关系型数据库)都存在这麽一个参数。
今天我们来看一看在
PostgreSQL
中,这个功能是如何实现的。在了解这个功能之前,我
们先铺垫一下
autocommit
参数的查看和使用。
二、
autocommit
参数的查看和使用
2.1
、查看
autocommit
参数
PostgreSQL
中查看该参数我们可以使用
\set
,前提是我们使用
psql
正确登录成功连接
会话进程
[postgres@halo-centos-8-release ~]$ psql
psql (17beta1)
Type "help" for help.
postgres=# \set
AUTOCOMMIT = 'on'
COMP_KEYWORD_CASE = 'preserve-upper'
DBNAME = 'postgres'
ECHO = 'none'
ECHO_HIDDEN = 'off'
......
postgres=#
而在
Oracle
数据库中我们可通过
show autocommit;
比方说使用
sqlplus / as sysdba
登录连接
Oracle
数据库
SQL> show autocommit;
autocommit OFF
可以看到的是,在
PostgreSQL
中,
autocommit
功能是默认开启的,在这种情形之下,
每条
SQL
语句都自成一个事务,当
SQL
语句一旦执行完便提交此事务。
而当我们想将多个
SQL
语句,组成一个大的事务操作时,可以将这多个
SQL
语句置于
BEGIN
... END/COMMIT;
BEGIN;
--
相关
SQL
操作
END; -- COMMIT
而在
Oracle
autocommit
则是默认关闭的,当进行了一个或多个修改数据的操作时,
需要在最后显式使用
COMMIT
命令,不然当连接断开时,之前对数据库进行的相关操作将
会被回滚。(注:
DDL
除外,在
Oracle
数据库中
DDL
隐含了
COMMIT
操作)
--
一个或多个操作
COMMIT
如果
PostgreSQL
想和
Oracle
在这方面保持一致的话,简单修改一下
autocommit
参数,
将其置为
of
即可,接下来介绍一下如何修改该参数。
2.2
、修改
autocommit
参数设置
PostgreSQL
中修改该参数我们可以使用
\set AUTOCOMMIT of/on
(区分大小写),
如下所示
[postgres@halo-centos-8-release ~]$ psql
psql (17beta1)
Type "help" for help.
postgres=# \set AUTOCOMMIT off
postgres=# \set
AUTOCOMMIT = 'off'
COMP_KEYWORD_CASE = 'preserve-upper'
DBNAME = 'postgres'
......
postgres=# \set AUTOCOMMIT on
postgres=# \set
AUTOCOMMIT = 'on'
of 9
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜