PostgreSQL 备份与恢复

时间:2022-02-25 14:04:53

备份与恢复命令

  • pg_dump 备份一个数据库
  • pg_dumpall 备份全部数据库
  • pg_restore 恢复pg_dump备份的一个数据库
  • psql 恢复pg_dumppg_dumpall备份生成的sql文件到数据库

备份示例

  • pg_dump备份一个数据库
pg_dump -U postgres -W -F t dvdrental > dvdrental.tar

参数含义: -U指定用户 -W密码提示 -F输出文件格式

  • pg_dumpall备份全部数据库
pg_dumpall -U postgres > all.sql
  • pg_dumpall备份数据库结构等信息
pg_dumpall --schema-only > definitiononly.sql
pg_dumpall --roles-only > allroles.sql
pg_dumpall --tablespaces-only > allroles.sql

恢复示例

  • psql恢复数据库
psql -U username -f backupfile.sql
psql -U username --set ON_ERROR_STOP=on -f backupfile
psql -U username -d database_name -f objects.sql
  • pg_restore恢复数据库
pg_restore --dbname=newdvdrental --verbose dvdrental.tar
pg_restore --dbname=dvdrental --create --verbose dvdrental.tar