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

sql - PostgreSQL - 将每个表转储到不同的文件中

我需要从 PostgreSQL 数据库的多个表中提取 SQL 文件。到目前为止,这是我想出的:

但是,如您所见,所有以前缀开头的表thr都被导出到一个统一文件(db_dump.sql )。我总共有将近 90 个表要从中提取 SQL,因此必须将数据存储到单独的文件中。

我该怎么做?提前致谢。

0 投票
1 回答
1243 浏览

database - 在缺少写入权限的情况下如何转储 postgres 拥有的数据

我拥有的数据库postgres,我需要转储它,但postgres用户没有写入权限。因此,归结为postgres以操作系统中的不同用户身份登录数据库。我怎样才能做到这一点?我试过-U postgres但即使没有密码提示也会出错。基本上我在 Postgres 中寻找 `mysql -u root -p'。

0 投票
1 回答
1368 浏览

postgresql - Postgresql 的 pg_dump 和 pg_restore 跨不同的主要版本?

最近我遇到了一个(可能是已知的问题),当 Postgre 的版本在主要编号上不同(总是升级,没有降级)时,例如字段类型。

在我的情况下,几乎没有冲突的数据,所以我手动更改了它,但想了解更多,以防我再次遇到这个问题与更多数据。

在这个具体案例中(但将来可以扩展到其他可能的问题),我只使用数据插入创建了备份,因为我已经保存了表结构。

使用该money类型从 8.x 升级到 9.x 时出现问题,我收到错误,因为插入的值类似于

所以 postgres 拒绝在 9.1 中插入它

我的想法,我尝试的是将该字段转换为 DECIMAL 并重做转储,这是可行的,但在未来,是否有另一种机制,比如使用更新的 pg_dump 连接到旧数据库,而不是当前的?(没有测试这个)

0 投票
2 回答
337 浏览

postgresql - pg_dump 生成无效的 SQL 命令

当我在我的数据库上运行 pg_dump 时,它会将我的一个视图 (orders_plus) 转换为一个表,然后创建一个我猜想将其放回视图的规则。这似乎没问题(虽然很奇怪)。但是,就在“创建规则”之后,它放置了这一行:

这不是一个有效的命令,因此在恢复数据库时出现错误。

0 投票
1 回答
217 浏览

postgresql - postgres 对函数名区分大小写

当我在 postgres 中创建我的函数并将其命名为 getOrder 之类的东西时,它工作得很好。但是,当我随后执行 pg_dump 时,它会将其作为 getorder 转储,因此不会保留这种情况。如果我必须进行恢复,那一切都会中断。

我发现如果我引用它,我可以让它保留案例,例如:CREATE FUNCTION "getOrder"()...

但是每当我调用它时,我必须用引号实际调用它,这对 PHP 之类的东西来说很痛苦。

有没有办法简单地告诉 postgres 不考虑方法名称的大小写?我知道我可以通过调用 get_order 之类的名称来解决,但我更愿意按照我创建函数的方式保留外壳。

0 投票
0 回答
727 浏览

gdb - PostgreSQL 9.2.3 的 pg_dump 实用程序中的分段错误

我在我的开发板上使用 PostgreSQL 9.2.3,我正在使用以下命令备份数据库并出现分段错误。

/bin/pg_dump -U db_admin -t mytable -b -C -Ft MYDB|gzip >/home/mydb.tar.gz

我使用 gdb 分析了转储核心,发现 pg_dump 给出了 dopr() 函数的分段

gdb 输出

如果有人找到解决此问题的方法,请告诉我。

0 投票
1 回答
5602 浏览

postgresql - pg_dump 找不到数据库

除了我以外的任何人都可以轻松加分。我正在尝试使用 pg_dump。我正在运行 Mac OSx、postgres.app、9.2,并且我想备份我的数据库。我尝试了针对同一问题的其他解决方案,但没有成功。据我所知,postgres.app 正在 5432 上运行。我从一个随机目录和我的数据目录运行下面的命令,但运气不好。

命令尝试:

错误:

0 投票
1 回答
1505 浏览

postgresql - PG_DUMP 与主/从复制的性能?

所以我需要备份我的数据库,并且有两个我正在考虑的选项:

1) 使用 pg_dump 进行每日转储 2) 设置一个从属数据库,它将作为主数据库的复制。

我不是问哪个是最好的选择,而是问:

这两者的性能比较如何?直观地说,两者都在做类似的事情,即在一个单一进程中将所有数据从一台服务器流式传输到另一台服务器。

哪一个对主数据库服务器的 CPU/负载影响较小?哪一个对当前正在处理的查询的影响较小?

0 投票
1 回答
854 浏览

postgresql - 从 pg 转储文件中提取数据(插入命令)

我有一个从 Heroku 应用程序导出的 postgres 转储文件。

有没有办法从 pg 转储文件或 Heroku 应用程序中导出插入命令?

0 投票
1 回答
388 浏览

postgresql - 将postgresql数据库转换为不同数据库中的postgresql模式的自动化方法?

有没有一种自动化的方法来获取 postgresql数据库并将其转换为可以加载到新数据库中的 postgresql模式?

我玩弄了这个,找到了两种方法来做我想做的事,但老实说,这两种方法都很麻烦:

  1. 使用 plain 选项在数据库上执行 pg_dump,作为脚本的一部分,然后运行一些 sed tomfoolery 进行相应的更改。然而,这是在乞求痛苦和错误。

  2. 通过 psql 将数据库模式中的所有表、序列、数据等传输到新模式名称中,然后仅转储/恢复该模式/数据。

我可能会选择选项二,但有没有人有更简单的方法来做到这一点?如果我们从头开始生成这些东西,这当然是微不足道的,但很可能我们将不得不以这种方式转换多个系统上的现有数据库。

编辑:稍后阅读此内容的人的澄清。我试图从本质上获取数据库“A”的公共架构并将其转储/恢复到数据库“B”上的新命名架构中。数据库“B”可能会或可能不会将其公共模式用于其他事情,因此需要在不更改/更改数据库“B”上公共模式中的任何潜在数据的情况下进行传输。