【问题标题】:PostgreSQL: purge all tables [duplicate]PostgreSQL:清除所有表[重复]
【发布时间】:2011-01-08 18:42:03
【问题描述】:

可能重复:
How to empty a SQL database?

假设它们没有太多数据(可能是某些表中的几条记录但没有更多),从数据库中的所有表中删除所有记录的最快方法是什么?

我相信从结构转储重新创建数据库的变体要长得多。

【问题讨论】:

  • 为什么从结构转储中恢复“更长的变体”?在什么意义上更长?

标签: sql postgresql


【解决方案1】:

TRUNCATE TABLE name1, name2, ... CASCADE

TRUNCATE 快速从一组表中删除所有行。它与每个表上的非限定 DELETE 具有相同的效果,但由于它实际上并不扫描表,因此速度更快。这在大表上最有用。

如果您有很多表,您可能希望查询表列表并动态构建截断查询,但对于少量表,您可以手动输入名称。

有关选择所有表和动态运行查询的信息,请参阅this post。给出的例子是grantall,但想法是一样的。

【讨论】:

猜你喜欢
  • 2017-07-26
  • 2014-09-25
  • 2014-08-15
  • 1970-01-01
  • 2016-01-16
  • 1970-01-01
  • 2012-05-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多