如何使用GaussDB创建外表(FOREIGN TABLE)

news2024/12/22 22:55:41

目录

一、前言

二、创建外表的特点

二、GaussDB创建外表访问外部数据库表(示例)

1、创建外表

2、FAQ:CREATE USER MAPPING错误

三、GaussDB创建外表映射数据文件(示例)

1、创建数据文件

2、创建外表

3、FAQ:创建(外部服务器/外表)时报错

四、小结

一、前言

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语法_华为云

——结束

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1304059.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用torch解决线性回归问题

数据处理 import torch import numpy as np import pandas as pd import matplotlib.pyplot as pltdatapd.read_csv(./datasets/Income1.csv) #数据准备data.head(5)#展示数据 #以上所有的代码都是用jupyter notebook写,形成了阶段性的结果展示 查看数据信息 dat…

Qt的坐标系系统 - 3个坐标系,2个变换

参考: https://zhuanlan.zhihu.com/p/584048811https://www.zhihu.com/tardis/zm/art/634951149?source_id1005 小谈Qt的坐标系系统 Qt中有三个坐标系 设备坐标系窗口坐标系逻辑坐标系 设备坐标系: 即Device坐标系。也是物理坐标系。即真实的的物理坐标系。 …

Ubuntu部署EMQX开源版MQTT服务器-Orange Pi部署-服务器部署

一、前言 作为全球最具扩展性的 MQTT 消息服务器,EMQX 提供了高效可靠海量物联网设备连接,能够高性能实时移动与处理消息和事件流数据,本文将介绍如何在Ubuntu 22.04上部署MQTT服务器。我们本次选择开源版,使用离线安装方式部署。…

ArcGIS pro与SuperMap根据属性自动填充颜色步骤

GIS项目经常会接触到控规CAD数据,想要把数据转换成GIS图层并发布,需要进行专题配图。研究了一下ArcGIS pro和SuperMap iDesktop的配图,整理一下用到的一些技术思路。 1、Excel表格根据RGB值添加单元格填充颜色 要实现如上效果图,…

【NR技术】NR NG-RAN整体架构 -网络接口以及无线协议框架(四)

1 引言 本博文介绍NR NG-RAN的网络节点间的接口以及无线协议框架。网络接口介绍包括RAN和NGC之间的NG接口;无线协议框架包括用户面和控制面协议。 2 NG接口 2.1 NG用户面接口 NG-U (user plane interface)是NG-RAN节点与UPF之间的接口。NG接口的用户平面协议栈如图…

UE4 透明物体不渲染显示??

问题描述:半透明特效在背景(半透明材质模型)前,当半透明特效开始移动的时候,随着速度的加快会逐渐不渲染! 解决办法: 1.设置透明度排序 2.如果还没效果,修改半透明背景模型以下材质…

基于KEDA的Kubernetes自动缩放机制

KEDA以事件驱动的方式实现Kubernetes Pod的动态自动扩容机制,以满足不同的负载需求,从而提高应用可伸缩性和弹性。原文: Dynamic Scaling with Kubernetes Event-driven Autoscaling (KEDA) Kubernetes是容器编排平台的事实标准,已经彻底改变…

vp与相机连接

1.网线 2.相机电源线 1.相机电源线 接头 (使用红色和黑色 线头要串联) 1.光源连接口 2.光源控制器 开关 3.光源控制器通电接口 4.光源自动感应接口 (一般用于自动控制光源 开关) 1.两种不同类型的光源 1.光源亮度控制 2.切…

Leetcode—209.长度最小的子数组【中等】

2023每日刷题&#xff08;五十六&#xff09; Leetcode—209.长度最小的子数组 实现代码 class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {int left 0, right 0;int ans nums.size() 1, s 0;for(; right < nums.size(); righ…

基于单片机的自动售货机(论文+源码)

