dmp 恢复一个表_超详细的pg12.2数据库五种备份恢复机制总结,值得收藏

本文详细介绍了PostgreSQL的五种备份恢复机制:pg_dump与pg_restore、pg_dumpall、COPY、pg_basebackup以及PG快照备份与恢复。重点讲解了每种方式的用法、优缺点,适合数据库管理员和开发者参考。
摘要由CSDN通过智能技术生成

概述

备份重于一切,今天主要介绍PG的五种备份方式,仅供参考。

ps:前四种重点掌握


一、pg_dump备份及pg_restore恢复

1、语法

可以在本地及远程进行备份,只需要表的读权限即可备份。pg_dump创建的备份是一致的,在pg_dump运行时数据库产生快照,不阻塞数据库的DML操作,但是会阻塞需要排他锁的操作,如alter table等。特别注意的是,pg_dump一次只能备份一个单独的数据库,且不能备份角色和表空间信息(因为这些信息是cluster-wide,而不是在某个数据库中(per-database))。

使用pg_dump的自定义转储格式。. 如果PostgreSQL所在的系统上安装了zlib压缩库,自定义转储格式将在写出数据到输出文件时对其压缩。这将产生和使用gzip时差不多大小的转储文件,但是这种方式的一个优势是其中的表可以被有选择地恢复。

下面的命令使用自定义转储格式来转储一个数据库:
pg_dump -Fc dbname > filename
自定义格式的转储不是psql的脚本,只能通过pg_restore恢复,例如:
pg_restore -d dbname filename

pg_dump [OPTION]... [DBNAME]pg_restore [OPTION]... [FILE]
fa47f7fba2ec13ddc1c69bd4a244eedb.png
ea9d4e875ce51b7cfaa1df0d396053fa.png

2、常见用法

--导出指定库(不含create database语句)pg_dump -h xx.xx..142 -U hwb -p 55432 -d pas_db > /data/pgbackup/pas_db_bak202012.sql#导出指定库(包含create database语句)pg_dump -h xx.xx..142 -U hwb -p 55432 -C pas_db > /data/pgbackup/pas_db_bak202012.sql--导出指定库,结果以自定义压缩格式输出pg_dump -Fc -h xx.xx..142 -U hwb -p 55432 -d pas_db > /data/pgbackup/pas_db_bak202012.dump--备份表pg_dump -h xx.xx..142 -U hwb -p 55432 -d pas_db -t t1 -t t2 > /data/pgbackup/t.sql--备份某个模式所有表(schema名为hwb)pg_dump  -h xx.xx.142 -U hwb -p 55432 -d pas_db -t 'hwb.*' > /data/pgbackup/schema_202012.sql--备份某个模式所有表,排除一张表pg_dump  -h xx.xx.142 -U hwb -p 55432 -d pas_db -t 'hwb.*' -T hwb.t1  > /data/pgbackup/schema_t1_202012.sql--还原(导入postgres库,自动创建schema和表)pg_restore -h xx.xx.142  -U postgres -p 55432 -d postgres  -v  /data/pgbackup/pas_db_bak202012.dump--single-transaction表示整个恢复过程是一个事务,要么成功要么回滚--恢复后需运行ANALYZE收集统计信息psql -h xx.xx.142  -U postgres -p 55432 -d postgres --single-transaction <  /data/pgbackup/pas_db_bak202012.sql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值