
PostgreSQLで別データベースのテーブルを参照することはできますか?
仮に以下のデータベースが2つあるとします
CREATE DATABASE common_db ...
CREATE DATABASE app1_db ...
app1_db に接続した状態で common_db のテーブルを参照することはできますか?
仮にcommon_dbに郵便番号テーブル postcodeがあるとします
CREATE TABLE postcode (
postcode text, --郵便番号
pref_name text, -- 県名
・・・
)
このpostcodeテーブルをapp1_dbに接続した状態で参照するには、どのような参照クエリになりますか?
ご教授の程よろしくお願います。
そもそもできないのでしょうか?
No.1ベストアンサー
- 回答日時:
PostgreSQL 本体の機能では実現できませんが、contrib モジュールの dblink を使えばできます。
dblink のインストール方法は PostgreSQL のインストール方法によって異なりますが、RPM パッケージであれば postgresql-contrib というパッケージをインストールし、以下のように dblink の関数などを定義します。
psql -f /usr/share/postgresql/contrib/dblink.sql (データベース名)
データベース名には他のデータベースにアクセスしたいデータベース名、例では app1_db を指定します。なお、dblink.sql のパスはパッケージによって異なる場合があります。
dblink をインストールすれば以下のように関数を呼び出して別のデータベース内のテーブルを参照できます。
SELECT * FROM dblink('dbname=common_db', 'SELECT * FROM postcode') AS postcode(postcode text, pref_name text);
dblink について詳しくは PostgreSQL のマニュアルを読んでください。
http://www.postgresql.jp/document/pg840doc/html/ …
ただ、質問の例にあるデータベース名やテーブル名を見ていると、アプリケーションごとに名前空間を分けたいだけのようなので、それであればスキーマを使ったほうがよさそうな気もします。
参考URL:http://www.postgresql.jp/document/pg840doc/html/ …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
隣の枝がはみ出してきたら切ってもいい?最もやってはいけないことは?
「隣の木が越境してきて困るが、勝手に切ってはいけないと聞くし…」そう思っている方も多いだろう。実は、2023年4月1日に民法が改正され、この「越境枝」のルールが大きく変わった。 教えて!gooでも「境界から出て...
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【PostgreSQL】行の値の並びを...
-
請求と入金のテーブルの作成の...
-
SQLで○○の値以外を持っているレ...
-
accessで移動平均する方法
-
ACCESS2000のテーブル構造
-
Accessのリンクテーブルについて
-
「マスタ」と「テーブル」の違...
-
エクセルの数式で添付写真のも...
-
excel テーブル
-
ACCESSのSQLで、NULLかNULLでな...
-
エクセルでテーブルの最終行が...
-
Sheet1$が存在致しませんとエラー
-
IDが重複した場合、その他のデ...
-
ACCESSのODBCリンクでSQLServer...
-
毎月10万円投資資金があるとし...
-
入力された数字のうち、10台...
-
accessのエクスポートエラーに...
-
アクセスのテーブル作成クエリ...
-
ACCESS2007 フォーム 「バリア...
-
アクセスのワークシート変換に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLServerでテーブルの列数を求...
-
PostgreSQLで外部DB内のテーブ...
-
[PostgreSQL]別DBのテーブルのS...
-
システムテーブルについての疑問
-
SQLManagementStudioのフィルタ
-
【PostgreSQL】行の値の並びを...
-
主キーの取得
-
「マスタ」と「テーブル」の違...
-
3つ以上のテーブルをUNIONする...
-
Accessにインポートしたら並び...
-
ACCESS2007 フォーム 「バリア...
-
ACCESSのSQLで、NULLかNULLでな...
-
SELECT文でのデッドロックに対...
-
SELECT時の行ロックの必要性に...
-
オラクルではできるのにSQLSERV...
-
SI Object Browserのテーブルス...
-
Access VBA [リモートサーバー...
-
SQL Server のデータをCSVファ...
-
seoについておしえてください
-
DataTableから条件を満たした行...
おすすめ情報