postgres 導出導入(基于數據庫,模式,表)

在 PostgreSQL 中,導出和導入數據庫、模式(schema)或表的數據可以使用多種工具和方法。以下是常用的命令和步驟,分別介紹如何導出和導入整個數據庫、特定的模式以及單個表的數據。

一、導出數據

1. 使用 pg_dump 導出整個數據庫

pg_dump 是 PostgreSQL 提供的用于導出數據庫的工具。要導出整個數據庫,可以使用以下命令:

pg_dump -U [用戶名] -h [主機地址] -p [端口] [數據庫名] -F c -b -v -f [輸出文件路徑].dump

參數說明:

  • -U [用戶名]:指定連接數據庫的用戶名。
  • -h [主機地址]:指定數據庫服務器的主機地址(默認是 localhost)。
  • -p [端口]:指定數據庫服務器的端口(默認是 5432)。
  • [數據庫名]:要導出的數據庫名稱。
  • -F c:指定輸出文件的格式為自定義格式(推薦用于后續的恢復)。
  • -b:包括大對象(blobs)。
  • -v:顯示詳細的輸出信息。
  • -f [輸出文件路徑].dump:指定輸出的文件名和路徑。

示例:

pg_dump -U postgres -h localhost -p 5432 mydatabase -F c -b -v -f /path/to/mydatabase.dump

2. 使用 pg_dump 導出特定的模式

如果只需要導出數據庫中的某個模式(schema),可以使用 -n 參數指定模式名稱:

pg_dump -U [用戶名] -h [主機地址] -p [端口] [數據庫名] -n [模式名] -F c -b -v -f [輸出文件路徑].dump

示例:

pg_dump -U postgres -h localhost -p 5432 mydatabase -n public -F c -b -v -f /path/to/public_schema.dump

3. 使用 pg_dump 導出特定的表

如果只需要導出某個表的數據,可以使用 -t 參數指定表名:

pg_dump -U [用戶名] -h [主機地址] -p [端口] [數據庫名] -t [表名] -F c -b -v -f [輸出文件路徑].dump

示例:

pg_dump -U postgres -h localhost -p 5432 mydatabase -t users -F c -b -v -f /path/to/users_table.dump

4. 使用 pg_dump 導出為 SQL 文件

如果需要導出為 SQL 格式的腳本文件,可以使用 -F p 參數:

pg_dump -U [用戶名] -h [主機地址] -p [端口] [數據庫名] -F p -b -v -f [輸出文件路徑].sql

示例:

pg_dump -U postgres -h localhost -p 5432 mydatabase -F p -b -v -f /path/to/mydatabase.sql

二、導入數據

1. 使用 pg_restore 導入整個數據庫

如果使用 pg_dump 的自定義格式(-F c)導出的數據,可以使用 pg_restore 進行導入:

pg_restore -U [用戶名] -h [主機地址] -p [端口] -d [目標數據庫名] -v [備份文件路徑].dump

參數說明:

  • -d [目標數據庫名]:指定要導入到的目標數據庫。如果目標數據庫不存在,可以使用 -C 參數創建它。

示例:

pg_restore -U postgres -h localhost -p 5432 -d mydatabase -v /path/to/mydatabase.dump

如果目標數據庫不存在,可以添加 -C 參數:

pg_restore -U postgres -h localhost -p 5432 -C -d postgres -v /path/to/mydatabase.dump

2. 使用 psql 導入 SQL 文件

如果導出的數據是 SQL 格式的腳本文件,可以使用 psql 進行導入:

psql -U [用戶名] -h [主機地址] -p [端口] -d [目標數據庫名] -f [SQL文件路徑].sql

示例:

psql -U postgres -h localhost -p 5432 -d mydatabase -f /path/to/mydatabase.sql

3. 使用 pg_restore 導入特定的模式或表

如果備份文件中包含多個模式或表,可以使用 -n-t 參數指定要恢復的模式或表:

pg_restore -U [用戶名] -h [主機地址] -p [端口] -d [目標數據庫名] -n [模式名] -v [備份文件路徑].dump

pg_restore -U [用戶名] -h [主機地址] -p [端口] -d [目標數據庫名] -t [表名] -v [備份文件路徑].dump

示例:

pg_restore -U postgres -h localhost -p 5432 -d mydatabase -n public -v /path/to/public_schema.dump

