问题标签 [pg-dump]

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 投票
1 回答
450 浏览

sql - 无法摆脱 Lion OSX 上的以下错误“pg_dump:由于服务器版本不匹配而中止”

我正在尝试通过以下方式下载 Heroku 上的数据库转储:

但我一直收到这个错误:

我在 SO 上找到了带有此错误的主题,但没有一个可以帮助我解决这个问题。我补充说:

进入~/.profile,我也添加了

进入~/.bash_profile,但这些都没有帮助我成功下载转储。

问题可能出在哪里以及如何解决?

非常感谢

0 投票
1 回答
2262 浏览

postgresql - 如何在 postgres DB 中为特定模式创建转储

我有一个 Postgres 数据库“rafiu”,其中包含许多模式,即 test1、test2、test3。在此我想转储 test2 模式及其数据。我尝试了以下查询

但它在结果转储文件中转储了 public.t1、public.t2 表而不是 test2 模式表。

请建议我如何在数据库中创建转储特定的特定模式。

提前致谢。

0 投票
1 回答
6335 浏览

postgresql - 如何将转储从 PostgreSQL 合并到数据库中?

我正在不同机器(PostgreSQL)上处理相同的数据库模式。我想知道,如何将数据从一台机器合并到另一台机器。Schema 有很多表(大约 10 个)。我想达到什么目的?

  1. 将数据从机器 A 转储到文件 A.dmp
  2. 将文件 A.dmp 中的数据恢复到机器 B
  3. 当机器B中已经存在一条记录时,我不想将它插入机器B。

我正在尝试将机器 A 中的数据转储到简单的 SQL 插入命令,但是当我尝试恢复它时,我遇到了重复的键错误。更重要的是,我想从命令行恢复数据(我必须导入 250 MB 数据),因为现在我正在尝试使用 pgAdmin 手动完成。

最好的方法是什么?

0 投票
2 回答
29829 浏览

postgresql - 有没有办法让 pg_dump 排除特定序列?

我想从我的 pg_dump 命令中排除一个序列,该命令将输出放入一个普通文件中。

我知道我在上面使用的表有开关,并且您可以结合 pg_restore 启用/禁用 tar 格式的数据库对象,如pg_dump 文档中所述,但我不会使用 pg_restore。

非常感谢

格雷厄姆

0 投票
2 回答
3192 浏览

postgresql - 哪种 pgdump 格式最适合小存储空间和快速恢复?

这是 PostgreSQL 备份(数据库转储)的第一次尝试,我一直在研究不同的 pgdump 格式、其他 pgdump 选项和 pgdumpall。对于一个 Postgres 初学者来说,每小时转储(将覆盖以前的转储)两个数据库,每个数据库包含表触发器和两个不同的模式,备份格式和选项可以轻松实现以下目标:

  1. 小文件大小(每个数据库单个文件或选择要恢复的数据库的能力)
  2. 易于恢复为干净的数据库(有和没有相同的数据库名称[s])
  3. 易于在不同的服务器上恢复(用户可能不同)
  4. 触发器在还原时被禁用,并在还原后重新启用。

包括用于备份和恢复的示例命令。

欢迎任何其他有用的 pgdump/pgrestore 建议。

0 投票
1 回答
2313 浏览

postgresql - PostgreSQL 在不同时区转储和恢复

我有两个数据库在不同时区的不同服务器上运行。有几个表包含timestamp with timezone.

我需要从一个数据库中转储数据并将其导入到另一个具有正确时间戳和正确时区的数据库中。

我使用以下命令转储数据:

我看到数据采用旧的时间戳和时区格式:2013-11-29 14:30:00+02

然后我使用命令到另一台服务器来恢复转储:

而且我看到时间戳和时区来自旧服务器 - 我认为这是正常的。

然后我尝试将以下命令放在 dump.sql 的开头

但仍然无法正常工作。:(

这是一次操作。一旦传输的数据将不需要同步。有没有办法使用 pg_dump 和 pg_restore 或类似的方法进行这种转换?

0 投票
1 回答
738 浏览

postgresql - 保存没有 NULL 值的 sql 文件

当我跑

任何具有价值NULL的东西也会被打印出来。我可以创建一个 SQL 文件以使NULL不包含的列吗?

--column-inserts确实创建了一个发布列名和数据的查询。

例子:

说我有一张桌子

当我导出 sql 文件时,数据插入行看起来像

我想要的是

这样 sql 文件不包含任何要放入数据库的 NULL 元素。这是必需的,因为在系统数据库中,我们使用了很多列,而我的代码只更改了其中的一小部分。因此,sql 生成器有很多 NULL。

0 投票
1 回答
3022 浏览

postgresql - 我可以停止使用 pg_dump 删除“公共”模式吗?

我正在执行 pg_dump 命令,如下所示:

我遇到的问题是,在创建的纯 sql 文件中,它添加了一个命令来尝试并 DROP 整个 PUBLIC 模式,如以下代码段所示:

我确实想删除我提供的排除表参数中未排除的所有其他对象,但我不希望它删除架构。

我尝试将架构添加为排除表参数,但这不起作用。

我正在为 pg_dump 使用 Postgresql 8.4。

编辑:我想更新这个问题并说我相信不可能让 pg_dump 以纯格式排除 DROP / CREATE 公共命令。我相信您必须使用自定义格式,然后使用 pg_restore 才能阻止这种情况发生。当我使用 psql 来恢复和使用纯格式的 pg_dump 时,我只是在作为我正在创建的 Java 进程的一部分自动创建的 sql 文件之后从 sql 文件中删除我不想要的命令,我可以解决这个问题。如果有人确实找到了这样做的方法,我会留下这个问题。

0 投票
2 回答
7867 浏览

postgresql - 无法使用 pg_dump 将表复制到另一个数据库

我正在尝试将表从一个数据库复制到另一个数据库(不是模式)。我在终端中使用的代码如下:

当我按 Enter 时,它请求 postgres 密码我输入我的通行证,然后它请求 psql 密码。我输入它并按 Enter。我收到很多:

两个表都有UTF8编码。难道我做错了什么?
操作系统:Windows XP

错误输出:

在上面的数百个错误之后,终端回显:

最后:

编辑 我用 psql 阅读了对相同问题\N 错误的回复,它说使用 INSERT 而不是 COPY,但在文件 pg_dump 中创建了 COPY。如何对 pg_dump 说使用 INSERT 而不是 COPY?


我将带有 iconv 的文件转换为 utf-8。现在该错误已经消失,但我有一个新错误。在这种特殊情况下,当我使用 psql 将数据导入数据库时​​,会发生一些新的事情。表已创建但没有数据。它说:

0 投票
1 回答
3703 浏览

postgresql - Schema 名称中的点 (.) 使 pg_dump 无法使用

我有一个名为2sample.sc. 当我想pg_dump它的一些表时,会出现以下错误:

我的 pg_dump 命令:

我的 pg_dump 在 2sample 等其他模式上运行良好。

我做了什么:

  • 我试图逃脱点(。)但没有成功