os: centos 7.4
db: postgresql 10.11

postgresql 默认的 isolation level 为 read committed,可以调整隔离级别。

版本

# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
#
#
# su - postgres
Last login: Wed Jan 15 18:34:12 CST 2020 on pts/0
$
$
$ psql -c "select version();"version
----------------------------------------------------------------------------------------------------------PostgreSQL 10.11 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
(1 row)

set transaction isolation level

postgres=# select name,setting from pg_settings where name like 'transaction%';name          |    setting
------------------------+----------------transaction_deferrable | offtransaction_isolation  | read committedtransaction_read_only  | off
(3 rows)postgres=# \h set transaction
Command:     SET TRANSACTION
Description: set the characteristics of the current transaction
Syntax:
SET TRANSACTION transaction_mode [, ...]
SET TRANSACTION SNAPSHOT snapshot_id
SET SESSION CHARACTERISTICS AS TRANSACTION transaction_mode [, ...]where transaction_mode is one of:ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }READ WRITE | READ ONLY[ NOT ] DEFERRABLE
postgres=# set transaction isolation level serializable;
WARNING:  SET TRANSACTION can only be used in transaction blocks
SET

serializable

postgres=# begin;
postgres=# set transaction isolation level serializable;
postgres=# show transaction_isolation;transaction_isolation
-----------------------serializable
(1 row)postgres=# rollback;

repeatable read

postgres=# begin;
postgres=# set transaction isolation level repeatable read;
postgres=# show transaction_isolation;transaction_isolation
-----------------------repeatable read
(1 row)postgres=# rollback;

read committed

postgres=# begin;
postgres=# set transaction isolation level read committed;
postgres=# show transaction_isolation;transaction_isolation
-----------------------read committed
(1 row)postgres=# rollback;

read uncommitted

postgres=# begin;
postgres=# set transaction isolation level read uncommitted;
postgres=# show transaction_isolation;transaction_isolation
-----------------------read uncommitted
(1 row)postgres=# rollback;

begin

postgres=# \h begin
Command:     BEGIN
Description: start a transaction block
Syntax:
BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]where transaction_mode is one of:ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }READ WRITE | READ ONLY[ NOT ] DEFERRABLE

serializable

postgres=# begin transaction isolation level serializable;
postgres=# show transaction_isolation;transaction_isolation
-----------------------serializable
(1 row)postgres=# rollback;

repeatable read

postgres=# begin transaction isolation level repeatable read;
postgres=# show transaction_isolation;transaction_isolation
-----------------------repeatable read
(1 row)postgres=# rollback;

read committed

postgres=# begin transaction isolation level read committed;
postgres=# show transaction_isolation;transaction_isolation
-----------------------read committed
(1 row)postgres=# rollback;

read uncommitted

postgres=# begin transaction isolation level read uncommitted;
postgres=# show transaction_isolation;transaction_isolation
-----------------------read uncommitted
(1 row)postgres=# rollback;

参考:
http://postgres.cn/docs/10/sql-set-transaction.html

