Home | 簡體中文 | 繁體中文 | 雜文 | 打賞(Donations) | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 知乎專欄 | 視頻教程 | About

61.2. Backup / Restore

61.2.1. Backup

本地備份

			
pg_dump --compress=9 --file=/backup/mydb.sql.gz mydb
			
			

Backup

			
pg_dump -i -h localhost -p 5432 -U user -Fc -c -f "your_db.backup" your_db
			
			

61.2.2. Restore

Restore

			
pg_restore -i -h localhost -p 5432 -U user -d your_db -v -c -Fc "your_db.backup"
			
			

61.2.3. import

導入

\i file.backup
			
postgres=# \i /home/neo/woodart.backup
			
			

61.2.4. 導出指定 schema

			
pg_dump -h [host] -U [dbuser] -s [dbname] -n [schema] > [file path]		
			
			

61.2.5. PostgreSQL for windows

local -> remote

			
set PG_HOME="C:\Program Files\PostgreSQL\8.1\bin"
%PG_HOME%\pg_dump.exe -i -h localhost -p 5432 -U woodart -Fc -c -f "woodart.backup" woodart
%PG_HOME%\pg_restore.exe -i -h woodart.8800.org -p 5432 -U woodart -d woodart -v -c -Fc "woodart.backup"
			
			

61.2.6. 大型資料庫備份

split 命令可以將大型檔案切成小塊以適應檔案系統限制的單個檔案大小。

分割,每650M為一個檔案,試用於光盤備份

			
$ pg_dump dbname | split -b 650m - filename
			
			

合併,並且恢復到資料庫中。

			
$ createdb dbname
$ cat filename* | psql dbname
			
			

61.2.7. schema之間遷移數據

從 schema 中導出數據

				
pg_dump -h 192.168.1.242 -U user -s database -n schema > schema.sql	
			
			

導入目標資料庫

			
psql -U user -d your-db -f schema.sql