

# Usar a extensão postgres\$1fdw para acessar dados externos
<a name="postgresql-commondbatasks-fdw"></a>

Você pode acessar dados em uma tabela em um servidor de banco de dados remoto com a extensão [postgres\$1fdw](https://www.postgresql.org/docs/current/static/postgres-fdw.html). Se você configurar uma conexão remota usando a instância de banco de dados do PostgreSQL, o acesso também estará disponível para a réplica de leitura. 

**Para usar postgres\$1fdw para acessar um servidor de banco de dados remoto**

1. Instale a extensão postgres\$1fdw.

   ```
   CREATE EXTENSION postgres_fdw;
   ```

1. Crie um servidor de dados externo usando CREATE SERVER.

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

1. Crie um mapeamento de usuário para identificar a função a ser usada no servidor remoto.
**Importante**  
Para ocultar a senha a fim de que ela não apareça nos logs, defina `log_statement=none` no nível da sessão. A configuração no nível do parâmetro não oculta a senha.

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

1. Crie uma tabela que mapeia para a tabela no servidor remoto.

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