postgres_fdw减少分析期间的数据下载

在分析外部表期间,我看到许多postgres_fdw在外部服务器上获取。对于大表,它会提取所有数据,即使它在示例中为我提供了300条记录:

INFO: "test_table": table contains 59280698 rows,300 rows in sample

我认为它只会发送静态样本中使用的数据,但看起来整个表都被发送到了请求者。我尝试更改每列的default_statistic_target

ALTER TABLE test_table
  ALTER COLUMN id SET STATISTICS 1

但是在获取方面看起来没有任何区别。

在分析外部postgresql表期间,是否有任何选择来减少网络数据I / O?

PS。我不想打开use_remote_estimates。在9.6.9中,它破坏了共享内存,在9.6.17中,它使某些查询出错。

smartbeth1 回答:postgres_fdw减少分析期间的数据下载

ANALYZE在外部PostgreSQL表上将运行

SELECT * ON atable;

在远程表上。通过将Vitter's algorithm应用于结果来创建样本。

使用TABLESAMPLE仅检索表的一部分可能是一个有趣的增强,但这尚未实现。

本文链接:https://www.f2er.com/2543877.html

大家都在问