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

目錄

一、前言

二、創建外表的特點

二、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.pswp.cn/news/215517.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215517.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215517.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java之時間類2(JDK8新增)

一、Date類 &#xff08;一&#xff09;、ZoneId&#xff1a;時區 1、概述 ZoneId是Java 8中處理時區的類。它用于表示時區標識符&#xff0c;例如“America/New_York”或“Asia/Tokyo”。一共有600個時區。 2、常用方法: static Set<String> getAvailableZoneIds()獲…

C++基礎知識

目錄 前言&#xff1a; 命名空間 命名空間的定義 命名空間的使用 c輸入與輸出 缺省參數 函數重載 引用 引用的特性 常引用 引用的使用場景 引用做參數 引用做返回值 引用與指針的區別 內聯函數 內聯函數的特性 前言&#xff1a; C 語言是結構化和模塊化的語言&…

VS CODE 出錯 XHR failed

重新下載過去的版本&#xff0c;可能由于最近版本更新導致 Visual Studio Code September 2023

談談MYSQL主從復制原理

目錄 概述 要點binlog日志 主從復制過程 總結 概述 MySQL 主從復制是指數據可以從一個MySQL數據庫服務器主節點復制到一個或多個從節點。 MySQL 默認采用異步復制方式。從節點不用一直訪問主服務器來更新自己的數據&#xff0c;數據的更新可以在遠程連接上進行&#xff0…

Volatility3內存取證工具安裝及入門在Linux下的安裝教程

1-1. Volatility3簡介 Volatility 是一個完全開源的工具&#xff0c;用于從內存 (RAM) 樣本中提取數字工件。支持Windows&#xff0c;Linux&#xff0c;MaC&#xff0c;Android等多類型操作系統系統的內存取證。 針對競賽這塊&#xff08;CTF、技能大賽等&#xff09;基本上都…

websocket vue操作

