postgresql資料庫備份還原

2021-10-20 14:16:57 字數 991 閱讀 3953

背景:

公司 原先將postgresql跑在docker容器內,

並且使用了dockerswarm拉力編排,portainer的視覺化來管理

變更需求:

將postgresql 遷離swarm集群,單獨使用docker run命令來執行

備份:

pg_dump -u 使用者名稱 -h 資料庫ip -d 需要備份的庫名 -f 將備份檔案輸出到路徑
常用的選項包括:

-u 使用者名稱

-h 資料庫ip

-p 資料庫埠

-w(稍後互動式輸入密碼)

-d 需要備份的庫名

-f 將備份檔案輸出到路徑

本次使用的命令

docker exec -it postgresql bash -c "pg_dumpall -u postgres  -h 0.0.0.0 -f /pg-bakup.sql"

#在容器內執行,備份所有庫,並且不需要密碼,將備份檔案輸出到根目錄

docker cp postgresql:/pg-bakup.sql .

#將容器內備份檔案 拷貝到宿主機的當前目錄

docker run 起新容器

docker run -itd \

--restart=unless-stopped \

--name postgresql \

-v /data/nfs/postgresql/data:/var/lib/postgresql/data \

-e postgres_password=password \

-p 5433:5432 \

postgresql:12.5

匯入資料

psql -h 0.0.0.0 -u postgres -f [dump.sql/*.dmp]

psql -h 資料庫ip -u 使用者名稱 -f 備份檔案

PostgreSQL資料庫備份指令碼

資料庫備份shell指令碼 sh bin bash now date y m d h m s mkdir p srv pg backup for db name in 庫名1 庫名2 庫名3 do srv pgsql92 bin pg dump upgsql blobs format c compr...

PostgreSQL資料庫備份與恢復

參考了這篇文章 由於想要備份測試資料所以就進行了一下調查,以前成功過一次,但是由於時間久了,就忘記了,還是需要記錄一下。windows裡面,命令列進入postgresql的安裝目錄,執行pg dump h 10.u postgres testdb testdb.bak 會在當前安裝目錄生成乙個tes...

PostgreSQL資料庫完美備份恢復

進入到postgresql下的bin資料夾,會看到不少的exe檔案,這就是postgresql內建的工具了.裡面會找到pg dump.exe.我們實際使用的就是這個.用法 1 2 3 4 5 6 7 8 9 1.cd c program files postgresql 9.3 bin 2.pg d...