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

postgres_fdw reduce data download during analyse

在分析外国 table 期间,我看到很多 postgres_fdw 外国服务器上的抓取。对于大 tables,它会获取所有这些,即使它在样本中给了我 300 条记录:

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

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

ALTER TABLE test_table
  ALTER COLUMN id SET STATISTICS 1

但看起来在提取方面没有任何差异。

在分析外国 postgresql tables 时,是否有减少网络数据 I/O 的选项?

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

ANALYZE 在国外的 PostgreSQL table 上会 运行

SELECT * ON atable;

在遥控器上 table。通过将 Vitter's algorithm 应用于结果来创建样本。

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