親測有效!如何快速實現 PostgreSQL 數據遷移到 時序數據庫TDengine

小T導讀:本篇文章是“2024,我想和 TDengine 談談”征文活動的優秀投稿之一,作者從數據庫運維的角度出發,分享了利用 TDengine Cloud 提供的遷移工具,從 PostgreSQL 數據庫到 TDengine 進行數據遷移的完整實踐過程。文章詳細記錄了從創建數據庫實例、配置代理,到添加數據源、同步數據的每一個步驟,并結合實際操作中遇到的問題與解決經驗,展現了 TDengine Cloud 的便利性和研發團隊的高效響應能力。對于關注數據庫遷移的技術人員來說,這篇文章是一個寶貴的經驗分享。

從數據庫管理員(DBA)或運維人員的角度來看,判斷數據庫是否易用,最直觀且通常最先面臨的問題便是存量數據庫的遷移。如果數據庫廠商能夠提供一款高效便捷的遷移工具,使用戶能夠快速將源數據庫的數據遷移至目標數據庫,不僅能為用戶留下良好的第一印象,也將大大促進后續工作的順利開展。由于線下缺乏合適的遷移工具,因此本文將利用 TDengine Cloud 提供的遷移工具,對從 PostgreSQL 數據庫遷移至 TDengine 的過程進行初步體驗和探索。

創建數據庫實例

