【お題】引っかけ問題(締め切り10月27日(日)23時)

こんにちは。かなり困っています、よろしくお願いします><

PostgreSQL 7.2.8 を使用しています。
一つのユーザーで、二つのデータベースがあります。
それぞれ同じカラムを持つ同じ名前のテーブルがあります。
中のデータは違います。

db1 - tableT
db2 - tableT

条件を付けて、db1のtableTのデータを
db2のtableTへコピーするにはどのような方法がありますか?

例えば
select * from db1.tableT tbl1, db2.tableT tbl2 where tbl1.title = tbl2.title;
のようにしてとりあえずselectで試してみましたがダメでした。
やはりスキーマとデータベースは違うんですね><
ドットが認識されませんでした。

どなたか解決法をご存知の方、よろしくお願いします。

A 回答 (2件)

SQL のみでやるなら Dodonpa2 さんが回答したように dblink を使う必要がありますね。

他の DBMS はよく知りませんが少なくとも PostgreSQL では基本的に接続中のデータベース内のテーブル以外は参照できません。

コマンドラインでの操作が OK なら psql で db1 内のテーブルのデータを COPY で出力した結果を db2 に流し込めば対応できるはずです。
    • good
    • 0

こんにちは。


contribのdblink関数について調べてみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


おすすめ情報