Perl:以编程方式删除PostgreSQL表索引,然后在使用DBD::P g在COPY之后重新创建



我正在将多个表(~1.5M 条记录)从一个数据源复制到另一个数据源,但这需要很长时间。 我希望加快对DBD::P g的使用。

我目前正在使用 pg_getcopydata/pg_putcopydata,但我认为目标表上的索引正在减慢该过程。

发现我可以使用 $dbh->statistics_info 找到有关表索引的一些信息,但我很好奇是否有人有一种编程方式来基于这些信息动态删除/重新创建索引。

我想,编程方法是通过 DBI 提交适当的 CREATE INDEX SQL 语句,您将输入psql

有时在复制大表时,最好按以下顺序进行:

  • 创建不带 out 索引的表
  • 复制数据
  • 添加索引

相关内容

  • 没有找到相关文章

最新更新