Dea*_*gor 5 postgresql postgresql-9.6
我有一个表,我想从中删除很多行,但由于内存限制而失败。我看到一个建议“简单地”将我不想删除的所有行复制到新表中,删除旧表,然后将新表重命名为旧表的名称。除了依赖于原始表的其他对象之外,这很好。据我所知,这意味着我必须放弃级联,然后重新创建依赖于原始表的所有内容。
有没有办法编写依赖于原始表的所有内容的脚本,以便我可以轻松地在 pgadmin 或 psql 中重新创建它们?
或者,是否有办法忽略依赖关系足够长的时间来删除旧表并将新表重命名为旧表的名称?
我相信这就是 pg_repack 的工作原理,所以一定有办法。
DROP TABLE example CASCADE;
会掉落桌子example
。并删除REFERENCES
指向该表的所有约束。
因此,在替换表格后,您还需要重建引用。
获取您可以使用的依赖项pg_dump --schema-only
,然后 grep 查找REFERENCES example(
在表中出现所需数据之前,您将无法重建引用。
归档时间: |
|
查看次数: |
9521 次 |
最近记录: |