在pg 8.3中, 可以使用多个-t来分割不同的table, 其他版本不清楚是否支持多个table导出.
例如: 我要一次性导出table1, table2, table3, 可以这么来写:
pg_dump -t table1 -t table2 -t table3 -F c -Z 9 databasename > abc.backup
比较诡异的用法
顺便把pg_dump的用法也放到这里来吧:
pg_dump
Name
pg_dump -- 将一个PostgreSQL数据库抽出到一个脚本文件或者其它归档文件中
Synopsis
pg_dump [option...] [dbname]
描述
pg_dump 是一个用于备份 PostgreSQL 数据库的工具。它甚至可以在数据库正在并发使用的时候进行完整一致的备份。 pg_dump 并不阻塞其它用户对数据库的访问(读或者写)。
转
储格式可以是一个脚本或者归档文件。 脚本转储的格式是纯文本,它包含许多 SQL 命令, 这些 SQL
命令可以用于重建该数据库并将之恢复到保存成脚本的时候的状态。 要从这样的脚本中恢复,使用 psql。
它们甚至可以用于在其它机器甚至是其它硬件体系的机器上重建该数据库, 通过对脚本进行一些修改,甚至可以在其它 SQL 数据库产品上重建该数据库。
另外,还有候选的归档文件格式必须和 pg_restore 一起使用重建数据库。 它们允许 pg_restore 对恢复什么东西进行选择, 或者甚至是在恢复之前对需要恢复的条目进行重新排序。 归档文件也是设计成可以跨平台移植的。
如
果一种候选文件格式和 pg_restore 结合,那么pg_dump就能提供一种灵活的归档和传输机制。 pg_dump
可以用于备份整个数据库, 然后就可以使用 pg_restore 检查这个归档和/或选择要恢复的数据库部分。
最灵活等输出文件格式是"custom(客户化)"格式(-Fc)。 它允许对归档元素进行选取和重新排列, 并且缺省时是压缩的。 tar
格式(-Ft)不是压缩的并且我们在装载等时候不可能重排列, 不过它也很灵活;还有,它可以用标准 Unix 工具,比如 tar 处理。
在运行 pg_dump 的时候,我们应该检查输出, 看看是否有任何警告存在(在标准错误上打印),特别是下面列出的限制。
选项
下面的命令行参数控制输出的内容和格式。
dbname
声明将要转储的数据库名。 如果没有声明这个参数,那么使用环境变量 PGDATABASE。 如果那个环境变量也没声明,那么用发起连接的用户名。
-a
--data-only
只输出数据,不输出模式(数据定义)。
这个选项只是对纯文本格式有意义。对于归档格式,你可以在调用 pg_restore 的时候声明选项。
-c
--clean
输出在创建数据库创建命令之前先清理(删除)该数据库对象的命令。
这个选项只是对纯文本格式有意义。对于归档格式,你可以在调用 pg_restore 的时候声明选项。
-C
--create
以一条创建该数据库本身并且与这个数据库联接等命令开头进行输出。 (如果是这种形式的脚本,那么你在运行脚本之前和哪个数据库联接就不重要了。)
这个选项只对纯文本格式有意义。对于归档格式,你可以在调用 pg_restore 的时候声明该选项。
-d
--inserts
将数据输出为的INSERT命令(而不是 COPY)。 这样会导致恢复非常缓慢。 这个选项主要用于制作那种可以用于其它非 PostgreSQL 数据库的转储。 请注意,如果你重新排列了字段顺序,那么恢复可能会完全失败。 -D 更安全,但是也更慢。
-D
--column-inserts
--attribute-inserts
把数据转储为带有明确字段名的 INSERT 命令。 (INSERT INTO table(column, ...) VALUES ...)。 这样会导致恢复非常缓慢,它主要用于制作那种可以用于其它非 PostgreSQL 数据库的转储。
-E encoding
--encoding=encoding
以指定的字符集编码创建转储。缺省时,转储是按照数据库编码创建的。 (另外一个获取同样结果的方法是设置 PGCLIENTENCODING 环境变量为期望的转储编码。)
-f file
--file=file
把输出发往指定的文件。如果忽略这些,则使用标准输出。
-F format
--format=format
选择输出的格式。format可以是下列之一:
p
输出纯文本SQL脚本文件(缺省)
t
输出适合输入到 pg_restore 里的tar归档文件。 使用这个归档允许在恢复数据库时重新排序和/或把数据库对象排除在外。 同时也可能可以在恢复的时候限制对哪些数据进行恢复。
c
输出适于给 pg_restore 用的客户化归档。 这是最灵活的格式,它允许对装载的数据和对象定义进行重新排列。 这个格式缺省的时候是压缩的。
-i
--ignore-version
忽略在 pg_dump 和数据库服务器之间的版本差别。
pg_dump 可以处理来自以前版本的PostgreSQL 的数据库,但是太老的版本则不被支持了(目前是支持到 7.0)。 如果你需要跨越版本检查时才使用这个选项( 而且如 pg_dump 失效,别说我没警告你)。
-n schema
--schema=schema
只转储 schema 的内容。 如果没有声明这个选项,所有目标数据库中的非系统模式都会被转储出来。
注意: 在这个模式里,pg_dump 并不试图转储任何其它选定模式可能依赖的数据库对象。 因此,系统不保证单一的一个模式的转储就可以成功地恢复到一个干净的数据库中去。
-o
--oids
作为数据的一部分,为每个表都输出对象标识(OID)。 如果你的应用在某种程度上引用了OID字段的话,(比如,在外键约束中用到)。 那么使用这个选项。否则,不应该使用这个选项。
-O
--no-owner
不把对象的所有权设置为对应源数据库。 通常, pg_dump 发出(psql特有的) ALTER OWNER 或者 SET SESSION
AUTHORIZATION 语句以设置创建的数据库对象的所有权。 又见 -R 和 -X
use-set-session-authorization 选项。 请注意 -O 并不防止所有对数据库的重新联接,
只是防止那些为调整权限进行的排它联接。
这个选项只是对纯文本格式有意义。对于归档格式,在你调用 pg_restore 的时候你可以声明该选项。
-R
--no-reconnect
这个选项已经过时,但是出于向下兼容的考虑,仍然接受这个选项。
-s
--schema-only
只输出对象定义(模式),不输出数据。
-S username
--superuser=username
声明关闭触发器时需要用到的超级用户名。 它只有使用了 --disable-triggers 的时候才有关系。 (通常,我们最好不要输入这个参数,而是用超级用户启动生成的脚本。)
-t table
--table=table
只输出表 table的数据。 很可能是在不同模式里面有多个同名表;如果这样,那么所有匹配的表都将被转储出来。 同时声明 --schema 和 --table 则只选择一个表。
注意: 在这个模式里,pg_dump 并不试图转储任何其它选定表可能依赖的数据库对象。 因此,系统不保证单一的一个表的转储就可以成功地恢复到一个干净的数据库中去。
-v
--verbose
声明冗余模式。 这样将令 pg_dump 输出详细的对象评注以及转储文件的启停时间和进度信息到标准输出上。
-x
--no-privileges
--no-acl
避免输出 ACL(赋予/撤消 命令)和表的所有者关系信息。
-X disable-dollar-quoting
--disable-dollar-quoting
这个选项关闭使用美元符包围函数体。强制它们用 SQL 标准的字串语法的引号包围。
-X disable-triggers
--disable-triggers
这个选项只是和创建仅有数据的转储相关。它告诉 pg_dump 包含在恢复数据时,临时关闭目标表上面的触发器的命令。 如果你在表上有参考完整性检查或者其它触发器,而恢复数据的时候你不想重载他们,那么你就应该使用这个选项。
目前,为 --disable-triggers 发出的命令必须用超级用户来做。 因此,你应该同时用 -S 声明一个超级用户名,或者最好是用一个超级用户的身份来启动这个生成的脚本。
这个选项只对纯文本格式有意义。对于归档格式,你可以在调用 pg_restore 的时候声明这个选项。
-X use-set-session-authorization
--use-set-session-authorization
输出标准的 SET SESSION AUTHORIZATION 命令而不是 ALTER OWNER 命令。
这样令转储更加符合标准,但是如果转储文件中的对象的历史有些问题,那么可能不能正确恢复。 并且,使用 SET SESSION
AUTHORIZATION 的转储需要数据库超级用户的权限才能转储成功, 而 ALTER OWNER 使用的权限则低得多。
-Z 0..9
--compress=0..9
声明在那些支持压缩的格式中使用的压缩级别。 (目前只有客户化格式支持压缩)。
下面的命令行参数控制数据库为联接参数。
-h host
--host=host
声明运行服务器的机器的主机名。 如果数值以斜杠开头,则它被用做到 Unix 域套接字的路径。 缺省是从 PGHOST 环境变量中取得的,如果设置了这个环境变量的话,否则,尝试一个 Unix 域套接字连接。
-p port
--port=port
声明服务器正在侦听并等待联接的 TCP 端口或本地 Unix 主控套接字文件句柄。 缺省时使用环境变量 PGPORT 的值(如果存在),或者是编译时的缺省值。
-U username
以给出用户身分联接。
-W
强制口令提示。如果服务器需要口令认证,那么这个动作应该自动发生。
环境
PGDATABASE
PGHOST
PGPORT
PGUSER
缺省连接参数
诊断
pg_dump 在内部使用 SELECT 语句。如果你运行 pg_dump 时碰到问题,确认你能够使用象 psql 这样的程序从数据库选取信息。
注意
如
果你的数据库给template1数据库增加了任何你自己的东西, 那么请注意把 pg_dump 的输出恢复到一个真正空的数据库中;
否则你可能会收到因为重复定义所追加的对象而造成的错误信息。要制作一个没有任何本地附属物的数据库,
可以从template0而不是template1拷贝,比如:
CREATE DATABASE foo WITH TEMPLATE template0;
pg_dump 有几个限制:
*
在进行纯数据转储时,并且使用了选项 --disable-triggers 的时候,pg_dump 发出一些查询先关闭在用户表上面的触发器,
然后插入数据,数据插入完成后再发出查询打开触发器。 如果恢复动作在中间停止,那么系统表可能就会处于一种错误状态。
tar 归档的成员的大小限制于 8 GB。(这个限制是 tar 文件格式的固有限制。) 因此这个格式无法用于任何单表的大小超过这个尺寸的原文表现。 tar 归档和任何其它输出格式的总大小是不受限制的,只是可能会又操作系统的限制。
pg_dump 生成的转储文件并不包含优化器用于查询规划决策的统计信息。 因此,恢复完之后,我们建议在每个已恢复的对象上运行 ANALYZE,以保证好性能。
例子
转储一个数据库:
$ pg_dump mydb > db.out
重载这个数据库:
$ psql -d database -f db.out
输出一个叫 mydb 的数据库到一个 tar 文件:
$ pg_dump -Ft mydb > db.tar
把这个数据库恢复到一个现有的叫 newdb 的数据库:
$ pg_restore -d newdb db.tar
相关推荐
PostgreSQL 内置备份工具全解析:pg_dump、pg_dumpall 与 pg_basebackup的区别与用法
postgresql备份工具介绍
PostgreSQL数据库之pg_dump使用
pg_dump是PostgreSQL的一个工具,用来备份数据库。需要备份整个数据库,或者特定的表,或者结构,或者数据。然后,先介绍基本的用法,比如备份整个数据库到文件。 先分情况讨论,比如只备份结构或者数据,这时候需要用到--schema-only或者--data-only选项。还有备份特定表的情况,用-t参数加上表名。然后不同的格式,比如自定义格式、目录格式,这些有什么优势,比如压缩或者并行备份。
【PostgreSQL】Windows下PostgreSQL的pg_dump命令导出tzq schema下以“_t“、“_ti“、“_tmp“结尾的,排除“abc_“开头的表结构
【代码】【PostgreSQL】Windows下PostgreSQL的pg_dump命令导出tzq schema下以"_t"、"_ti"、"_tmp"结尾的,排除"abc_"开头的表结构
pg_dump使用注意事项
pg_dump使用注意事项: 如果同时指定了-n和-N,那么将只转储匹配-n但不匹配-N的模式。如果出现-N而不出现-n,那么匹配-N的模式将不会被转储。 如果同时指定了-t和-T,那么将只转储匹配-t但不匹配-T的模式。如果出现-T而不出现-t,那么匹配-T的模式将不会被转储。 -v或--verbosr:执行过程中打印更详细的信息。使用此选项后,pg_dump将输出详细的对象评注及
postgresql之pg_dump命令详解 - wling_89的专栏 - 博客频道 - youkuaiyun.com.mht
PG导入导出命令详解
告别NEDC!手把手教你将CLTC/WLTP等最新工况文件导入AVL Cruise(附资源包)
本文详细指导如何将CLTC、WLTP等最新工况文件导入AVL Cruise软件,替代传统的NEDC工况。从资源获取、文件预处理到分步导入指南,再到常见问题排查,帮助工程师高效完成汽车仿真性能评估。附赠全球主流工况文件资源包,助力精准仿真分析。
pg_dump 命令用法
pg_dump命令用法 https://www.postgresql.org/docs/9.3/app-pgdump.html // pg_dump -h [host] -U [username] [db name] > dumpfile $ pg_dump -h pinpoint.c3ymkme5.us-east-1.rds.amazonaws.com -U postgres pinpoint > db-prod.sql pg_dump: server version: 11.6; pg
微信小程序通过MQTT协议实现智能家居远程控制——基于阿里云物联网平台
本文详细介绍了如何利用微信小程序与MQTT协议,结合阿里云物联网平台,构建一套完整的智能家居远程控制系统。文章从平台配置、MQTT协议核心概念、小程序开发实战到单片机端对接,提供了全链路实践指南,并重点阐述了通过规则引擎实现消息路由与设备绑定的关键步骤,帮助开发者快速实现安全、稳定的自定义智能家居解决方案。
PostgreSql pg_dump用法
pg_dump [connection-option...] [option...] [dbname] pg_dump 连接选项参数如下: -h host 或 --host=host:指定运行服务器的主机名。 -p port 或 --port=port:监听端口号,默认端口为5432。 -U username 或 --username=username:指定要连接的用户名。 -w 或 --no-password:从不提示密码,该选项常用于后台脚本中。 -W 或 --password:强制 pg_dump
多核系统核间通信(IPC)设计:从硬件机制到软件实现
在多核处理器与嵌入式系统设计中,核间通信(IPC)是实现计算资源协同工作的核心技术。其原理基于共享内存、硬件邮箱与中断等底层硬件机制,通过构建结构化的消息传递通道,实现核间高效、可靠的数据交换。该技术的核心价值在于打破多核间的壁垒,将分散的计算单元整合为有机整体,从而显著提升系统整体性能与响应能力。在工程实践中,IPC广泛应用于智能座舱、边缘AI网关、实时控制系统等场景,用于处理如仪表显示、AI推理、实时控制等复杂任务。本文聚焦于基于共享内存与VRING的消息队列实现,深入剖析缓存一致性、内存屏障等关键问题
DCDC系列(一): COT DCDC基本原理
电流环DCDC属于双环控制模式,根据电流检测的位置,分为峰值电流环控制模式、谷值电流环控制模式和平均电流环控制模式,主要由输出电压反馈环和电流环两个环路来实现控制,其瞬态响应比电压环更好,且有自动限流的功能,但仍需要斜坡补偿网络,且对噪声敏感。Stage3: 在下管NMOS打开阶段,由于后级负载此时间段内消耗的电量较少,所以VFB还未低至Vref,所以此阶段中,上管PMOS和下管NMOS均处于关断状态,此时的电感电流为0mA,此阶段测的VSW上的电压就是Cout上的电压VREG;
pg_dump用法【转】
原文:http://huangro.iteye.com/blog/366035 在pg 8.3中, 可以使用多个-t来分割不同的table, 其他版本不清楚是否支持多个table导出.例如: 我要一次性导出table1, table2, table3, 可以这么来写:pg_dump -t table1 -t table2 -t table3 -F c -Z 9 databasena...
BSD盲区检测系统性能要求及试验方法
盲区监测系统BSD通过安装在车辆后方的两颗毫米波雷达实时监测驾驶员视野盲区,当发现视野盲区内出现其它道路使用者时,通过左右后视镜上的警示灯向驾驶员发出报警。
pg_dump与pg_dumpall的用法
pg_dump仅导出数据库结构: pg_dump -U TestRole1 -s -f TestDb1.sql TestDb1 备份某个database,备份结果以自定义压缩格式输出: pg_dump -h localhost -p 5432 -U someuser -F c -b -v -f mydb.backup mydb 备份某个database,备份结果以SQL文本方式输出
搭建AutoSAR开发环境
任何开发都需要一套开发环境,包括软硬件环境,笔者后续将介绍的是 NXP 的 S32K144 配套的开发板。接下来详细介绍怎么获取这些软硬件工具。仅供个人学习使用!
SAP 实施:Waterfall vs. Agile —— 一场“结构性矛盾“的深刻比较先说结论:在 SAP 世界里,这从来不是“谁更好“的宗教问题,而是“你的项目 DNA 是什么“的战略选择。
SAP 实施:Waterfall vs. Agile —— 一场"结构性矛盾"的深刻比较 先说结论:在 SAP 世界里,这从来不是"谁更好"的宗教问题,而是"你的项目 DNA 是什么"的战略选择。 SAP 早已用 SAP Activate 给出了官方态度——它不是纯 Agile,也不是回头去搞旧 Waterfall,而是一个带质量门的混合架构。 1. 先回到本质:两者解决的是不同维度的风险 维度 Waterfall(传统 ASAP 路线) Agile(SCRUM/Kanban 式迭代)
pg_dump和pg_restore的用法
pg_dump用于备份的工具,不会阻塞其它用户对数据库的访问 转储格式:脚本和归档文件 脚本:SQL命令,使用psql命令恢复 归档文件:pg_restore恢复 语法:pg_dump [选项]…[数据库名] 常用命令 参数 描述 -h,–host 数据库地址 -p,–port 数据库端口 -U,–username 数据库用户 -W,–password 强制口令提示(自动) -w,–no-password 永远不提示输入口令 -f,–file=filename 输出文件或
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
pg_dump和pg_restore用法
PostgreSQL提供的一个工具pg_dump,逻辑导出数据,生成sql文件或其他格式文件,pg_dump是一个客户端工具,可以远程或本地导出逻辑数据,恢复数据至导出时间点。 pg_dump 一次只转储一个数据库, 并且不会转储有关角色或表空间的信息 (因为那些是群集范围而不是每个数据库)。为支持方便地转储数据库群集的全部内容, 提供了 pg_dumpall 程序。pg_dumpall 在给定的...
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
pg_dump用法及实例讲解
原文地址:http://blog.chinaunix.net/uid-354915-id-3504632.html 一、pg_dump的用法: 数据库的导入导出是最常用的功能之一,每种数据库都提供有这方面的工具,例如Oracle的exp/imp,Informix的dbexp/dbimp,MySQL的mysqldump,而PostgreSQL提供的对应工具为pg_dump和pg_rest
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
postgres pg_dump简单用法
备份参数pg_dump介绍: pg_dump 把一个数据库转储为纯文本文件或者是其它格式. 用法: pg_dump [选项]... [数据库名字] 一般选项: -f, --file=文件名 输出文件名 -F, --format=c|t|p 输出文件格式 (定制, tar, 明文) -v, --verbose 详细模式
pg_dump与pg_restore使用记录
pg_dump -f your_save_file --host your_host --port your_port -U your_username -Fc your_database_name pg_restore --host your_host --port your_port -U your_username -d your_database_name your_save_file
《PostgreSQL17 在 openEuler2403 上的备份与恢复:pg_dump 与 pg_restore 用法》
生产环境建议结合 WAL 归档实现 PITR(时间点恢复),最小化数据丢失风险。备份文件应加密存储,敏感数据需符合 GDPR/HIPAA 规范。
逻辑导入导出(pg_dump/pg_restore)用法1-过滤掉相关的对象
目录 文档用途 详细信息 文档用途 在逻辑复制(logical replication)初始化时,需要在备端初始化表结构。此时需要禁用触发器、序列、函数、外键操作。 本文档给出相关方法 详细信息 逻辑导入导出用法:过滤掉相关的对象 >导出schema test的所有表结构,以Fc自定义格式 pg_dump -p 5432 -U pg -s -...
2810



被折叠的 条评论
为什么被折叠?



