在分析外部表期间,我看到许多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
中,它使某些查询出错。