本機能はpostgres_scaleout_fdwという外部データラッパーを使用しており、pg_foreign_tableとプランナーで使用される統計情報を結合することで、各ノードに分散したテーブルの統計情報を外部テーブルの統計情報として参照できます。
SELECT f.ftserver, s.* FROM pg_foreign_table f, pg_statistic s WHERE f.ftrelid = s.starelid;
統計情報の最新化
シャードと紐付けたテーブル空間上にテーブルや子テーブルを作成すると、内部的にpostgres_scaleout_fdwの外部テーブルが作成されます。
通常のテーブルの場合、自動バキュームによりANALYZEコマンドも自動的に実行され、統計情報が最新化されます。しかし、PostgreSQLでは、外部テーブルに対しては、自動バキュームによるANALYZEコマンドが実行されません。最適な実行計画作成のためには、外部テーブルについても統計情報を最新化する必要があるため、外部テーブルについて定期的に統計情報の最新化を実施してください。