暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PostgreSQL回滚示例

原创 梧桐 2023-08-17
386

概述

回滚,是通过预写日志设计来执行事务性的DDL。就是把DDL语句放在一个事务中,比如TRUNCATE表。

模拟数据

./pgbench -M prepared -n -r -P 1 -f ./test.sql -c 50 -j 50 -T 300

登录数据库

./psql

看看有多少数据

select count(*) from test; count 3041060 (1 row)

开始事务

postgres=# BEGIN; BEGIN

清除数据

postgres=# truncate test; TRUNCATE TABLE

观察下,数据没有了

select count(*) from test ; count 0 (1 row)

回滚

rollback; ROLLBACK

观察下

select count(*) from test ; count 3041060 (1 row)

表中的数据都完好无损,和回收站的功能差不多,是吧!

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论