Postgresql 恢复转储时psql内存不足
我有一个PostgreSQL文本转储文件,大小约为4.5GB(未压缩),我正在尝试恢复该文件,但由于内存不足,该文件总是失败 有趣的是,无论我尝试什么,它总是在转储文件的相同行号处失败,这使我相信我尝试的更改没有效果。(我确实查看了文件中的行号,它只是另一行数据,在文件中的该点上没有发生任何重要的变化。) 我正在使用带有-f选项的psql,正如我所读到的,它可以比标准输入更好。然而,这两种方法都失败了 我尝试了以下方法:Postgresql 恢复转储时psql内存不足,postgresql,postgresql-10,Postgresql,Postgresql 10,我有一个PostgreSQL文本转储文件,大小约为4.5GB(未压缩),我正在尝试恢复该文件,但由于内存不足,该文件总是失败 有趣的是,无论我尝试什么,它总是在转储文件的相同行号处失败,这使我相信我尝试的更改没有效果。(我确实查看了文件中的行号,它只是另一行数据,在文件中的该点上没有发生任何重要的变化。) 我正在使用带有-f选项的psql,正如我所读到的,它可以比标准输入更好。然而,这两种方法都失败了 我尝试了以下方法: 将work_mem从4MB增加到128MB 将共享缓冲区从128MB增加
- 将work_mem从4MB增加到128MB
- 将共享缓冲区从128MB增加到2GB
- 将虚拟机内存从8GB增加到16GB
- PostgreSQL 10.5
- 在VMWare工作站上运行的Ubuntu 16.04 LTS
。。。据我所知,使用-f选项可以比标准输入更好。
nonsense转储文件是由pg_dump创建的文本文件。文件的第一行确切地说:“由pg_dump version 10.4转储…”我要做的就是,当我运行psql并传入文件时,终端最终会停止并说“内存不足”。pg_dump可以生成4种不同的格式(其中一种是明文)。还有--column inserts和--inserts,您应该调查哪条语句失败(可能是创建索引
)。你在用PostGIS吗?这是一个众所周知的记忆猪。