pg_dump 详解/使用举例

简介: pg_dump是一个用于备份PostgreSQL数据库的实用工具。即使当前数据库正在使用,也能够生成一致性的备份,且不会阻塞其他用户访问数据库(包括读、写)pg_dump只能备份一个数据库。如果要备份Cluster中数据库共有的全局对象,例如角色和表空间,需要使用pg_dumpall。

pg_dump是一个用于备份PostgreSQL数据库的实用工具。即使当前数据库正在使用,也能够生成一致性的备份,且不会阻塞其他用户访问数据库(包括读、写)

pg_dump只能备份一个数据库。如果要备份Cluster中数据库共有的全局对象,例如角色和表空间,需要使用pg_dumpall。

备份文件以文本或存档文件格式输出。Script dumps是一个普通文本文件,包含将数据库重构到保存时的状态所需的SQL命令。

要从这样的脚本恢复,需要将其提供给psql。脚本文件甚至可以用来在其他机器或者其他架构上重构数据库;进行一些必要的修改,甚至可以在其他数据库上使用。

其他归档文件格式必须与pg_restore一起使用进行数据库的重建。pg_restore可以选择要还原的内容,甚至可以在还原之前对待还原项进行重新排序。归档文件格式可以在不同的架构中使用。

归档文件格式与pg_restore组合使用时,pg_dump提供了一个灵活的归档传递机制。可以使用pg_dump备份整个数据库。pg_restore可用于检查存档和选择要还原数据库的哪些部分。
最灵活的输出文件格式是“自定义”格式(-Fc)和“目录”格式(-Fd)。它们允许选择和重新排序所有存档项,支持并行恢复,以及默认情况下是压缩的。“目录”格式是唯一支持并行备份的格式。

To dump a database called mydb into a SQL-script file:
$ pg_dump mydb > db.sql

To reload such a script into a (freshly created) database named newdb:
$ psql -d newdb -f test.sql

To dump a database into a custom-format archive file:
$ pg_dump -Fc test > test.dump

To dump a database into a directory-format archive:
$ pg_dump -Fd test -f dumpdir

To dump a database into a directory-format archive in parallel with 5 worker jobs:
$ pg_dump -Fd test -j 5 -f dumpdir5

To reload an archive file into a (freshly created) database named newdb:
$ pg_restore -d dump_test test.dump

To dump a single table named mytab:
$ pg_dump -t mytab mydb > db.sql

To dump all tables whose names start with emp in the detroit schema, except for the table named
employee_log:
$ pg_dump -t 'journal*' -T journal_10 test > test_journal.sql

To dump all schemas whose names start with east or west and end in gsm, excluding any schemas
whose names contain the word test:
$ pg_dump -n 'eastgsm' -n 'westgsm' -N 'test' mydb > db.sql

The same, using regular expression notation to consolidate the switches:
$ pg_dump -n '(east|west)gsm' -N 'test*' mydb > db.sql

To dump all database objects except for tables whose names begin with ts_:
$ pg_dump -T 'ts_*' mydb > db.sql

To specify an upper-case or mixed-case name in -t and related switches, you need to double-quote
the name; else it will be folded to lower case (see Patterns). But double quotes are special to the
shell, so in turn they must be quoted. Thus, to dump a single table with a mixed-case name, you need something like
$ pg_dump -t ""MixedCaseName"" mydb > mytab.sql

相关文章
|
运维 Ubuntu Java
如何在Linux中不解压就能查看压缩包中的内容,这13个命令非常强!
不解压查看压缩包内容对于提升 Linux 使用效率帮助非常大,不管是开发人员还是运维人员,这种需求场景非常多。
5378 0
如何在Linux中不解压就能查看压缩包中的内容,这13个命令非常强!
|
26天前
|
存储 人工智能 前端开发
从需求到研发全自动:如何基于Multi-Agent架构打造AI前端工程师
本文深入阐述了蚂蚁消金前端团队打造的Multi-Agent智能体平台——“天工万象”的技术实践与核心思考。
495 20
从需求到研发全自动:如何基于Multi-Agent架构打造AI前端工程师
|
Linux 网络安全 网络虚拟化
|
安全 关系型数据库 数据库
Postgresql 数据库用户权限授权(用户角色分配模式)
为了更方面和安全地管理数据库用户账号权限安全,实现通过用户角色代理的模式,实现用户账号功能授权的模式
19395 2
Postgresql 数据库用户权限授权(用户角色分配模式)
|
存储 关系型数据库 数据库
PostgreSQL的逻辑备份与物理备份
制定备份和恢复计划是每一个DBA最重要的工作之一,它决定了数据的有效性和完整性。也可以搭建跨越不同数据中心的流复制集群,能有效的帮助你避免单点故障。但是只有一份有效的备份能够帮助从delete或者drop的误操中恢复数据。
3854 0
|
SQL 关系型数据库 数据库
【一文搞懂PGSQL】4.逻辑备份和物理备份 pg_dump/ pg_basebackup
本文介绍了PostgreSQL数据库的备份与恢复方法,包括数据和归档日志的备份,以及使用`pg_dump`和`pg_basebackup`工具进行逻辑备份和物理备份的具体操作。通过示例展示了单库和单表的备份与恢复过程,并提供了错误处理方案。此外,还详细描述了如何利用物理备份工具进行数据损坏修复及特定时间点恢复(PITR)的操作步骤,以应对误操作导致的数据丢失问题。
|
6月前
|
人工智能 数据挖掘 API
3个实操案例,带你体验真正流畅可用的企业级通用智能体
本文探讨了企业级通用智能体的现状与应用,重点介绍了实在Agent。文章指出,当前通用AI Agent分为两类:一类是类似Manus的产品,采用大模型+API模式;另一类是在RPA基础上融合AI Agent架构的产品。实在Agent属于后者,具备低门槛、简单直白的操作方式和随心掌控的执行过程。文中通过豆瓣电影数据获取、多平台舆情分析及剪映图文成片自动化三个案例,展示了实在Agent的实际应用能力。此外,文章还强调了企业级智能体需具备可控、稳定和高效的特性,并总结了实在Agent满足商业化落地的核心能力,包括企业知识库、业务系统操作指南、模型接入支持及私有化部署等。
740 8
|
运维 监控 关系型数据库
【一文搞懂PGSQL】7. PostgreSQL + repmgr + witness 高可用架构
该文档介绍了如何构建基于PostgreSQL的高可用架构,利用repmgr进行集群管理和故障转移,并引入witness节点增强网络故障检测能力。repmgr是一款轻量级的开源工具,支持一键部署、自动故障转移及分布式节点管理。文档详细描述了环境搭建步骤,包括配置postgresql参数、安装与配置repmgr、注册集群节点以及配置witness节点等。此外,还提供了故障手动与自动切换的方法及常用命令,确保集群稳定运行。
|
关系型数据库 MySQL 数据库
postgresql使用mysql_fdw连接mysql
通过以上步骤,你可以在PostgreSQL中访问和查询远程MySQL服务器的数据,这对于数据集成和多数据库管理非常有用。
679 0
|
负载均衡 关系型数据库 PostgreSQL
【一文搞懂PGSQL】6. PostgreSQL + pgpool-II 实现读写分离
本文介绍了如何使用 PostgreSQL 和 pgpool-II 实现读写分离。pgpool-II 支持连接池、负载均衡等功能,适用于多种模式。文中详细描述了安装、配置及启动过程,并提供了示例命令,帮助读者快速搭建并验证读写分离环境。通过配置 `pgpool.conf` 文件指定监听地址、端口及节点信息等参数,确保系统的高效运行与故障转移。