gpt4 book ai didi

postgresql - Postgres : delete all tables or cascade a delete?

转载 作者:行者123 更新时间:2023-11-29 11:26:33 25 4
gpt4 key购买 nike

是否可以在 postgres 中使用单个命令删除所有表中的所有行(不破坏数据库),或者在 postgres 中级联删除?

如果没有,那么我该如何重置我的测试数据库?

最佳答案

is it possible either to delete all rows from all tables with a single command in postgres

你是对的,答案是否定的

您可以定义级联外键,如果“父级”被删除,这些外键将删除所有引用行。但那是外键的一个属性,你不能用 DELETE 语句指定什么

if not - wow.

这是什么意思?

转念一想:你想达到什么目的?

我怀疑您正在尝试“重置”,例如一个测试数据库。在这种情况下,PostgreSQL 方法将是:

  • 创建一个数据库,其中包含您在新数据库中所需的所有内容(表、 View 、索引等)(例如将其命名为 my_template)
  • 要重置当前的测试数据库,请执行 DROP DATABASE testdb,然后使用 CREATE DATABASE testdb TEMPLATE my_template 重新创建测试数据库

新创建的 testdb 将具有 my_template 中定义的所有表。这可能比删除所有行快很多

关于postgresql - Postgres : delete all tables or cascade a delete?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3524368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com