英语法语西班牙文

OnWorks 网站图标

pg_dumpall - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 pg_dumpall

这是 pg_dumpall 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


pg_dumpall - 将 PostgreSQL 数据库集群提取到脚本文件中

概要


pg_dumpall [连接选项...] [选项...]

商品描述


pg_dumpall 是一个用于写出(“转储”)集群的所有 PostgreSQL 数据库的实用程序
成一个脚本文件。 脚本文件包含可用作输入的 SQL 命令
psql的(1) 恢复数据库。 它通过调用 pg_dump(1) 对于每个数据库中的
一个集群。 pg_dumpall 还转储所有数据库共有的全局对象。
(pg_dump 不保存这些对象。)这当前包括有关数据库的信息
用户和组、表空间和属性,例如适用于的访问权限
数据库作为一个整体。

由于 pg_dumpall 从所有数据库读取表,因此您很可能必须作为
数据库超级用户以生成完整的转储。 你还需要超级用户
执行保存的脚本以允许添加用户和组的权限,以及
创建数据库。

SQL 脚本将写入标准输出。 使用 [-f|file] 选项或 shell
运算符将其重定向到文件中。

pg_dumpall 需要多次连接到 PostgreSQL 服务器(每个数据库一次)。 如果
您使用密码身份验证,它每次都会要求输入密码。 很方便
~/.pgpass 在这种情况下归档。 请参阅第 31.15 节,“密码文件”,在
文档以获取更多信息。

配置


以下命令行选项控制输出的内容和格式。

-a
--仅数据
只转储数据,而不转储模式(数据定义)。

-c
- 干净的
在重新创建数据库之前包含用于清理(删除)数据库的 SQL 命令。 下降 命令
还添加了角色和表空间。

-f 文件名
--文件=文件名
将输出发送到指定的文件。 如果省略,则使用标准输出。

-g
--仅全局变量
仅转储全局对象(角色和表空间),不转储数据库。

-o
--oids
转储对象标识符 (OID) 作为每个表的数据的一部分。 使用此选项,如果
您的应用程序以某种方式引用了 OID 列(例如,在外键中
约束)。 否则,不应使用此选项。

-O
--无所有者
不要输出命令来设置对象的所有权以匹配原始数据库。 经过
默认,pg_dumpall 问题 改变 业主 or 设置 SESSION 授权 要设置的语句
创建的架构元素的所有权。 当脚本运行时,这些语句将失败
除非它由超级用户(或拥有所有对象的同一用户)启动
在脚本中)。 制作一个任何用户都可以恢复的脚本,但会给
所有对象的用户所有权,指定 -O.

-r
--仅限角色
仅转储角色,不转储数据库或表空间。

-s
--仅模式
仅转储对象定义(架构),而不转储数据。

-S 用户名
--超级用户=用户名
指定禁用触发器时要使用的超级用户名。 这只是相关的
if --禁用触发器 用来。 (通常,最好将其排除在外,取而代之的是
以超级用户身份启动生成的脚本。)

-t
--仅表空间
仅转储表空间,不转储数据库或角色。

-v
--详细
指定详细模式。 这将导致 pg_dumpall 输出开始/停止时间到
转储文件,以及标准错误的进度消息。 它还将启用详细输出
在 pg_dump 中。

-V
- 版
打印 pg_dumpall 版本并退出。

-x
--无权限
--无acl
防止转储访问权限(授予/撤销命令)。

--二进制升级
此选项供就地升级实用程序使用。 它用于其他目的是
不推荐或不支持。 该选项的行为可能会在未来版本中发生变化
不知不觉中。

--列插入
--属性插入
转储数据为 插入 具有显式列名的命令 (INSERT INTO (,
...) 值 ...)。 这会使恢复非常缓慢; 它主要用于制作
可以加载到非 PostgreSQL 数据库中的转储。

--禁用美元报价
此选项禁用函数体的美元引用,并强制它们
使用 SQL 标准字符串语法引用。

--禁用触发器
此选项仅在创建仅数据转储时相关。 它指示 pg_dumpall
包括临时禁用目标表上的触发器的命令,而
数据被重新加载。 如果您有参照完整性检查或其他触发器,请使用此选项
在数据重新加载期间不想调用的表上。

目前,发出的命令为 --禁用触发器 必须以超级用户身份完成。 所以,
您还应该指定一个超级用户名 -S,或者最好小心开始
生成的脚本作为超级用户。

--如果存在
使用条件命令(即添加 IF EXISTS 子句)来清理数据库和其他
对象。 此选项无效,除非 - 干净的 也有规定。

--插入
转储数据为 插入 命令(而不是 COPY)。 这会使恢复非常缓慢;
它主要用于制作可以加载到非 PostgreSQL 数据库中的转储。
请注意,如果您重新排列了列顺序,则恢复可能会完全失败。 这
--列插入 选项更安全,但速度更慢。

