Postgres pg_dump每次都以不同的顺序转储数据库

littleK:

我正在编写一个PHP脚本(它也使用linux bash命令),将通过执行以下操作在测试用例中运行:

我正在使用PostgreSQL数据库(8.4.2)...

1.)创建一个数据库2.)修改数据库3.)存储数据库的数据库转储(pg_dump)

4.)通过执行步骤1.)和2.),进行回归测试,然后进行另一个数据库转储,并将其(diff)与步骤3.)中的原始数据库转储进行比较。

但是,我发现pg_dump不会总是以相同的方式转储数据库。每次都会以不同的顺序转储事物。因此,当我对两个数据库转储进行比较时,比较将导致两个文件实际上是相同的,只是顺序不同而不同。

我可以采用其他方法来进行pg_dump吗?

谢谢!

Tometzky:

强制pg_dump以任何特定顺序转储数据是不可能的,因为它以磁盘顺序转储数据-这种方式要快得多。

您可以对pg_dump使用“ -a -d”选项,然后对输出进行“排序”,但是数据中的换行符将使排序后的输出不可用。但对于基本比较而言,无论有什么变化,都足够。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Postgres 数据库 pg_dump - 转储文件详细解释

如何pg_dump RDS Postgres数据库?

Postgres pg_dump对生产数据库的影响

恢复Postgres数据库转储

当端口5432被阻止时,来自远程服务器的pg_dump postgres数据库

如何将pg_dump文件还原到Postgres数据库

将postgres数据库转储导入本地应用

Postgres pg_dump错误

将数据库转储加载到postgres数据库中

使用pg_dump转储数据库,忽略我们无权访问的表

PostgreSQL:在 Windows 上导入/恢复数据库转储(pg_dump 版本 9.6.5)

在不使用pg_dump的情况下将postgres数据库传输到另一台服务器

如何仅在 heroku 上使用 postgres 转储恢复我的数据库数据

Postgres,pg_dump版本不匹配

Postgres 转储只有一些模式的数据库

docker-compose与来自SQL转储的多个postgres数据库

如何从自定义格式转储恢复 postgres 数据库?

无法从转储导入到Heroku Postgres数据库

在没有 pg dump 的情况下恢复 Postgres 数据库?

数据库转储和从AWS postgres-9.6.6数据库还原到Google Cloud SQL(也为postgres-9.6)

Postgresql 导入转储,用户与 postgres 不同

Postgres 在恢复时转储丢失的数据

为什么在使用--no-owner选项进行转储/还原后,postgres数据库服务器会变慢?

Postgres pg_dump到Azure Blob存储

Postgres pg_dump缓存查找索引失败

使用postgres pg_dump命令时包含@的转义密码

来自Azure托管的Postgres服务器的pg_dump

Postgres转储选定的行

查询postgres数据库