如何使用GaussDB创建外表(FOREIGN TABLE)
目录
一、前言
GaussDB是一个高效、可靠、安全的企业级数据库管理系统,它提供了丰富的功能和卓越的性能,以满足不同行业的业务需求。在GaussDB中,创建外表(CREATE FOREIGN TABLE)是一种方便的机制,用于访问外部数据源并对其进行统一管理和查询。通过创建外表,用户可以将存储在文件系统、外部表、视图等外部数据源中的数据集成到GaussDB数据库中,并像操作普通表一样进行查询、连接和并行操作等。
在本篇文章中,我们将介绍如何使用GaussDB创建外表,以及通过一些简单的示例进行说明。
二、创建外表的特点
用户可以将外部数据源(如文件系统、外部表、视图等)的数据映射为数据库中的一张表,并对其进行查询、连接和并行操作等,就像对普通表进行操作一样。
具体来说,创建外表有以下一些特点:
- 统一数据源管理:通过将多个外部数据源的数据集成到一张表中,用户可以方便地对这些数据进行统一查询使用,避免了多个不同的数据源之间的切换和拼接。
- 提高查询效率:通过创建外表,用户可以将原本需要直接对外部数据源进行查询的操作转换为对数据库中的表进行查询,这可以避免一些重复的数据读取和解析操作,从而提高查询效率。
二、GaussDB创建外表访问外部数据库表(示例)
1、创建外表
通过创建外表(F_A)访问另一数据库(demo)中的表(websites):
--安装一个扩展(fdw工具) create extension postgres_fdw; --创建远程(外部)服务器,定义主机地址、端口、数据库名 drop server fore_server; create server fore_server foreign data wrapper postgres_fdw options(host '192.168.52.3',port '26000',dbname 'demo'); --定义一个用户到一个外部服务器的新映射。 drop USER MAPPING FOR USER SERVER fore_server; CREATE USER MAPPING FOR USER SERVER fore_server OPTIONS (user 'dbuser', password 'Gauss#3demo'); --创建外部表 DROP FOREIGN TABLE F_A; CREATE FOREIGN TABLE F_A( id INT, name VARCHAR(20), url VARCHAR(50) ) SERVER fore_server OPTIONS (SCHEMA_NAME 'demo',TABLE_NAME 'websites'); --访问外部表 SELECT * FROM F_A;
示例结果:如下截图中的返回结果与websites表中的数据一致。
2、FAQ:CREATE USER MAPPING错误
“ ERROR: No key file usermapping.key.cipher
HINT: Please create usermapping.key.cipher file with gs_guc and gs_ssh, such as :gs_ssh -c "gs_guc generate -S XXX -D $GAUSSHOME/bin -o usermapping" ”
解决方案:执行命令行
“ gs_ssh -c "gs_guc generate -o usermapping -S default -D $GAUSSHOME/bin" ”。
三、GaussDB创建外表映射数据文件(示例)
1、创建数据文件
进入服务器目录,创建用于存放数据文件的目录“mkdir input_data” ,并创建一个测试数据文件(如截图)。 绝对路径:“/gaussdb/input_data/test_f1.csv” 。
2、创建外表
--安装file_fdw工具(pg_extension) CREATE EXTENSION file_fdw; --创建外部服务器 CREATE SERVER file_fdw_server FOREIGN DATA WRAPPER file_fdw; --建立外表,映射指定目录下的数据文件(test_f1.csv)。 CREATE FOREIGN TABLE f_input_test ( id INT ,name VARCHAR(10) ,age INT ) SERVER file_fdw_server OPTIONS (filename '/gaussdb/input_data/test_f1.csv', format 'csv', delimiter ','); --访问 SELECT * FROM f_input_test
说明:如上过程需要管理员角色执行。
示例结果:
3、FAQ:创建(外部服务器/外表)时报错
“ ERROR: Dist fdw are only available for the supper user and Operatoradmin ”
解决方案:切换管理员角色执行。
四、小结
在GaussDB数据库中,FOREIGN TABLE是一种用于创建外部表的方法。通过这种方式,可以将其他数据库或文件中的数据映射到GaussDB数据库中,实现数据的共享和访问。
外表的特点包括跨数据库的数据查询和操作、提高数据的集成和共享能力、支持多种数据模型和存储引擎。 在实际应用场景中,可以通过创建外表来实现:数据迁移(将一个数据库中的数据导入到另一个数据库中)、数据整合(将多个数据库中的数据进行合并和分析)、数据共享(将一个数据库中的数据提供给其他数据库或应用程序使用)等。
更多示例参见官方文档:
CREATE FOREIGN TABLE_云数据库 GaussDB_主备版_3.x版本_SQL参考_SQL语法_华为云
——结束

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
汉为加入 OurBMC,联合打造软硬件协同 BMC 技术
近日,广东汉为信息技术有限公司签署了CLA(Contributor License Agreement,贡献者许可协议),宣布正式加入 OurBMC 社区。 广东汉为信息技术有限公司成立于 2014 年,是国产化计算机体系根部企业,专业从事国产化计算机产品的研发、制造和销售,主要产品包括嵌入式工控机、云终端计算机、网络安全设备、AI 小站、核心控制板卡等,核心技术包括计算机硬件设计、自主固件和国产化操作系统适配、FPGA 设计、边缘计算机及物联网、AI 及 5G 小站、安全可信计算等。 汉为致力于成为国产化自主可控数字技术领域的先锋信创企业,专注于为电力、工控、交通、政务、金融等行业客户提供高可靠、高安全、高品质的软硬件整体解决方案产品和服务。 汉为加入 OurBMC 社区后,将更好地融入社区 BMC 生态,为共同推进 BMC 技术自主可控,促进上下游信创企业协同,打造 BMC 信息系统软硬件生态添砖加瓦。 OurBMC社区 OurBMC 社区将秉承 “开放、平等、协作、创新” 原则,坚持 “开源、共建” 的合作方式,携手社区各成员单位共同推进 BMC 技术快速发展,辐射上下游形成产业...
- 下一篇
深入了解浮点运算——CPU 和 GPU 算力是如何计算的
随着国家大力发展数字经济,算力的提升和普惠变得越来越重要。在数字化时代,算力已成为推动科技发展和创新的关键要素。它不仅仅是衡量计算机处理速度的标准,还涉及计算机系统或设备执行计算任务的能力、数据处理能力以及解决复杂计算问题的能力。那么算力到底是什么呢? 简单了解算力 算力(Computational Power)在计算机科学和计算领域中是一个重要概念,它指的是计算机系统或设备执行数值计算和处理任务的能力。提升算力意味着可以更快地执行复杂的计算任务,从而提高计算的效率和性能。简单来说,算力决定了计算机处理信息的速度和效率,直接影响我们使用电子设备的体验,例如网页加载速度和游戏流畅度等。 在数字经济时代,算力是新的生产力,为加强数字政府建设、激活数据要素潜能以及实现各行各业的数字化转型提供了动力。据中国信息通信研究所的测算,每投入1元的算力,可以带动3至4元的经济产出。算力的提升对经济具有巨大的影响力。根据统计数据显示,每提高一个算力指数点,可以带动数字经济增长 0.36% 和 GDP 增长 0.17%。 那算力大小具体是如何衡量的呢?这里就必须提及浮点运算,接下来我们来了解下浮点运算这个...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6