开发者社区> chrisx> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

PostgreSQL小记-关闭psql自动提交

简介: psql工具默认开启自动提交功能(AUTOCOMMIT = 'on')==psql工具默认开启自动提交功能(AUTOCOMMIT = 'on')== -测试postgres=# select version(); version PostgreSQL 10.
+关注继续查看

psql工具默认开启自动提交功能(AUTOCOMMIT = 'on')

1. 测试

postgres=# select version();                                            
version
-----------------------------------------------------------------------------
PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
(1 row)
postgres=# \d test
Table "public.test"
Column |  Type   | Collation | Nullable | Default 
--------+---------+-----------+----------+---------
id     | integer |           |          | 
postgres=# insert into test values (1);
INSERT 0 1
postgres=# select * from test;
id 
----
1
(1 row)
postgres=# insert into test values (2);
INSERT 0 1
postgres=# rollback;
WARNING:  there is no transaction in progress
ROLLBACK
postgres=# select * from test;
id 
----
1
2
(2 rows)

2. 查看自动提交功能状态

postgres=# \set
AUTOCOMMIT = 'on'
COMP_KEYWORD_CASE = 'preserve-upper'
DBNAME = 'postgres'
ECHO = 'none'

3. 关闭自动提交功能

postgres=# \set AUTOCOMMIT off
postgres=# \set
AUTOCOMMIT = 'off'
COMP_KEYWORD_CASE = 'preserve-upper'
DBNAME = 'postgres'
ECHO = 'none'

4. 验证

postgres=# insert into test values (3);
INSERT 0 1
postgres=# select * from test;
id 
----
1
2
3
(3 rows)

postgres=# rollback;
ROLLBACK
postgres=# select * from test;
id 
----
1
2
(2 rows)

    postgres=#

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL?PostgreSQL?又开撕了...
MySQL?PostgreSQL?又开撕了...
6 0
MySQL?PostgreSQL?又开撕了...
MySQL?PostgreSQL?又开撕了...
19 0
EDB PPAS的"坑" 不兼容PostgreSQL一例
这样一段正常的兼容ORACLE的代码,在使用社区版本的psql连接到PPAS时,执行异常 postgres=> create table about_we (id int, info text); create sequence SEQ_ABOUT_WE_ID; postgres=> C
3792 0
postgresql 正则暗坑
--注意pg的正则使用不正会有隐患 postgres=# select * from t; id | name ----+------ 1 | bill 1 | bill 1 | bill (3 rows) --注意,由于没有匹配正则,其执行了过滤操作(其是在se
1862 0
postgresql 正则暗坑
--注意pg的正则使用不正会有隐患 postgres=# select * from t; id | name ----+------ 1 | bill 1 | bill ...
760 0
+关注
13
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载