postgresql 事务隔离级别 set transaction isolation level相关推荐

  1. linux事务隔离级别,事务的隔离级别(Transaction isolation levels)2

    READ COMMITTED READ COMMITTED这是数据库默认的隔离级别.它能保证你不能读取那张表格数据,只要有其它事务还在改变这张表格数据.可是,因为sql server在select操作 ...

  2. 事务的隔离级别(Transaction isolation levels)5

    2019独角兽企业重金招聘Python工程师标准>>> SERIALIZABLE隔离级别可以确保,如果一个查询语句多次执行,不会有数据改变.换句话说,在一个事务里执行相同的查询语句两 ...

  3. pb设置Oracle事务的隔离级别,Oracle的事务隔离级别

    ANSI/ISO SQL规定了四种事务隔离级别,分别是:read uncommitted,read committed,repeatable read,serializable ORACE提供了SQ9 ...

  4. 事务隔离级别神话与误解

    在今天的文章里我想谈下SQL Server里现存的各种事务隔离级别的神话和误解.主要我会谈谈下列话题: 什么是事务隔离级别(Transaction Isolation Levels)? NOLOCK从 ...

  5. Sql Server事务+隔离级别+阻塞+死锁

    背景 分析事务的执行过程 写在前面 摘录自https://www.cnblogs.com/jackson0714/p/TSQLFundamentals_08.html link 分析当前查询中的锁 s ...

  6. SQL Server事务隔离级别详解

    SQL Server事务隔离级别详解 标签: SQL SEERVER/MSSQL SERVER/SQL/事务隔离级别选项/设置数据库事务级别 SQL 事务隔离级别 概述 隔离级别用于决定如果控制并发用 ...

  7. 五分钟搞清楚MySQL事务隔离级别

    好久没碰数据库了,只是想起自己当时在搞数据库的时候在事务隔离级别这块老是卡,似懂非懂的.现在想把这块整理出来,尽量用最简洁的语言描述出来,供新人参考. 首先创建一个表account.创建表的过程略过( ...

  8. mysql不支持python3吗_MySQL的4种事务隔离级别你还不清楚吗?

    前言 现在想把数据库这块整理出来,尽量用最简洁的语言描述出来,供新人参考. 首先创建一个表 account.创建表的过程略过(由于 InnoDB 存储引擎支持事务,所以将表的存储引擎设置为 InnoD ...

  9. sequelize怎么看插入的数据成功不成功_MySQL的4种事务隔离级别你还不清楚吗?

    前言 现在想把数据库这块整理出来,尽量用最简洁的语言描述出来,供新人参考. 首先创建一个表 account.创建表的过程略过(由于 InnoDB 存储引擎支持事务,所以将表的存储引擎设置为 InnoD ...

最新文章

  1. 搞懂限流算法这一篇就够了 No.154
  2. 第十四篇:有概率的上下文无关语法Probabilistic Context-Free Grammar
  3. 【iOS开发-8】UIButton类型属性简单归纳以及自定义按钮的设置
  4. Design Pattern Strategy C
  5. 左耳朵耗子论微服务 Serverless 及 FaaS | GIAC 访谈
  6. 释疑の资源短缺DATASET_CANT_CLOSE
  7. AIX上报:“Shell will time out in 60 seconds” 解决办法
  8. 在类模板的声明和定义中把.h与.cpp分离
  9. 64位的Mac OS X也有Windows.Forms了
  10. Prime Distance On Tree-树分治+FFT
  11. window 2008+apache2.4.4+php5.5+mysql-5.6.12+phpmyadmin4.0.4.1安装过程(参考他人文章基础上加上自己遇到的问题)...
  12. [并非笑话]当Borland的工程师向微软寻求技术支持时
  13. codeM美团编程大赛初赛B轮E题
  14. php 按行读取并分割字符串
  15. 南卫理公会大学 计算机排名,2020年南卫理公会大学Times世界排名
  16. linux安装pyodbc模块,Linux下安装pyodbc报错 error: command 'gcc' failed with exit status 1
  17. 苹果屏蔽更新描述文件_无需越狱,屏蔽 iOS 更新的描述文件来了
  18. 【EverydaySport】健身笔记——人体肌肉分解图
  19. 1039: 绝对值最大(C语言)
  20. jQuery 案例-图片抽奖

热门文章

  1. Java物品清单结算
  2. Tikz学习笔记(一)
  3. 电商b2b_企业对企业– B2B | 第2部分
  4. B2B2C商城系统以及优点
  5. Codeforces Round #533(Div. 2) A.Salem and Sticks
  6. 使用联通云OSS小程序直传
  7. 报错:The media could not be loaded, either because the server or network failed or ...
  8. 《和平精英》与永久自行车界合作
  9. Catherine 成长记第一篇
  10. git修改已提交的信息