1.系统设计 本设计以这样的工作流程开始自动售货机的自动售货过程&#xff1a; 启动系统&#xff0c;开始待机&#xff1b;顾客通过按键选择商品的种类以及数量并确认&#xff1b; 售货机检查是否有足够的货物并通过LCD提示等待顾客投币&#xff1b;顾客投入货币&#xff0c;…

使用yum/dnf管理软件包

本章主要介绍使用 yum 对软件包进行管理。 yum 的介绍搭建yum源创建私有仓库yum客户端的配置yum的基本使用使用第三方yum源 使用rpm安装包时经常会遇到一个问题就是包依赖&#xff0c;如下所示。 [rootrhel03 ~]# rpm -ivh /mnt/AppStream/Packages/httpd-2.4.37-41.modulee…

【漏洞复现】云时空社会化商业ERP系统gpy文件上传

漏洞描述 用友软件的先进管理理念,汇集各医药企业特色管理需求,通过规范各个流通环节从而提高企业竞争力、降低人员成本,最终实现全面服务于医药批发、零售连锁企业的信息化建设的目标,是一款全面贴合最新GSP要求的医药流通行业一站式管理系统。 时空云社会化商业ERP gpy…

GNSS - PPP软件 - GAMP 在VS2019/2022下完成调试、跑通程序(超详细!)

目录 一、前期准备 二、调试详细步骤 1.VS中新建项目 2.复制源码至项目文件夹 3.将源码中“.c”文件和“.h”文件添加至项目指定位置 4.修改项目属性&#xff1a; (1)【 配置属性 -> C/C ->预处理器 ->预处理器定义】添加如下 (2)【配置属性->链接器->调…

产品固件烧写方案

1、前言 一成熟的量产的嵌入式产品&#xff0c;软件一般分为BootLoader和App&#xff0c;BootLoader用于启动校验、App升级、App版本回滚等功能&#xff0c;BootLoader在cpu上电第一阶段中运行&#xff0c;之后跳转至App地址执行应用程序。 因此&#xff0c;在发布固件的时候&a…

12.11 C++ 作业

完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和密码不匹配&#xf…

[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........

文章目录 一、完整代码二、论文解读2.1 介绍2.2 架构2.3 输入端2.4 结果 三、过程实现四、整体总结 论文&#xff1a;Unified Language Model Pre-training for Natural Language Understanding and Generation 作者&#xff1a;Li Dong, Nan Yang, Wenhui Wang, Furu Wei, Xia…

编程实战:自己编写HTTP服务器(系列4:查看文件、下载等一般功能)

系列入口&#xff1a;编程实战&#xff1a;自己编写HTTP服务器&#xff08;系列1&#xff1a;概述和应答&#xff09;-CSDN博客 本文介绍各种功能的实现。大部分是特定内置入口。 目录 一、默认页 二、查看文件 三、关闭服务 四、下载页面 一、默认页 前面在已经介绍过重定…

UE4/UE5 修改/还原场景所有Actor的材质

使用蓝图方法&#xff1a; 1.修改场景所有Actor 材质&#xff1a; Wirframe&#xff1a;一个材质类 MatList&#xff1a;获取到的所有模型的全部材质 的列表 TempAllClass&#xff1a;场景中所有获取的 Actor 的列表 功能方法如下&#xff1a; 蓝图代码可复制在&#xff1a…

MongoDB在Windows系统和Linux系统中实现自动定时备份

本文主要介绍MongoDB在Windows系统和Linux系统中如何实现自动定时备份。 目录 MongoDB在Windows系统中实现自动定时备份MongoDB在Linux系统中实现自动定时备份备份步骤备份恢复 MongoDB在Windows系统中实现自动定时备份 要在Windows系统中实现自动定时备份MongoDB数据库&#…

界面控件DevExpress中文教程 - 如何用Office File API组件填充PDF表单

DevExpress Office File API是一个专为C#, VB.NET 和 ASP.NET等开发人员提供的非可视化.NET库。有了这个库&#xff0c;不用安装Microsoft Office&#xff0c;就可以完全自动处理Excel、Word等文档。开发人员使用一个非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CS…