--锁定等待超时=超时
不要在转储开始时一直等待获取共享表锁。
相反,如果无法锁定指定范围内的表,则失败 超时. 超时可能
以任何接受的格式指定 设置 语句超时. 允许值
取决于您要转储的服务器版本,但整数个
自 7.3 以来,所有版本都接受毫秒。 当这个选项被忽略时
从 7.3 之前的服务器转储。

--无安全标签
不要倾倒安全标签。

--无表空间
不要输出创建表空间的命令,也不要为对象选择表空间。 和
这个选项,所有对象都将在任何一个表空间中创建
恢复。

--无未记录的表数据
不要转储未记录表的内容。 此选项对是否或
不转储表定义(架构); 它只会抑制倾倒表格
数据。

--引用所有标识符
强制引用所有标识符。 这在转储数据库时可能很有用
迁移到可能引入了其他关键字的未来版本。

--use-set-session-授权
输出 SQL 标准 设置 SESSION 授权 命令而不是 改变 业主 命令
确定对象所有权。 这使得转储更符合标准,但是
根据转储中对象的历史记录,可能无法正确恢复。

-?
- 帮帮我
显示有关 pg_dumpall 命令行参数的帮助,然后退出。

以下命令行选项控制数据库连接参数。

-d 连接器
--数据库名=连接器
指定用于连接到服务器的参数,作为连接字符串。 看
文档中的第 31.1.1 节“连接字符串”以获取更多信息。

该选项称为 --dbname 以与其他客户端应用程序保持一致,但
因为pg_dumpall需要连接很多数据库,连接中的数据库名
字符串将被忽略。 使用 -l 选项指定用于转储的数据库名称
全局对象并发现应该转储哪些其他数据库。

-h 主持人
--主机=主持人
指定运行数据库服务器的机器的主机名。 如果
value 以斜杠开头,用作 Unix 域套接字的目录。 这
默认值取自 PG主机 环境变量,如果设置,否则为 Unix 域
尝试套接字连接。

-l DBNAME
--数据库=DBNAME
指定要连接以转储全局对象的数据库的名称和
发现应该转储哪些其他数据库。 如果未指定,则 postgres
将使用数据库,如果该数据库不存在,则将使用 template1。

-p 端口
--端口=端口
指定服务器使用的 TCP 端口或本地 Unix 域套接字文件扩展名
正在侦听连接。 默认为 PG端口 环境变量(如果已设置),或
一个编译的默认值。

-U 用户名
--用户名=用户名
要连接的用户名。

-w
--无密码
永远不要发出密码提示。 如果服务器需要密码认证和
密码无法通过其他方式获得,例如 .pgpass 文件、连接
尝试会失败。 此选项在没有用户的批处理作业和脚本中很有用
存在以输入密码。

-W
- 密码
强制 pg_dumpall 在连接到数据库之前提示输入密码。

这个选项从来不是必需的,因为 pg_dumpall 会自动提示输入
password 如果服务器要求密码认证。 但是,pg_dumpall 会浪费
发现服务器需要密码的连接尝试。 在某些情况下是
值得打字 -W 以避免额外的连接尝试。

请注意,每个要转储的数据库都会再次出现密码提示。
通常,最好设置一个 ~/.pgpass 文件而不是依靠手动密码输入。

--角色=角色名称
指定用于创建转储的角色名称。 此选项导致 pg_dumpall
发出 设置 身份 角色名称 连接数据库后的命令。 当
经过身份验证的用户(由 -U) 缺少 pg_dumpall 所需的权限,但是
可以切换到具有所需权限的角色。 某些安装有策略
反对直接以超级用户身份登录,使用此选项允许转储
在不违反政策的情况下做出的。

环境


PG主机
选项
PG端口
用户
默认连接参数

此实用程序与大多数其他 PostgreSQL 实用程序一样,也使用环境变量
libpq 支持(请参阅文档中的第 31.14 节“环境变量”)。

附注


由于 pg_dumpall 在内部调用 pg_dump,一些诊断消息将引用 pg_dump。

一旦恢复,运行是明智的 分析 在每个数据库上,所以优化器有用
统计数据。 你也可以运行 真空数据库 -a -z 分析所有数据库。

pg_dumpall 要求在恢复之前存在所有需要的表空间目录;
否则,对于非默认位置的数据库,数据库创建将失败。

示例


转储所有数据库:

$ pg_dumpall > 数据库输出

要从此文件重新加载数据库,您可以使用:

$ psql的 -f 数据库输出 Postgres的

(这里连接哪个数据库并不重要,因为脚本文件是由
pg_dumpall 将包含适当的命令来创建和连接到已保存的
数据库。)

使用 onworks.net 服务在线使用 pg_dumpall


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad