pgsql的備份與恢復

2021-10-01 05:26:56 字數 1492 閱讀 7032

在window上備份:

(1):在pgsql的bin目錄在開啟命令視窗。

注 可以使用./pg_dump 查詢相關引數含義 

(3):恢復資料: ./pg_restore.exe --host ip位址--port 埠號--username 使用者名稱 --dbname 資料庫名稱   --verbose  備份檔案

例: ./pg_restore.exe --host localhost --port 5432 --username "postgres" --dbname "ssaidb7"   --verbose "c:/databasename1.bak"。

在liunx上備份與恢復:

(1):進入pgsql的安裝目錄usr/bin 

(2):執行備份:

(1)、不壓縮檔案 , ./pg_dump -h 10.236.46.44  -p 5432 -u root ssaidb2 > /home/ssai/project/data/ssaidb2.bak

(2)、壓縮檔案 ,

(3):恢復資料

(1)、不壓縮恢復:./psql -h 10.236.46.44 -u root -d ssaidb3  < /home/ssai/project/data/ssaidb2.bak

(2)、壓縮恢復,

(1)、使用環境變數 

backup.s**件中新增export  pgpassword=password

(2)使用密碼檔案

backup.sh不新增export  pgpassword=password,新增密碼檔案

.pgpass 是 連線 postgresql 時使用的密碼檔案,通常位置為 ~/.pgpass。

檔案內容:

#hostname:port:database:username:password

192.168.0.101:5432:postgres:postgres:123456

設定許可權

chmod 600 ~/.pgpass

注:輸入密碼設定環境變數

#!/bin/bash

export pgpassword=password

sevendays_time=$(date -d -30days '+%y-%m-%d')

cur_time=$(date '+%y-%m-%d')

echo "starting backup postgresql ..."

echo ""+$sevendays_time

rm -rf pgsql-backup.$sevendays_time.bak

/usr/bin/pg_dump -h 127.0.0.1 -p 5432 -u root ssaidb > /home/project/data/pgsql-backup.$cur_time.bak

echo "finish backup ..."

cron任務:

0 2 * * * /home/data/backup.sh

pitr 原理 pgsql的備份和恢復

pgsql的備份和恢復 備份 1.pg dump sql轉儲,類似於mysql的binlog的dump,可以加上壓縮如gzip,可以設定壓縮級別 備份 pg dump dbname outfile 恢復 psql dbname infile outfile 和infile是同乙個檔案 2.pg du...

PgSQL定時備份

1,綜述 下面主要是通過sql轉儲的方式備份postgresql,sql 轉儲的方法是建立乙個文字檔案,這個文字裡面都是 sql 命令,當把這個檔案回饋給伺服器時,將重建與轉儲時狀態一樣的資料庫。2,備份命令 1 postgresql 自帶的內建備份工具叫做pg dump 例項 su postgre...

mysql 備份與恢復 MySQL 備份與恢復

1 檢視資料庫的資料儲存在哪個目錄下 shiyanlou mysql uroot e show variables like datadir variable name value datadir var lib mysql 2 備份資料的方法 select into outfile 檔名 或者 s...