首先,我們需要在官方 TDengine Cloud 平臺(https://cloud.taosdata.com/auth)上完成注冊并創建數據庫實例。該過程操作簡便,此處不再贅述。

創建新的代理

由于我的源數據庫位于本地虛擬機,而目標數據庫托管于 TDengine Cloud,因此需要在本地虛擬機上安裝代理,以確保 TDengine Cloud 能夠訪問本地虛擬機中的 PostgreSQL 數據庫。

1.點擊左側數據寫入菜單,在該界面中,再次點擊創建新的代理。

2.根據實際環境選擇適配的代理軟件版本進行下載。以官網提供的 Linux 版本為例,本文下載的是 x86 架構的代理程序。下載并安裝完成后,通過命令 taosx-agent -V 驗證安裝是否成功,然后點擊“下一步”繼續操作。

3.在該界面輸入代理名稱,系統將為它生成一個連接令牌。

4.在已安裝代理程序的服務器上,進入 /etc/taos 目錄,找到 agent.toml 文件,將系統生成的端點地址和令牌復制到該文件中進行配置。

endpoint="https://39.97.158.21"
token="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjEzNywiaWF0IjoxNzI2MTk2NDY3fQ.YmxGvRzlXdOgpXEKiUv-x68TFRzkYhXIRcJgRiWY0xk"

5.啟動代理服務并查看服務器的狀態。

添加數據源

1.在數據寫入的頁面中,點擊添加數據源。

2.在數據源配置界面中,選擇數據源類型為 PostgreSQL,代理選擇之前創建的代理,目標數據庫選擇已創建的 demo 數據庫(本文直接使用此前創建的數據庫)。如果需要,也可參考下一步自行創建新數據庫。

3.創建 demo 數據庫。

4.填寫 PostgreSQL 數據庫 IP、端口、數據庫名、用戶名、密碼等信息。

5.檢查連通性,如果界面提示“您的數據源可以連通”,就表示配置沒什么問題。

6.配置采集數據的 SQL,在 SQL 中必須包括開始時間與結束時間。

7.點擊從服務器檢索,觀察是否可以成功獲取到數據。如果報錯,則根據報錯提示,修改 SQL 配置。

8.點擊創建超級表,會自動關聯剛才識別到的字段信息,根據需要修改字段類型、填寫表名稱,最后點擊確定按鈕。

9.點擊確認按鈕后,超級表就創建成功了。接下來,我們需要在當前界面填寫子表和 tag 列對應數據。

10.點擊新增按鈕,數據源添加成功,并可在數據源列表中查看相關信息。

查看數據同步情況

點擊剛剛接入數據源的“查看”按鈕,即可查看同步信息,包括同步時長、寫入速度以及已處理的行數等詳細數據。

核對同步數據

點擊數據瀏覽器,選擇對應的數據并查看業務表,就可以看到同步的數據。

你也可以自行寫 SQL 來核對已經同步的數據量。

結語

本次從 PostgreSQL 數據庫遷移至 TDengine的體驗整體非常流暢。即使在遷移過程中遇到問題,也能夠借助官方提供的支持快速定位并解決,充分展現了 TDengine 工具的便捷性和研發團隊的高效響應能力。如果你也對 TDengine 的遷移工具感興趣,不妨親自嘗試操作,體驗其強大的功能。

TDengine 有話說

作為一款專注于時序數據的高效數據庫,我們始終致力于簡化用戶的遷移過程。在 TDengine 3.3.0.0 和 3.3.2.0 版本中,我們進一步增強了數據接入功能,實現了傳統關系型數據庫向 TDengine 的平滑遷移。這兩次重要更新成功打通了 MySQL、PostgreSQL、Oracle 和 SQL Server 到 TDengine 的遷移路徑,大幅提升了遷移效率和用戶體驗。

不僅如此,TDengine 在數據接入方面還支持與多種數據源的無縫對接,包括 AVEVA Historian、OPC、Kafka、MQTT、InfluxDB 和 PI System 等,充分滿足用戶在多樣化場景中的數據管理需求。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66607.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66607.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66607.shtml

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

相關文章

C#,入門教程(01)—— Visual Studio 2022 免費安裝的詳細圖文與動畫教程

通過本課程的學習,你可以掌握C#編程的重點,享受編程的樂趣。 在本課程之前,你無需具備任何C#的基礎知識,只要能操作電腦即可。 不過,希望你的數學不是體育老師教的。好的程序是數理化的實現與模擬。沒有較好的數學基礎…

Linux探秘坊-------3.開發工具詳解(2)

1.動靜態庫和動靜態鏈接(操作) 靜態庫是指編譯鏈接時,把庫?件的代碼全部加?到可執??件中,因此?成的?件 ?較?,但在運?時也就不再需要庫?件了。其后綴名?般為“.a” 動態庫與之相反,在編譯鏈接時并 沒有把庫?件的代碼加?到可執??件中 ,?…

電腦開機出現Bitlock怎么辦

目錄 1.前言 2.產生原因: 1.系統異常關機 2.系統更新錯誤 3.硬件更換 4.CMOS電池問題 5.出廠設置 6.意外情況 3.解鎖步驟: 3.1:記住密鑰ID(前6位) 3.2:打開aka.ms/myrecoverykey網址 3.3&#…

C# 的 NLog 庫高級進階

一、引言 在 C# 開發的廣袤天地中,日志記錄宛如開發者的 “千里眼” 與 “順風耳”,助力我們洞察應用程序的運行狀態,快速定位并解決問題。而 NLog 庫,無疑是日志記錄領域中的璀璨明星,以其強大的功能、靈活的配置和出…

Avalonia系列文章之小試牛刀

最近有朋友反饋,能否分享一下Avalonia相關的文章,于是就抽空學習了一下,發現Avalonia真的是一款非常不錯的UI框架,值得花時間認真學習一下,于是邊學習邊記錄,整理成文,分享給大家,希…

10 為什么系統需要引入分布式、微服務架構

java技術的發展 在java開始流行起來之后,主要服務于企業家應用,例如ERP,CRM等等,這些項目是為企業內部員工使用,我們的思維是怎么用設計模式,如何封裝代碼。讓開發人員關注到業務上去,系統也就那么幾十幾百…

第6章:Python TDD實例變量私有化探索

寫在前面 這本書是我們老板推薦過的,我在《價值心法》的推薦書單里也看到了它。用了一段時間 Cursor 軟件后,我突然思考,對于測試開發工程師來說,什么才更有價值呢?如何讓 AI 工具更好地輔助自己寫代碼,或許…

JDK 23 和 JDK 21 的區別

JDK 23 和 JDK 21 的區別主要在于支持周期和功能特性: 支持周期: JDK 23:此版本是一個常規發布版本,支持時間較短,通常是六個月。這種版本適合希望使用最新特性和改進的用戶。JDK 21:這是一個長期支持&…

springboot自動配置原理(高低版本比較)spring.factories文件的作用

SpringBootApplication public class SpringSecurityApplication {public static void main(String[] args) {SpringApplication.run(SpringSecurityApplication.class, args);}}注解SpringBootApplication Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Doc…

使用Websocket進行前后端實時通信

1、引入jar&#xff0c;spring-websocket-starter <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency> 2、配置websocket config import org.springframe…

vue2 - Day05 - VueX

Vuex 是 Vue.js 官方的狀態管理庫。它是一個讓你能在應用中集中管理共享狀態的工具。當應用的規模逐漸增大&#xff0c;組件之間的數據傳遞變得越來越復雜時&#xff0c;Vuex 就成為了救星&#xff0c;提供了一個集中式的存儲來管理所有的組件狀態&#xff0c;并且保證狀態以一…

中型項目中 HTTP 的挑戰與解決方案

一、引言 在當今數字化時代&#xff0c;HTTP&#xff08;超文本傳輸協議&#xff09;作為Web應用程序的基礎通信協議&#xff0c;在中型項目的開發中扮演著至關重要的角色。它為客戶端和服務器之間的數據傳輸提供了標準規范&#xff0c;使得各種類型的應用&#xff0c;從簡單的…

IDEA導入Maven工程不識別pom.xml

0 現象 把阿里 sentinel 項目下載本地后&#xff0c;IDEA 中卻沒顯示 maven 工具欄。 1 右鍵Maven Projects 點擊IDEA右側邊欄的Maven Projects&#xff0c;再點擊&#xff1a; 在出現的選擇框中選擇指定的未被識別的pom.xml即可&#xff1a; 2 Add as maven project 右鍵p…

VUE學習筆記(入門)5__vue指令v-html

v-html是用來解析字符串標簽 示例 <!doctype html> <html lang"en"> <head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document<…

OSPF的LSA的學習研究

OSPF常見1、2、3、4、5、7類LSA的研究 1、拓撲如圖&#xff0c;按照地址表配置&#xff0c;激活OSPF劃分相關區域并宣告相關網段 2、1類LSA&#xff0c;每臺運行了OSPF的路由器都會產生&#xff0c;描述了路由器的直連接口狀況和cost 可以看到R1產生了一條router lsa&#xff0…

小結:OSPF協議的工作原理

OSPF&#xff08;開放最短路徑優先&#xff09;優點&#xff1a; 快速收斂&#xff1a;OSPF的收斂速度較快&#xff0c;能迅速響應網絡拓撲變化&#xff0c;并在發生故障后快速更新路由信息。 支持大規模網絡&#xff1a;OSPF適合大型網絡&#xff0c;可以通過劃分區域來減少網…

TypeScript - 利用GPT輔助學習

TypeScript 一、基礎1. 安裝 TypeScript2. 創建你的第一個 TypeScript 文件3. 編譯 TypeScript 代碼4. 變量聲明與類型注解5. 函數與類型注解6. 總結 二、進階常用類型1. 類型別名2. 對象類型3. 類型斷言4.typeof 操作符 高級類型1. 類2. 交叉類型3. 泛型與 keyof4. 索引簽名類…

Java - WebSocket

一、WebSocket 1.1、WebSocket概念 WebSocket是一種協議&#xff0c;用于在Web應用程序和服務器之間建立實時、雙向的通信連接。它通過一個單一的TCP連接提供了持久化連接&#xff0c;這使得Web應用程序可以更加實時地傳遞數據。WebSocket協議最初由W3C開發&#xff0c;并于2…

stm32 no connect target

解決 STM32 報錯 “no target connected” 的方法 前言 stm32最小系統在下載程序是一直報錯&#xff1a;no target connected&#xff0c;試了很多辦法成功不了&#xff0c;最后將芯片擦除了才成功。 一、問題描述 當時是寫flash的時候寫到ST Link 存儲的地方了。 之后就不…

element的el-form-item的prop作用

這個在elemenui中介紹比較簡單&#xff0c;一般寫的時候照著例子寫&#xff0c;會正常運行。沒太注意porp到底有啥影響點。這次有點時間整理一下。 這個https://worktile.com/kb/p/3534641鏈接講述的要比一般csdn上的文章清晰。 總結&#xff1a; Vue表單驗證中的prop屬性用于指…