pg_dump备份
备份本地osdb数据库,全备份,不需要密码 |
pg_dump osdb > osdb.sql |
备份远程osdb数据库 |
pg_dump -h 192.168.122.1 -Uosdb osdb > osdb.sql |
只想备份表 |
pg_dump -t testtab > testtab.sql |
如果只想备份“schema1”模式中所有以job开头的表,但是不包括job_log表 |
pg_dump -t "schema1.job*" -T schema1.job_log osdb > schema1.job.sql |
转储所有osdb的数据库对象,但是不包含以_log结尾的表 |
pg_dump -T '*_log' osdb > log.sql |
pg_dump恢复
将数据库备份恢复到一个新的DB中 |
createdb osdb2 pg_restore -d osdb2 osdb.dump |
从192.168.122.1备份数据库osdb,然后恢复到192.168.122.2机器上。 在pg_restore 命令中,-d中指定的数据库可以时192.168.122.2机器上实例中的任意数据库,pg_restore仅用该数据库名称链接上去,去执行create database 命令创建osdb数据库,然后再重新连接到osdb数据库,最后把备份的表和其他对象创建到osdb数据库中。(-C 命令) |
备份: pg_dump -h 192.168.122.1 -Uosdb osdb -Fc >osdb.dmp 恢复: pg_restore -h 192.168.122.2 -Uosdb -C -d postgres osdb.dump |
将数据备份恢复到一个不是新建的不同名称的数据库osdb2 |
createdb -T template0 osdb2 pg_restore -d osdb2 osdb.dmp |