EXTENSION dblink and postgres_fdw
Extention FDW
Section titled “Extention FDW”FDW is an implimentation of dblink it is more helpful, so to use it:
1-Create an extention:
CREATE EXTENSION postgres_fdw;2-Create SERVER:
CREATE SERVER name_srv FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'hostname',dbname 'bd_name', port '5432');3-Create user mapping for postgres server
CREATE USER MAPPING FOR postgres SERVER name_srv OPTIONS(user 'postgres', password 'password');4-Create foreign table:
CREATE FOREIGN TABLE table_foreign (id INTEGER, code character varying)SERVER name_srv OPTIONS(schema_name 'schema', table_name 'table');5-use this foreign table like it is in your database:
SELECT * FROM table_foreign;Foreign Data Wrapper
Section titled “Foreign Data Wrapper”To access complete schema of server db instead of single table. Follow below steps:
-
Create EXTENSION :
-
Create SERVER :
-
Create USER MAPPING:
-
Create new schema to access schema of server DB:
-
Import server schema:
-
Access any table of server schema:
This can be used to access multiple schema of remote DB.
Extention dblink
Section titled “Extention dblink”dblink EXTENSION is a technique to connect another database and make operation of this database so to do that you need:
1-Create a dblink extention:
CREATE EXTENSION dblink;2-Make your operation:
For exemple Select some attribute from another table in another database:
SELECT * FROMdblink ('dbname = bd_distance port = 5432 host = 10.6.6.6 user = usernamepassword = passw@rd', 'SELECT id, code FROM schema.table')AS newTable(id INTEGER, code character varying);Syntax
Section titled “Syntax”dblink ('dbname = name_db_distance port = PortOfDB host = HostOfDB user = usernameDB password = passwordDB', 'MY QUESRY')