私は2つのデータベースを持っています:
管理者
Table: 従業員Columns: ID、名前、city_id接続
Table: 街Columns: id, name_of_city
postgre データベースのEmployee.city_id&列を使用して、これら 2 つのテーブルを結合したいと考えています。City.id
これどうやってするの
私は2つのデータベースを持っています:
管理者
Table: 従業員
Columns: ID、名前、city_id
接続
Table: 街
Columns: id, name_of_city
postgre データベースのEmployee.city_id&列を使用して、これら 2 つのテーブルを結合したいと考えています。City.id
これどうやってするの
Postgresql FAQによると、現在のデータベース以外に直接クエリを実行する方法はありません。ただし、 dblinkを使用できます。dblink は、データベース セッション内から他の PostgreSQL データベースへの接続をサポートするモジュールです。
技術的には、postgres モジュールdblinkを使用するとこれが可能になり、データベース間で結合できます。
そうは言っても、データベース間で外部キーを維持することに伴うアーキテクチャとデータの整合性の問題のいくつかを考慮すると、cityテーブルをそのデータとともにconnectデータベースからデータベースに移動することを検討する必要がありadminます。
postgres_fdwPostgreSQL 9.3 で利用できるようにしたい。これは、リモート テーブルへの「リンク」を作成できる SQL/MED 外部データ ラッパーです。
City テーブルを Admin データベースにリンクしてから、通常の SQL からクエリを実行できます。PostgreSQL は、リモートWHEREエンドで条件を実行し、必要な行のみをフェッチするなどのことも行います。多くの結合タイプが利用できず、それを使用する前にデータを転送するオーバーヘッドがあるため、ローカル テーブルよりもはるかに効率的ではありません。