let websocket: WebSocket; /** websocket測試 */ function connectWebsocket() {if (typeof WebSocket "undefined") {console.log("您的瀏覽器不支持WebSocket");return;}// let ip window.location.hostname ":8080";let ip "10.192…

瑞薩RZ/G2L核心板Linux Log目錄文件詳解

為了排除系統問題&#xff0c;監控系統健康狀況以及了解系統與應用程序的交互方式&#xff0c;我們需要了解各log文件的作用&#xff0c;以G2L中yocto文件系統為例&#xff0c;在系統/var/log/目錄下會存放記錄系統中各個部分的log文件作用如下&#xff1a; 1. 文件詳情 下圖…

Ubuntu系統部署Inis博客并使用內網穿透發布到公網隨時隨地遠程訪問

目錄 前言 推薦 1. Inis博客網站搭建 1.1. Inis博客網站下載和安裝 1.2 Inis博客網站測試 1.3 cpolar的安裝和注冊 2. 本地網頁發布 2.1 Cpolar臨時數據隧道 2.2 Cpolar穩定隧道&#xff08;云端設置&#xff09; 2.3.Cpolar穩定隧道&#xff08;本地設置&#xff09;…

鴻蒙原生應用/元服務開發-Stage模型能力接口(二)

ohos.app.ability.AbilityConstant (AbilityConstant)一、說明 AbilityConstant提供Ability相關的枚舉&#xff0c;包括設置初次啟動原因、上次退出原因、遷移結果、窗口類型等。本模塊首批接口從API version 9開始支持。后續版本的新增接口&#xff0c;采用上角標單獨標記接口…

matlab 最小二乘擬合平面(拉格朗日乘子法)

目錄 一、算法原理二、代碼實現三、結果展示本文由CSDN點云俠原創,原文鏈接。博客長期更新,爬蟲自重。 一、算法原理 設擬合出的平面方程為: a x + b y &#

Linux筆記之systemctl命令詳解

Linux筆記之systemctl命令詳解 code review! 文章目錄 Linux筆記之systemctl命令詳解systemctl restart docker 詳解 systemctl 是一個用于管理 systemd 服務的命令行工具。systemd 是一個用于啟動、停止和管理 Linux 系統中的進程的系統和服務管理器。下面是一些常見的 syst…

機器視覺系統選型-條形光源分類及應用場景

標準面光源 從平坦發光面照射漫射光 機械零件尺寸測量電子元件、IC的外形檢測邊緣缺陷檢測服裝紡織、食品包裝檢測 中孔面光源 從相機的同軸方向照射漫射光 金屬零件缺陷檢測金屬外殼檢測大面積電子元件的字符識別 平行面光源 照射平行度較高的漫射光玻璃瓶直徑測量螺釘牙輪…

Android studio 離線配置gradle

Gradle Distributions Gradle Distributions 查看gradle 文件夾下 gradle-wrapper.properties文件中的distributionUrl 版本號 然后在上邊網站下載對應需要的gradle對應版本 下載后復制到 gradle wrapper文件下&#xff0c;同時修改 distributionUrl 指向本地文件 然后同步就…

xtu oj 1233 Cycle Matrix

題目描述 給定N&#xff0c;輸出一個N*N的矩陣&#xff0c;矩陣為N層&#xff0c;每層是一個字符&#xff0c;從A到Z。 比如說N3,矩陣為 CCCCC CBBBC CBABC CBBBC CCCCC輸入 第一行是一個整數K&#xff08;K≤50&#xff09;,表示樣例數。 每個樣例占1行&#xff0c;為一個整…

647.回文子串

給你一個字符串 s &#xff0c;請你統計并返回這個字符串中 回文子串 的數目。 回文字符串 是正著讀和倒過來讀一樣的字符串。 子字符串 是字符串中的由連續字符組成的一個序列。 具有不同開始位置或結束位置的子串&#xff0c;即使是由相同的字符組成&#xff0c;也會被視作…

迷你型洗衣機好用嗎?口碑好的四款小型洗衣機推薦

隨著人們的生活水平的提升&#xff0c;越來越多小伙伴來開始追求更高的生活水平&#xff0c;一些智能化的小家電就被發明出來&#xff0c;而且內衣洗衣機是其中一個。現在通過內衣褲感染到細菌真的是越來越多&#xff0c;所以我們對內衣褲的清洗頻次會高于普通衣服&#xff0c;…

輕量封裝WebGPU渲染系統示例<47>- 多種光源(源碼)

當前示例源碼github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sample/MultiLightsShading.ts 當前示例運行效果: 此示例基于此渲染系統實現&#xff0c;當前示例TypeScript源碼如下: export class MultiLightsShading {private mRscene…

STM32 DAC+串口

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、DAC是什么&#xff1f;二、STM32 DAC1.什么型號有DAC2. 簡介3. 主要特點4. DAC框圖5. DAC 電壓范圍和引腳 三、程序步驟總結 前言 提示&#xff1a;這里可…

Runtime

Runtime 概念&#xff1a; Runtime是一套底層純C語言API&#xff0c;OC代碼最終都會被編譯器轉化為運行時代碼&#xff0c;通過消息機制決定函數調用方式&#xff0c;這也是OC作為動態語言使用的基礎。Runtime的最大特征就是實現了OC語言的動態特性。 消息機制原理 在Objec…

代碼隨想錄27期|Python|Day13|棧與隊列|239. 滑動窗口最大值 (一刷至少需要理解思路)|347.前 K 個高頻元素 (一刷至少需要理解思路)

239. 滑動窗口最大值 單調隊列 滑動窗口中的隊列一直保持出口大&#xff0c;入口小的順序。&#xff08;圖&#xff1a;代碼隨想錄&#xff09; 1、每次有新的元素進入&#xff08;也就是滑動窗口移動后&#xff09;&#xff0c;都需要先和入口的元素比較大小&#xff0c;如果…