数据仓库服务 GaussDB(DWS)-使用外表功能实现GaussDB(DWS)集群间数据迁移:通过外表导入远端DWS数据
时间:2025-02-12 15:02:13
通过外表导入远端DWS数据
- 参见7在E CS 上连接第二套集群,其中连接地址改为第二套集群的地址,本例为192.168.0.86。
- 创建普通用户jim,并赋予创建外表和server的权限。FOREIGN DATA WRAPPER固定为gc_fdw。
123
CREATE USER jim WITH PASSWORD 'password';ALTER USER jim USEFT;GRANT ALL ON FOREIGN DATA WRAPPER gc_fdw TO jim;
- 切换到jim用户,创建server。
1234567
SET ROLE jim PASSWORD 'password';CREATE SERVER server_remote FOREIGN DATA WRAPPER gc_fdw OPTIONS (address '192.168.0.8:8000,192.168.0.158:8000' , dbname 'gaussdb', username 'leo', password 'password' );
- address:第一套集群的两个内网IP和端口,参见6获取,本例为192.168.0.8:8000,192.168.0.158:8000。
- dbname:连接的第一套集群的数据库名,本例为gaussdb。
- username:连接的第一套集群的用户名,本例为leo。
- password:用户名密码。
- 创建外表。
外表的字段和约束,必须与待访问表的字段和约束保持一致。
1 2 3 4 5 6 7 8 910111213141516171819202122
CREATE FOREIGN TABLE region ( product_price integer , product_id char(30) , product_time date , product_level char(10) , product_name varchar(200) , product_type1 varchar(20) , product_type2 char(10) , product_monthly_sales_cnt integer , product_comment_time date , product_comment_num integer , product_comment_content varchar(200) ) SERVER server_remote OPTIONS ( schema_name 'leo', table_name 'product_info', encoding 'utf8' );
- SERVER:上一步创建的server的名称,本例为server_remote。
- schema_name:待访问的第一套集群的schema名称,本例为leo。
- table_name:待访问的第一套集群的表名,参见10获取,本例为product_info。
- encoding:保持与第一套集群的数据库编码一致,参见9获取,本例为utf8。
- 查看创建的server和外表。
12
\des+ server_remote\d+ region
- 创建本地表。
表的字段和约束,必须与待访问表的字段和约束保持一致。
1 2 3 4 5 6 7 8 91011121314151617181920
CREATE TABLE local_region ( product_price integer not null, product_id char(30) not null, product_time date , product_level char(10) , product_name varchar(200) , product_type1 varchar(20) , product_type2 char(10) , product_monthly_sales_cnt integer , product_comment_time date , product_comment_num integer , product_comment_content varchar(200) ) WITH (orientation = column,compression=middle) DISTRIBUTE BY hash (product_id);
- 通过外表导入数据到本地表。
12
INSERT INTO local_region SELECT * FROM region;SELECT * FROM local_region;
- 您也可以直接查询外表而无需将数据导入。
1
SELECT * FROM region;
support.huaweicloud.com/bestpractice-dws/dws_05_0060.html
推荐文章