

# 外部データへのアクセスのための postgres\$1fdw 拡張機能の使用
<a name="postgresql-commondbatasks-fdw"></a>

[postgres\$1fdw](https://www.postgresql.org/docs/current/static/postgres-fdw.html) 拡張を使用してリモートデータベースサーバーにあるテーブルのデータにアクセスできます。PostgreSQL DB インスタンスからリモート接続を設定すると、リードレプリカにもアクセスできます。

**postgres\$1fdw を使用してリモートデータベースサーバーにアクセスするには**

1. postgres\$1fdw 拡張をインストールします。

   ```
   CREATE EXTENSION postgres_fdw;
   ```

1. CREATE SERVER を使用して外部データサーバーを作成します。

   ```
   CREATE SERVER foreign_server
   FOREIGN DATA WRAPPER postgres_fdw
   OPTIONS (host 'xxx.xx.xxx.xx', port '5432', dbname 'foreign_db');
   ```

1. リモートサーバーで使用するロールを識別するためのユーザーマッピングを作成します。
**重要**  
パスワードを編集してログに表示されないようにするには、セッションレベルで `log_statement=none` を設定します。パラメータレベルで設定しても、パスワードは編集されません。

   ```
   CREATE USER MAPPING FOR local_user
   SERVER foreign_server
   OPTIONS (user 'foreign_user', password 'password');
   ```

1. リモートサーバーのテーブルにマッピングするテーブルを作成します。

   ```
   CREATE FOREIGN TABLE foreign_table (
           id integer NOT NULL,
           data text)
   SERVER foreign_server
   OPTIONS (schema_name 'some_schema', table_name 'some_table');
   ```