事务中PostgreSQL架构更改的限制?

bab*_*unk 13 postgresql schema ddl transactions

我的数据库背景是Oracle,所以我很惊讶地发现Postgres包含了事务中的模式更改 - 如果你开始一个,创建一个表然后回滚,表就会消失.它也适用于添加和删除列.显然这非常好.

我们将对部署依赖于此功能的架构增量的方式进行一些更改.在我们开始之前,我想知道事务保证的扩展程度,但我在文档中找不到任何相关信息.我假设我只是使用了错误的搜索词 - 我的搜索只会进入包含"事务","创建"和"表格"等词的大型命令列表.

任何人都可以给我一些关于Postgres中关于事务模式更改的文档或讨论的指示吗?(我们正在使用8.2.13,虽然我们将在不太遥远的未来进行升级.)或者只是关于不包含在交易中的声明的一些细节?

Ste*_*nne 8

  • nextvalsetval在序列操作也决不回滚.
  • REINDEX DATABASE
  • REINDEX SYSTEM

在PostgreSQL Wiki上一篇关于事务性DDL文章


小智 7

根据文档上的快速grep,这些命令无法在事务中执行:

  • 做好准备
  • 创建数据库
  • 创建表空间
  • 丢弃
  • 删除数据库
  • 删除表空间
  • 回滚准备
  • 真空

  • 确定:grep'无法在事务的sql-*html中执行 (3认同)