问题标签 [pg-restore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9688 浏览

database - pg_restore 适用于 zip 文件?

只是试图从资源中恢复教程数据库: http ://www.postgresqltutorial.com/load-postgresql-sample-database/

所以,在这段代码之后

我收到了当前消息:

pg_restore: [archiver] 输入文件似乎不是有效的存档

我应该怎么做才能成功恢复数据库?

先感谢您!

0 投票
0 回答
378 浏览

database - PostgreSQL 9.4.11 如何在 pg_dump 自定义压缩转储文件中包含数据库所有权和扩展名?

我曾经pg_dump -Fc ...以压缩格式转储我的数据库。

问题是当我pg_restore --create -d [some_auxiliary_db]用来取回数据库时。即使在 pg_dump / pg_restore 文档页面中说

-C --create
在恢复之前创建数据库。如果还指定了 --clean,则在连接到它之前删除并重新创建目标数据库。

使用此选项时,以 -d 命名的数据库仅用于发出初始 DROP DATABASE 和 CREATE DATABASE 命令。所有数据都恢复到存档中出现的数据库名称中。

https://www.postgresql.org/docs/9.4/static/app-pgrestore.html

https://www.postgresql.org/docs/9.4/static/app-pgdump.html

此外,对于为我的转储数据库创建的扩展,它们也丢失了。

然而,使用纯文本 .sql 转储pg_dump包含这些信息。

有没有一种方法或选项组合可以让我以存档格式转储数据库所有权数据和扩展?

我的 pg_dump 命令: pg_dump -Fc -Z1 -U postgres -f [targetdb.dump] [targetdb]

我的 pg_restore 命令: pg_restore --create --clean -j 6 -U postgres -d [auxiliarydb] -n public [targetdb.dump]

0 投票
1 回答
2792 浏览

postgresql - pg_dump 和 pg_restore:更改目录时出现“错误分段错误(核心转储)”

我目前正在尝试在更改数据库架构时建立数据库备份工作流程。

为了备份数据(仅数据),我运行以下命令:

这将创建一个新文件夹,其中每个表都有一个文件和一个目录文件toc.dat

现在我正在更改我的数据库模式,假设我isencrypted向表中添加了一个新的布尔列properties。我的备份现在已经过时并且不适合架构。

我该如何进行?

toc.datproperties更改数据之前的表条目:

properties在更改数据之前保存表的所有条目的相关表备份文件:

现在我更改两个文件以匹配新架构:

toc.dataproperties更改数据后的表条目:

修改数据后的相关表备份文件:

如果我现在尝试恢复该表,则会出现错误。恢复命令:

错误:

如果我改变toc.dat文件和备份文件改回原来的样子,错误就消失了(好吧,插入显然会失败,因为架构不同)。

我究竟做错了什么?

0 投票
1 回答
734 浏览

postgresql - 使用 --exclude-table-data 从 pg_dump 对表执行外键约束

我目前正致力于以一种允许我们从该客户的基本结构创建新数据库的方式转储我们客户的一个数据库,但不携带他们的私人数据。

到目前为止,我已经成功地pg_dump结合了--exclude_tableandexclude-table-data命令,这使我能够只带来执行此任务所需的数据。

但是,有一些表将引用我留下的一些数据的行与引用我必须带来的数据的其他行混合在一起,这导致我在还原操作期间出现了一些问题。具体来说,当转储尝试FOREIGN KEY对这些表上的某些列实施约束时,它会失败,因为有些行的键在相应的外部表上没有匹配的数据——因为我选择不带这个表的数据!

我知道我可以在转储完成后登录数据库,删除任何引用不再存在的数据的行并自己创建约束,但我想尽可能地自动化这个过程。如果表 B 的数据从备份中排除,是否有办法告诉pg_dump或(或任何其他程序)不从表 A 中获取行?pg_restore或者告诉 Postgres 在导入表的数据之前我想让那个特定的外键处于活动状态?

作为参考,我在 HREL 7 服务器上使用 PostgreSQL 9.2。

0 投票
1 回答
2457 浏览

sql - pg_restore 清理表 psql

我正在尝试将我转储到其当前位置的表恢复。该表是使用以下方法转储的:

试图恢复,我正在使用:

我正在使用 -c 因为该表当前存在并且有数据,但是它返回:

我也试过:

但是由于数据已经存在并且--clean这个 psql 命令没有选项(我相信),它返回:

有没有办法正确使用 pg_restore 或使用带有 --clean 选项的 psql ?

0 投票
1 回答
617 浏览

postgresql - 在 pg_dump 中传输时区

我在 PostgreSQL 中创建了一个时区,如下所示:

我也想在恢复的数据库中使用预设的时区。如果我通过备份它并使用它pg_dump恢复设置回本地时间。pg_restorepg_settings/TimeZone

如何转移时区?

0 投票
1 回答
93 浏览

postgresql - 还原期间是否可以访问 PostgreSQL 数据库?

是否可以在 pg_restore 从自定义格式恢复数据库时访问,特别是插入数据库。如果是,那么我是否应该关心在 pg_restore 运行时防止客户端访问数据库,或者恢复操作是“事务性的”,以便在它结束后客户端自启动以来所做的所有更改都将丢失?

0 投票
0 回答
523 浏览

postgresql - pg_restore 使用天蓝色平台

我正在尝试在 Azure 上恢复 postgres 转储。

大多数恢复都做得很好,一个问题让我有些头疼:postgres角色。

在大多数 postgres 数据库中,postgres 角色默认设置为超级用户。

在 Azure 中,postgres 角色设置为没有超级用户权限的普通角色。

我正在使用此命令行还原到 Azure 上的数据库

已知-x的 as--no-acl应该允许我没有任何角色授予,但它不起作用。

我有这个。

在此处输入图像描述

我尝试将 Azure 中唯一可用的“超级用户”角色授予该azure_pg_admin角色,postgres但它也无济于事。

任何提示都非常受欢迎。

谢谢

0 投票
1 回答
9751 浏览

postgresql - 如何将 pg_dump 文件恢复到 postgres 数据库

所以我定期使用 pgadmin4 备份和恢复数据库和模式。我想使用 pg_dump 和 pg_restore 等命令来处理批处理文件。然而,我总是无法在这方面取得成功,并且可以使用一些帮助。我尝试转储一个模式(带有数据)的方式如下:

然后我尝试用 pg_restore 恢复它:

首先,我尝试使用 .dump 代替 tar 但结果保持不变;这是我的数据库中的一个空模式。

或以下错误消息:

0 投票
1 回答
1732 浏览

postgresql - 使用 pg_restore 恢复表不包括主键或索引

因此,我使用 pg_dump 对表进行了备份:

该表有几个列出的索引,例如主键

但是,当我使用 pg_restore 将此表还原到另一个系统上的开发数据库时:

没有列出主键或索引

我究竟做错了什么?