2016-05-11 13 views
5

postgres_fdwを使用して2つのデータベース間のリンクを作成しています。私はその後、外部テーブルをセットアップし、いくつかの外部テーブルから私のライブテーブルへの挿入を行います。私はインデックスがないのでかなり時間がかかっていることに気づいた。外部テーブルへのインデックスの作成PostgreSQL

あなたが外国テーブルにインデックスを作成することができ、それはありません、あなたがエラーを取得する標準

CREATE INDEX ON foreign_table_name (column)? 

答えて

1

です:

ERROR: cannot create index on foreign table "tablename" 
********** Error ********** 

ERROR: cannot create index on foreign table "tablename" 
SQL state: 42809 

そしてクエリは、「移動すると、それは理にかなっています"あなたはテーブルを照会するたびに(インデックスにデータを保存しないで)、ネットを掘り下げて元のデータベースからデータを取得します。

あなたができることは、他の側で実行されているクエリを取得するために説明を表示し、それに応じてリモートテーブルを索引付けすることです。

explain verbose select * from schema.foreign_table 

"Foreign Scan on schema.foreign_table (cost=25.00..1025.00 rows=1000 width=84)" 
" Output: field1, field2, field3 
" Remote server startup cost: 25" 
" Remote query: SELECT field1, field2, field3 FROM schema.original_table 

希望します。 幸運を祈る!

関連する問題