PostgreSQL でのデータベース リンクの作成
問題:
Oracle とは異なり、PostgreSQL の dblink 機能は使用前にセットアップが必要です。 DBLink の作成時に、「指定された名前と引数の型に一致する関数がありません」のようなエラーが発生することがあります。
解決策:
PostgreSQL 9.1 以降:
-
dblink をインストールします拡張機能:
CREATE EXTENSION dblink を実行します。 dblink 拡張機能をデフォルトのパブリック スキーマにインストールします。あるいは、CREATE EXTENSION dblink SCHEMA 拡張機能を使用します。特定のスキーマにインストールするには、
-
検索パスを確認してください:
dblink を使用する前に、dblink 拡張機能を含むスキーマが含まれるように search_path が正しく設定されていることを確認してください。
リモートデータベースセットアップ:
dblink を使用してリモート データベースにアクセスするには、次のことが不可欠です:
-
ホスト アクセスの構成:
リモート データベース上で、ローカル データベースから接続するユーザーに適切な権限を付与します。
-
作成DBLink:
CREATE DB LINK link_name CONNECT TO 'connection_string'; を使用してローカル データベースに DBLink を作成します。
-
リモート データベースに接続します:
SELECT を使用します* FROM リンク名.テーブル名; dblink で指定されたリモート テーブルにアクセスします。
例:
host=dev.toto.com のリモート データベースに接続する dblink を作成するにはユーザー名 toto、パスワード isok、データベース名totofamily:
CREATE DB LINK toto_dblink CONNECT TO 'host=dev.toto.com user=toto password=isok dbname=totofamily';
SELECT logindate FROM toto_dblink.dbo.loginlog;
ログイン後にコピー
追加メモ:
- dblink_connect_u 関数は、リモート データベースへの接続をテストするために使用されます。
- リモート ホストが別のマシン上にある場合は、ファイアウォールが必要なポート (通常は) での接続を許可していることを確認してください。 5432).
- dblink の詳細については、PostgreSQL のドキュメントを参照してください。
以上がPostgreSQL でデータベース リンクを適切に作成して使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。