4. 導入時注意事項

  • 目標數據庫:確保目標數據庫已存在,或者使用 -C 參數在導入時創建它。
  • 權限:確保執行導入操作的用戶具有足夠的權限來創建對象和插入數據。
  • 依賴關系:如果導出的數據包含多個表或對象,確保導入順序正確,以滿足依賴關系。
  • 大對象:如果備份中包含大對象(blobs),確保使用支持大對象的參數進行導入。

三、示例總結

導出整個數據庫:

pg_dump -U postgres -h localhost -p 5432 mydatabase -F c -b -v -f /path/to/mydatabase.dump

導出特定的模式:

pg_dump -U postgres -h localhost -p 5432 mydatabase -n public -F c -b -v -f /path/to/public_schema.dump

導出特定的表:

pg_dump -U postgres -h localhost -p 5432 mydatabase -t users -F c -b -v -f /path/to/users_table.dump

導入整個數據庫:

pg_restore -U postgres -h localhost -p 5432 -d mydatabase -v /path/to/mydatabase.dump

導入 SQL 文件:

psql -U postgres -h localhost -p 5432 -d mydatabase -f /path/to/mydatabase.sql

通過以上命令和步驟,你可以根據需要導出和導入 PostgreSQL 數據庫、模式或表的數據。

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

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

相關文章

第十一天 主菜單/設置界面 過場動畫(Timeline) 成就系統(Steam/本地) 多語言支持

前言 對于剛接觸Unity的新手開發者來說,構建完整的游戲系統往往充滿挑戰。本文將手把手教你實現游戲開發中最常見的四大核心系統:主菜單界面、過場動畫、成就系統和多語言支持。每個模塊都將結合完整代碼示例,使用Unity 2022 LTS版本進行演示…

深入探索Python Pandas:解鎖數據分析的無限可能

放在前頭 深入探索Python Pandas:解鎖數據分析的無限可能 深入探索Python Pandas:解鎖數據分析的無限可能 在當今數據驅動的時代,高效且準確地處理和分析數據成為了各個領域的關鍵需求。而Python作為一門強大且靈活的編程語言,…

小集合 VS 大集合:MySQL 去重計數性能優化

小集合 VS 大集合:MySQL 去重計數性能優化 前言一、場景與問題 🔎二、通俗執行流程對比三、MySQL 執行計劃解析 📊四、性能瓶頸深度剖析 🔍五、終極優化方案 🏆六、總結 前言 📈 測試結果: 在…

3、Linux操作系統下,linux的技術手冊使用(man)

linux系統內置技術手冊,方便開發人員查閱Linux相關指令,提升開發效率 man即是manual的前三個字母,有時候遇事不決,問個人(man) 其在線網址為:man 還有man網站的作者寫的書,可以下…

京東商品詳情數據爬取難度分析與解決方案

在當今數字化商業時代,電商數據對于市場分析、競品研究、價格監控等諸多領域有著不可估量的價值。京東,作為國內首屈一指的電商巨頭,其商品詳情頁蘊含著海量且極具價值的數據,涵蓋商品價格、庫存、規格、用戶評價等關鍵信息。然而…

正確應對監管部門的數據安全審查

首席數據官高鵬律師團隊編著 在當今數字化時代,數據安全已成為企業及各類組織面臨的重要議題,而監管部門的數據安全審查更是關乎其生存與發展的關鍵挑戰。隨著法律法規的不斷完善與監管力度的加強,如何妥善應對這一審查,避免潛在…

三星One UI安全漏洞:剪貼板數據明文存儲且永不過期

三星One UI系統曝出重大安全漏洞,通過剪貼板功能導致數百萬用戶的敏感信息面臨泄露風險。 剪貼板數據永久存儲 安全研究人員發現,運行Android 9及以上系統的三星設備會將所有剪貼板內容——包括密碼、銀行賬戶詳情和個人消息——以明文形式永久存儲&am…

動態規劃求解leetcode300.最長遞增子序列(LIS)詳解

給你一個整數數組 nums ,找到其中最長嚴格遞增子序列的長度。 子序列 是由數組派生而來的序列,刪除(或不刪除)數組中的元素而不改變其余元素的順序。例如,[3,6,2,7] 是數組 [0,3,1,6,2,2,7] 的子序列。 示例 1&#…

Rule.resourceQuery(通過路徑參數指定loader匹配規則)

