postgresql
拡張dblinkとpostgres_fdw
サーチ…
構文
dblink( 'dbname = name_db_distanceポート= PortOfDBホスト= HostOfDBユーザー= usernameDBパスワード= passwordDB'、 'MY QUESRY')
dbname =データベースの名前
port =データベースのポート
host =データベースのホスト
user =データベースのユーザ名
パスワード=データベースのパスワード '、
私のQUESRY =これは私がしたい操作、SELECT、INSERT、...することができます
拡張dblink
dblink EXTENSIONは、別のデータベースに接続し、このデータベースを必要なだけ操作できるようにするための技術です。
1 - dblinkエクステンションを作成する:
CREATE EXTENSION dblink;
2 - あなたの操作を行います:
exemple別のデータベースの別のテーブルからいくつかの属性を選択します。
SELECT * FROM
dblink ('dbname = bd_distance port = 5432 host = 10.6.6.6 user = username
password = passw@rd', 'SELECT id, code FROM schema.table')
AS newTable(id INTEGER, code character varying);
エクステンションFDW
FDWはdblinkの実装です。それはもっと役に立ちますので、それを使用してください:
1 - エクステンションを作成する:
CREATE EXTENSION postgres_fdw;
2 - サーバーの作成:
CREATE SERVER name_srv FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'hostname',
dbname 'bd_name', port '5432');
3 - postgresサーバーのユーザーマッピングを作成する
CREATE USER MAPPING FOR postgres SERVER name_srv OPTIONS(user 'postgres', password 'password');
4 - 外部表の作成:
CREATE FOREIGN TABLE table_foreign (id INTEGER, code character varying)
SERVER name_srv OPTIONS(schema_name 'schema', table_name 'table');
5 - あなたのデータベースにあるように、この外部テーブルを使用してください:
SELECT * FROM table_foreign;
外部データラッパー
1つのテーブルの代わりに、サーバーデータベースの完全なスキーマにアクセスする。以下の手順に従ってください:
- エクステンションを作成:
CREATE EXTENSION postgres_fdw;
- サーバーの作成:
CREATE SERVER server_name FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'host_ip', dbname 'db_name', port 'port_number');
- ユーザーマッピングの作成:
CREATE USER MAPPING FOR CURRENT_USER SERVER server_name OPTIONS (user 'user_name', password 'password');
- サーバーDBのスキーマにアクセスするための新しいスキーマの作成:
CREATE SCHEMA schema_name;
- サーバースキーマのインポート:
IMPORT FOREIGN SCHEMA schema_name_to_import_from_remote_db FROM SERVER server_name INTO schema_name;
- サーバースキーマの任意のテーブルにアクセスする:
SELECT * FROM schema_name.table_name;
これは、リモートDBの複数のスキーマにアクセスするために使用できます。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow