postgresql數(shù)據(jù)庫的備份與恢復(fù)_第1頁
postgresql數(shù)據(jù)庫的備份與恢復(fù)_第2頁
postgresql數(shù)據(jù)庫的備份與恢復(fù)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

實(shí)驗(yàn)名稱:PostgreSQL數(shù)據(jù)庫的備份與恢復(fù)學(xué)習(xí)目的了解以及熟悉postgreSql數(shù)據(jù)庫的備份與恢復(fù)實(shí)驗(yàn)環(huán)境實(shí)驗(yàn)環(huán)境的操作系統(tǒng)的版本:Ubuntu22.04安裝軟件:postgresql14pgadmin4前置知識(shí)PostgreSQL提供了三種備份和恢復(fù)的方式:SQLdump、文件系統(tǒng)復(fù)制和聯(lián)機(jī)熱備份。每一種備份方式都有自己的優(yōu)點(diǎn)和缺點(diǎn),下面將詳細(xì)介紹。實(shí)驗(yàn)步驟PostgreSQL備份與恢復(fù)1.SQLdump這種備份方式產(chǎn)生一個(gè)文本文件,里面包含創(chuàng)建各種數(shù)據(jù)庫對(duì)象的SQL語句和每個(gè)表中的數(shù)據(jù)。另外,表上創(chuàng)建的索引中的數(shù)據(jù)不會(huì)被導(dǎo)出,只會(huì)導(dǎo)出索引的定義信息。在恢復(fù)數(shù)據(jù)庫的時(shí)候,索引會(huì)被重建??梢允褂脭?shù)據(jù)庫提供的工具pg_dumpall和pg_dump來進(jìn)行備份。pg_dumpall會(huì)備份一個(gè)數(shù)據(jù)庫集群中的所有信息和數(shù)據(jù)。pg_dump只備份數(shù)據(jù)庫集群中的某個(gè)數(shù)據(jù)庫的數(shù)據(jù),它不會(huì)導(dǎo)出角色和表空間相關(guān)的信息,因?yàn)檫@些信息是整個(gè)數(shù)據(jù)庫集群共用的,不屬于某個(gè)單獨(dú)的數(shù)據(jù)庫。pg_dump的基本用法如下:pg_dump[connection-option...][option...][dbname]>[backup_file]pg_dump命令用來備份一個(gè)PostgreSQL數(shù)據(jù)庫到SQL文件或者歸檔文件,備份PostgreSQL數(shù)據(jù)庫是不會(huì)鎖定數(shù)據(jù)庫,也不會(huì)阻止用戶讀寫。常用連接選項(xiàng)(connection-option...):-h

host

--host=host

指定服務(wù)器的主機(jī)名或者IP,如果以

/

開頭,表示是Unix套接字所在的目錄。-p

port

--port=port

指定PostgreSQL數(shù)據(jù)庫服務(wù)器使用的TCP端口號(hào)。-U

username

--username=username

指定連接PostgreSQL數(shù)據(jù)庫的用戶。常用選項(xiàng)(option...):-t

table

--table=table

只轉(zhuǎn)儲(chǔ)指定名稱的表。示例:pg_dump-h127.0.0.1-Utestdemo_db>backup.sql恢復(fù)數(shù)據(jù)庫pg_dump創(chuàng)建的備份文件可以被工具psql識(shí)別。因此可以使用psql來讀取pg_dump創(chuàng)建的備份文件,實(shí)現(xiàn)恢復(fù)數(shù)據(jù)庫的功能格式如下:psql數(shù)據(jù)庫名<備份文件名2.使用pg_dumpallpg_dump只備份數(shù)據(jù)庫集群中的某個(gè)數(shù)據(jù)庫的數(shù)據(jù),它不會(huì)導(dǎo)出角色和表空間相關(guān)的信息。pg_dumpall則可以導(dǎo)出整個(gè)數(shù)據(jù)庫集群中所有的數(shù)據(jù)庫中的數(shù)據(jù),同時(shí)也會(huì)導(dǎo)出角色、用戶和表空間的定義信息。使用pg_dumpall的一般命令格式如下:pg_dumpall>備份文件名3.大型數(shù)據(jù)庫的備份和恢復(fù)如果數(shù)據(jù)庫的規(guī)模比較大,產(chǎn)生的備份文件的大小超級(jí)了操作系統(tǒng)能夠允許的單個(gè)文件的大小的最大值,可以使用壓縮和將備份文件分成對(duì)個(gè)部分這兩個(gè)方法來解決這個(gè)問題。采用壓縮的方法可以采用操作系統(tǒng)提供的任何一種壓縮工具來實(shí)現(xiàn),常用的是gzip。例如:pg_dumpdbname|gzip>filename.gz恢復(fù)時(shí),使用下面的命令:gunzip-cfilename.gz|psqldbname也可以使用下面的命令來恢復(fù)數(shù)據(jù)庫:catfilename.gz|gunzip|psqldbname將備份文件分成多個(gè)部分使用操作系統(tǒng)的工具split來實(shí)現(xiàn)。例如:pg_dumpdbname|split-b1m-filename在這個(gè)例子中,數(shù)據(jù)庫備份被分成多個(gè)大小為1MB的文件。使用下面的命令進(jìn)行恢復(fù)操作:catfilename*|psqldbname使用pg_dump自帶的壓縮功能這種方法產(chǎn)生的備份文件也是被壓縮的,同第一種方法相比,它有一個(gè)優(yōu)點(diǎn),就是可以只恢復(fù)備份文件中的某個(gè)表的數(shù)據(jù)。這種方法的命令格式如下,就是增加了選項(xiàng)-Fc:pg_dump-Fcdbname>filename不能使用psql命令恢復(fù)用這種方法備份的數(shù)據(jù),必須使用pg_restore來進(jìn)行恢復(fù)操作。命令格式如下:pg_restore-ddbnamefilename文件系統(tǒng)復(fù)制文件系統(tǒng)復(fù)制這種方法是直接復(fù)制所有的數(shù)據(jù)庫文件,存放到其它的存儲(chǔ)介質(zhì)上。這是最簡(jiǎn)單的備份數(shù)據(jù)庫的方法??梢允褂貌僮飨到y(tǒng)的命令來完成備份,例如:tar-cfbackup.ta

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論