![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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で質問しましょう!
似たような質問が見つかりました
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- MySQL MySQLのテーブル作成で 自信がありません。 2 2022/08/28 05:35
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
あるDBから別のDBのテーブルをselectしたい
MySQL
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
-
4
異なるサーバのDBデータ同士を結合するには?
Oracle
-
5
Viewにインデックスは張れますか?
Oracle
-
6
timestampのデータはどのようにして入力
PostgreSQL
-
7
他のデータベースとのテーブル結合
SQL Server
-
8
[PostgreSQL]別DBのテーブルのSelect、Insert
PostgreSQL
-
9
Windows版 pg_dumpの結果をログ取得
PostgreSQL
-
10
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
11
SQLPLUSで結果を画面に表示しない
Oracle
-
12
データベースのINT型項目にNULLはNG?
MySQL
-
13
select insert 句
Oracle
-
14
postgresql についてです
PostgreSQL
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PostgreSQLで外部DB内のテーブ...
-
SQLServerでテーブルの列数を求...
-
SQLManagementStudioのフィルタ
-
システムテーブルについての疑問
-
「マスタ」と「テーブル」の違...
-
ACCESS2007 フォーム 「バリア...
-
Accessにインポートしたら並び...
-
数百万件レコードのdelete
-
Accessでの排他制御
-
ACCESSのSQLで、NULLかNULLでな...
-
SELECT時の行ロックの必要性に...
-
Accessでクエリを完了できませ...
-
Access VBA Me.Requery レコー...
-
accessのロック
-
MongoDBのデータ更新はDBを排他...
-
Oracleの排他制御について教え...
-
既に使用されているので、使用...
-
ACCESS 一番最新の日付の金額...
-
主キーにインデックスは貼らな...
-
フォームからのレコード削除に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PostgreSQLで外部DB内のテーブ...
-
SQLServerでテーブルの列数を求...
-
SQLManagementStudioのフィルタ
-
主キーの取得
-
ポスグレ レコードの比較
-
SQLサーバーとMySQLの大きな違...
-
システムテーブルについての疑問
-
PostgreSQLのテーブル構造を取...
-
照合順序の変更について
-
[PostgreSQL]別DBのテーブルのS...
-
【PostgreSQL】行の値の並びを...
-
複数チェック項目に対応したス...
-
「マスタ」と「テーブル」の違...
-
ACCESSのSQLで、NULLかNULLでな...
-
Accessにインポートしたら並び...
-
データの二重表示の原因
-
SELECT時の行ロックの必要性に...
-
2つのテーブルから条件に一致...
-
ACCESS 一番最新の日付の金額...
-
重複するキーから一番古い年月...
おすすめ情報