gpt4 book ai didi

database - 内存不足,无法从 pg_dump 导入新数据库。 psql cloned_db < db_backup.sql

转载 作者:搜寻专家 更新时间:2023-10-30 20:24:35 24 4
gpt4 key购买 nike

通过以下方式备份远程数据库

pg_dump dbname | gzip > filename.gz

创建了一个我想导入的新数据库

CREATE DATABASE new_clone;

尝试通过以下命令导入新数据库:

gunzip -c /path/to/backup/filename.sql.gz | psql new_clone

工作正常,导入了部分数据库,但遇到错误

out of memory

没有其他信息...大多数表和模式都出现了,但我无法解决这个问题。

我试过做一个简单的

pg_dump dbname > filename

和一个

psql dbname < infile

试过不压缩,也失败了。我的猜测是数据库中的 blob 太大了吗?有没有办法跳过导致错误的 blob?

数据库大小为 10GB 未压缩,2.2GB 压缩。我有 135GB 可用磁盘空间和 32GB 内存。运行 ubuntu 14.04,postgres v 9.6.2

感谢任何帮助。谢谢。

最佳答案

我有同样的问题。经过一点挖掘,我发现这不是 psql 问题,而是 sdin:将 COPY ... FROM stdin 更改为 COPY ... from '/path/to/file/with.dump' 后 一切都变好了。因此,当您尝试通过标准输入、恕我直言、操作系统而不是 psql 提供 psql 时,尝试将所有转储加载到内存中,并且由于转储比内存进程可以拥有的更大,您会遇到错误。

PS 我很抱歉我的英语不好,它不是我的母语。

关于database - 内存不足,无法从 pg_dump 导入新数据库。 psql cloned_db < db_backup.sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42287825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com