1. 說明 在 webpack 4 中,Rule.resourceQuery 是一個用于根據文件路徑中的 查詢參數(query string) 來匹配資源的配置項。它允許你針對帶有特定查詢條件的文件(如 file.css?inline 或 image.png?raw)應用不同的加載…

快速上手 MetaGPT

1. MetaGPT 簡介 在當下的大模型應用開發領域,Agent 無疑是最炙手可熱的方向,這也直接催生出了眾多的 Agent 開發框架。在這之中, MetaGPT 是成熟度最高、使用最廣泛的開發框架之一。 MetaGPT 是一款備受矚目的多智能體開發框架&#xff0c…

新聞數據接口開發指南:從多源聚合到NLP摘要生成

隨著人工智能(AI)技術的飛速發展,新聞行業也迎來了新的變革。AI不僅能夠自動化生成新聞內容,還能通過智能推薦系統為用戶提供個性化的新聞體驗。萬維易源提供的“新聞查詢”API接口,結合了最新的AI技術,為開…

每天五分鐘深度學習框架pytorch:使用visdom繪制損失函數圖像

visdom的安裝 pip install visdom如果安裝失敗 pip install --upgrade visdom開啟visdom python -m visdom.server nohup python -m visdom.server后臺啟動然后就會出現,下面的頁面,我們可以使用下面的鏈接打開visdom頁面 Visdom中有兩個重要概念: env環境。不同環境的可…

UnityEditor - 調用編輯器菜單功能

例如: 調用Edit/Frame Selected In Scene EditorApplication.ExecuteMenuItem("Edit/Frame Selected in Scene"); EditorApplication.ExecuteMenuItem("Edit/Lock view to Selected");

電化學-論文分享-NanoStat: An open source, fully wireless potentiostat

電化學-論文分享-NanoStat: An open source, fully wireless potentiostat 發現了一篇近期有關便攜式電化學工作站相關方面的論文(2022),并且全部工作內容都是開源的,硬件電路圖、PCB板、嵌入式代碼以及網頁代碼、設備外殼所有資…

ZYNQ----------PS端入門(四)(根文件系統進emmc,鏡像和設備樹進flash)

文章目錄 系列文章目錄前言一、根文件系統是什么?二、根文件系統燒進emmc1.emmc是什么?2.根文件系統的位置3.分離根文件系統步驟1.14.分離根文件系統步驟1.25.分離根文件系統步驟2.1 三、根文件系統進emmc,設備樹和鏡像進flash 系列文章目錄 …

uniapp+vue3移動端實現輸入驗證碼

ios安卓 uniappvue3 微信小程序端 <template><view class"verification-code"><view class"verification-code__display"><block v-for"i in numberArr" :key"i"><view:class"[verification-code__d…

如何選擇游戲支付平臺呢?

如果要選擇一個游戲支付平臺的話&#xff0c;那么你可以考慮一下這個平臺&#xff1a;功能非常多&#xff0c;支付模式很高效&#xff0c;功能很全&#xff0c;服務很貼心&#xff0c;資金安全靠得住&#xff0c;安全認證模式也很可靠。 第二&#xff0c;結算方法也很多&#x…

前端如何獲取文件的 Hash 值?多種方式詳解、對比與實踐指南

文章目錄 前言一、Hash 值為何重要&#xff1f;二、Hash 值基礎知識2.1 什么是 Hash&#xff1f;2.2 Hash 在前端的應用場景2.3 常見的 Hash 算法&#xff08;MD5、SHA 系列&#xff09; 三、前端獲取文件 Hash 的常用方式3.1 使用 SparkMD5 計算 MD5 值3.2 使用 Web Crypto AP…

【Java學習筆記】類與對象

類與對象 什么是類&#xff1f; 知識遷移&#xff1a;類比 C 語言中的結構體 類的描述 類是一個對象的抽象&#xff0c;從字面意思就表示一個類的事物&#xff0c;類具有屬性和方法&#xff08;行為&#xff09;&#xff0c;對象是類的一個具體表現 總結&#xff1a;類是對象…

如何對極狐GitLab 議題進行過濾和排序?

極狐GitLab 是 GitLab 在中國的發行版&#xff0c;關于中文參考文檔和資料有&#xff1a; 極狐GitLab 中文文檔極狐GitLab 中文論壇極狐GitLab 官網 排序和議題列表排序 (BASIC ALL) 您可以通過多種方式對議題列表進行排序&#xff0c;可用的排序選項可以根據列表的上下文進…