PostgreSQL之Foreign Data Wrappers使用指南
1.1、目標端安裝軟體包
[root@hdp06 ~]# yum -y install postgresql10-contrib.x86_64
1.2、目標端建立使用者
這裡的源端不需要建立使用者。因為源端已經存在了一個rhnuser使用者,直接使用。根據實際情況賦予使用者許可權,一般就是select、update、delete以及insert。這裡的使用者已經擁有這些許可權了,所以不需要再賦予許可權。
postgres=# CREATE USER rhnadmin WITH password 'RedHat' CREATEDB SUPERUSER replication bypa***ls createrole login;
1.3、目標端安裝Postgres_fdw
postgres=# create extension postgres_fdw; CREATE EXTENSION postgres=# \dx postgres_fdw
1.4、賦予使用者許可權
postgres=# grant usage on FOREIGN DATA WRAPPER postgres_fdw to rhnadmin;
1.5、建立伺服器定義
postgres=# CREATE SERVER rhnsrv FOREIGN DATA WRAPPER postgres_fdw OPTIONS (dbname 'rhnschema', host 'oln', port '5432'); postgres=# GRANT USAGE ON FOREIGN SERVER rhnsrv TO rhnadmin;
1.6、建立使用者對映
rhnschema=# CREATE USER MAPPING for rhnadmin SERVER rhnsrv OPTIONS (user 'rhnuser', password 'redhat');
1.7、修改pg_hba檔案
如下圖所示,允許特定網段的機器訪問。這裡全部放開。

1.8、匯入源端schema
rhnschema=# IMPORT FOREIGN SCHEMA "public" FROM SERVER rhnsrv INTO public; ERROR:type "public.evr_t" does not exist --首次匯入報錯了,因為目標端沒有建立evr_t型別,使用下面的語句建立型別再次匯入。 rhnschema=# CREATE TYPE evr_t AS (epoch character varying(16),version character varying(512),release character varying(512)); rhnschema=# ALTER TYPE public.evr_t OWNER TO rhnadmin; rhnschema=# IMPORT FOREIGN SCHEMA public FROM SERVER rhnsrv INTO public; IMPORT FOREIGN SCHEMA
如果只想匯入個別表,需要使用下面的語法:
rhnschema=# IMPORT FOREIGN SCHEMA "public" limit to (rhnpackagefile) FROM SERVER rhnsrv INTO public;
1.9、查詢驗證
匯入完成後,可以查詢pg_foreign_table表,獲取已匯入的表名稱資訊:
rhnschema=# select *from pg_foreign_table; rhnschema=# select *from log limit 20;
Linux公社的RSS地址 : ofollow,noindex" target="_blank">https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址: https://www.linuxidc.com/Linux/2018-11/155578.htm