開來源資料庫Postgresql的備份和恢複

來源:互聯網
上載者:User

標籤:

  最近工作上使用的資料庫一直是Postgresql,這是一款開源的資料庫,而且任何個人可以將該資料庫用於商業用途。在使用Postgresql的時候,讓我最明顯的感覺就是這資料庫做的真心好,雖然說資料庫的安裝包真的很小,但是效能和操作的便捷是一點也不輸給其他商業的大型資料庫,另外在命令列介面下對該資料庫直接進行操作的感覺真的是很爽。在使用資料庫的時候,我們作為小公司的資料庫管理員有一項工作是不可能避免的,那就是資料的備份和恢複問題。PostgreSQL雖然各個方面的有點很多,但是在Database Backup這方面,它是不支援增量備份的,這點確實讓人覺得很是可惜啊。不過,瑕不掩瑜,總的來說這是一款很好的資料庫軟體。

  PostgreSql支援的備份方式有三種:第一種是利用SQL語句備份,第二種是檔案系統層級的備份,第三種是線上備份以及及時回複。一般而言第一種方式的備份基本已經都我們用了,而且也很是方便。

  在第一種備份和恢複的方式中,我們主要使用到的工具有pg_dump,pg_dumpall,psql,pg_restore。下面主要說下這四個工具之間是如何合作完成備份和恢複這個操作的。其中pg_dump和pg_dumpall主要用於備份,這兩者之間的區別顯而易見,前者是用來對某個資料庫進行備份,而後者是用來備份整個資料庫叢集的。psql和pg_restore用於恢複資料的,這兩者不同的是psql只能用於採用預設格式備份的備份檔案的恢複,而pg_restore則用於恢複採用自訂、目錄和tar格式備份的資料的恢複。在第一種方面中主要的區別也就是這些了。下面把我備份資料庫用的指令碼貼出來,以供分享和交流。

@echo offrem PostgreSQLDatabase Backup指令碼,該指令碼不支援大資料對象的備份set path=%path%;C:\Program Files\PostgreSQL\9.4\bin;set fileName=database.backupset fileDir=%homepath%\winsun\%Date:~0,4%%Date:~5,2%if not exist %fileDir% (mkdir %fileDir%)if exist %fileDir%\%fileName% (del %fileDir%\%fileName%)pg_dump -U postgres -d database -p 5432 -w -F t -if-exists -c -f %fileDir%\%fileName%pg_dump -U postgres -d database -p 5432 -w -if-exists -c -f %fileDir%\%fileName%.sql

 

開來源資料庫Postgresql的備份和恢複

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.