Postgresql pg_dump 与 pg_restore 使用举例

本文详细介绍使用pg_dump进行PostgreSQL数据库备份的方法,包括本地与远程数据库的全备份及特定表或模式的备份策略。同时,阐述了如何利用pg_restore命令恢复备份数据至新数据库或现有数据库中,涵盖跨服务器恢复流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

转载于:https://www.cnblogs.com/xibuhaohao/p/11114306.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值