问题标签 [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 投票
0 回答
683 浏览

postgresql - 在 Windows 上从 *.pg_dump 文件恢复 PostgreSQL 数据库

我正在尝试从 Windows 上的 *.pg_dump 文件恢复数据库。我对 PostgreSQL 完全陌生,这听起来很容易,但我真的有一个问题。我执行了这一行,但没有得到响应,甚至没有错误,并且数据库没有恢复。

任何解决方案都会很棒。

0 投票
1 回答
3320 浏览

postgresql - 出现警告时 pg_restore 的退出代码问题

命令:

遵循的步骤:

  1. 向数据库添加新表并进行转储

  2. 删除新添加的表

  3. 尝试使用转储文件恢复

  4. 恢复以代码 1 退出,但表仍然成功恢复。

pg_restore 中的错误:
pg_restore:[archiver (db)] 无法执行查询:err-1:表“test1”不存在
命令是:DROP TABLE public.test1;
警告:还原时忽略错误:2

这是带有表添加/删除步骤的转储/恢复功能的预期行为吗?

0 投票
9 回答
16564 浏览

database - pgAdmin III 中没有备份和恢复选项

我必须备份我的数据库,但是当我右键单击数据库然后备份时,备份按钮被禁用。同样在现有数据库中,由于“还原”按钮太禁用而无法还原。在创建新数据库之前,我工作正常。

它们是如何启用的?

0 投票
2 回答
1495 浏览

postgresql - 由于 hstore 导致表上的 pg_restore 失败

背景

我在 Ubuntu 14.04 上使用 PostgreSQL 9.3.5。

在一个错误的脚本之后,我有一个需要从通过 pg_dump 创建的转储文件中恢复的表。在这个表上,我有一个基于这个wiki 页面的审计触发器。如您所见,触发函数使用了一个 hstore。

错误

当我尝试恢复时,我得到:

扩展确实存在。

我可以在查询中使用它(作为 postgres 用户 - 与我在上面用于恢复的角色相同):

问题:

  1. 为什么当数据库安装了此扩展时会出现此错误?
  2. 除了放弃触发器,我怎样才能解决这个问题?删除触发器并不是世界上最糟糕的事情,但似乎这应该是可能的,并且在生产数据库中,我希望能够看到有人恢复数据等的审计跟踪。
0 投票
1 回答
1121 浏览

postgresql - pg_restore 仅某些表

我正在尝试编写一个pg_restore命令来仅将某些表(及其数据)恢复到我的数据库中。

注意:描述的每个命令都以我删除并重新创建数据库开始并以:(-v -x -O -j 8 -h localhost -U username -d database file.dump出于好奇,我不想使用--clean,因为转储来自的数据库具有不同的名称。)

由于pg_restore对我来说很好(使用上述参数),我查看了pg_restore文档,并尝试了这样的事情:

pg_restore -t table1 -t table2 ...(我以这种方式指定了 121 个表)。

但是,我收到如下错误:

我不明白为什么只有在设置-t标志时才会出现问题,但它似乎是。

这是怎么回事?


编辑:看起来这是由于 hstore 而导致表失败的 pg_restore 的副本,这是最近被问到的,到目前为止还没有接受的答案。

0 投票
0 回答
2045 浏览

postgresql - pg_restore:[compress_io] 无法解压缩数据:无效的块类型

从另一台服务器恢复 Postgres 备份时出现此错误:

pg_restore:[compress_io] 无法解压缩数据:无效的块类型

我在网上没有找到太多关于该错误意味着什么的信息。除了这个讨论

是不是备份文件有问题?是否已损坏?或者我需要做什么才能让目标数据库读取块类型?


这是在 crontab 中运行的用于创建备份的脚本的一部分:...

...这是恢复它的命令:

所有变量都正确解析。问题在于恢复,它开始恢复,但它退出并显示标题中的错误。

0 投票
1 回答
1151 浏览

postgresql - 如何在没有 psql 和 pg_restore 的情况下恢复 PostgreSQL 数据库备份?

我在运行 yocto(定制的 linux)的嵌入式设备上使用 postgresql。包含 postgresql 的包不提供 psql 或 pg_restore。/usr/bin 提供以下工具:

在此处输入图像描述

pg_basebackup 表示我能够创建备份。但是我应该如何在终端中恢复备份?使用 pg_restore 或 psql 这对我来说不是问题。

请注意:我想使用在我的 windows/linux 计算机上创建的备份在嵌入式设备上创建初始数据库。

0 投票
1 回答
567 浏览

postgresql - 重新安装操作系统后在没有 pg_dump 的情况下恢复 Postgres 数据库?

我最近重新安装了运行 Postgres 9.3 数据库的操作系统(Debian wheezy --> stretch)。数据库本身存储在单独的物理驱动器上,在重新安装操作系统期间未格式化。

愚蠢的是,我在更改操作系统之前没有运行完整的 pg_dump。

我有什么办法可以从第二个硬盘上的原始形式恢复数据库?

0 投票
0 回答
1322 浏览

postgresql - PostgreSQL、pg_dump 和 pg_restore 以及对象依赖顺序

我有个问题。有什么方法可以强制 PostgreSQL 9.3 备份/恢复模式以正确的依赖对象顺序排列?(例如:在创建物化视图本身之前,我需要创建一个在物化视图中使用的函数)。我在模式恢复时遇到错误,因为物化视图是在创建函数本身之前创建的。

谢谢

0 投票
3 回答
4290 浏览

postgresql - pg_restore 后缺少约束

转储表并将其导入另一个 postgres 数据库后,缺少约束。

我用这个来转储:

这要导入:

我在生成的 toc.dat 中可以看到是这样的:

这看起来像是在创建和破坏 PK,但我不确定我的解释是否正确,因为文件是二进制文件。

编辑:我正在使用 PostgreSQL 9.3