PostgreSQL使用pg_dump导出与恢复
相关概念:PostgreSQL
pg_dump 适合做逻辑备份,常见用途有:
- 导出整个数据库
- 只导出部分表
- 迁移到另一台机器
整库导出
pg_dump -U looko -d ark_voice_sjp \
--no-owner \
--no-privileges \
--clean \
-f ark_voice_sjp.sql整库恢复
psql -h ts.1phk.linux -U postgres -d ark_voice_sjp -f ark_voice_sjp.sql只导出部分表
pg_dump -U looko -h localhost -p 6432 -d arkvoiceddd \
-t 'album*' \
-t 'song*' \
-t artist \
--clean \
--data-only \
--if-exists \
--no-owner \
--no-privileges \
> selected_tables_backup.sql导入部分表数据
psql -U looko -h localhost -p 6432 -d arkvoiceddd -f selected_tables_backup.sql参数理解
常见参数可以这样记:
--clean:导入前先执行删除--data-only:只导出数据,不导出表结构--no-owner:不保留原 owner--no-privileges:不导出授权信息
如果目标环境和源环境的角色、权限、库所有者不完全一致,这几个参数会很实用。