DB LinkOptions : STEPS : postgres=# create user krishna password 'krish'; CREATE ROLE postgres=# create database krishnadb; CREATE DATABASE postgres=# grant all privileges on database krishnadb to krishna; GRANT ============================== postgres=# create user kithari password 'kith'; CREATE ROLE postgres=# create database kithdb; CREATE DATABASE postgres=# grant all privileges on database kithdb to kithari; GRANT postgres=# alter user krishna superuser; ALTER ROLE **The user must be a superuser to create the DBlink extension** -bash-4.2$ psql (13.8) Type "help" for help. Psql -d krishnadb -U krishna -p 5432 (\c krishnadb krishna) krishnadb=> create schema krishschema authorization krishna; CREATE SCHEMA krishnadb=# create extension dblink; ERROR: could not open extension control file "/usr/pgsql-13/share/extension/dblink.control": No such file or directory ***if above error come , we nee to install below package**** [root@krishna ~]# yum install postgresql13-contrib krishnadb=# create extension dblink; krishnadb=#rCREATE EXTENSION krishnadb=# create server kith_link foreign data wrapper dblink_fdw options(host '192.168.1.63',dbname 'kithdb', port '5432'); CREATE SERVER krishnadb=# create user mapping for krishna server kith_link options(user 'kithari', password 'kith');CREATE USER MAPPING : krishnadb=# select dblink_connect('conn_db_link','kith_link'); dblink_connect ---------------- OK (1 row) -bash-4.2$ psql -U kithari -d kithdb psql (13.8) Type "help" for help. kithdb=> create table a(id int); CREATE TABLE kithdb=> insert into a values(1); INSERT 0 1 kithdb=> insert into a values(2); INSERT 0 1 krishnadb=# select * from dblink('conn_db_link','select * from a') as x(id int); a --- 1 2 (2 rows) krishnadb=# select dblink_exec('kith_link','insert into a values(3);'); dblink_exec ------------- INSERT 0 1 (1 row) krishnadb=# select * from dblink('conn_db_link','select * from a') as x(a int); a --- 1 2 3 (3 rows) kithdb=> select * from a; a --- 1 2 3 (3 rows) krishnadb=# select dblink_exec('kith_link','delete from a where id=3'); dblink_exec ------------- DELETE 1 (1 row) krishnadb=# select * from dblink('conn_db_link','select * from a') as x(a int); a --- 1 2 (2 rows) kithdb=> select * from a; a --- 1 2 (2 rows) krishnadb=# select dblink_disconnect('conn_db_link'); dblink_disconnect ------------------- OK (1 row) krishnadb=# select * from dblink('conn_db_link','select * from a') as x(a int); ERROR: could not establish connection DETAIL: missing "=" after "conn_db_link" in connection info string ********************************************************************************** Next Topic » (Foreign Data Wrapper) |