风帆水线大文件PostgreSQL

我想在postgreSQL数据库下保存大文件(5Go max),不要问我为什么我的老板想要,即使我说这是一个坏主意。 所以现在我必须find一个可行的解决scheme。

现在我正在尝试这个:

var file = req.file("largeFile"); file.upload({maxBytes : 1073741824 },function (err, uploadedFiles) { if (err) { return res.serverError(err); } var fs = require("fs"); if (uploadedFiles.length > 0) { var file = uploadedFiles[0]; fs.readFile(file.fd, function (err, data) { if (err) { return res.serverError(err); } var largeFile = {name : "testFile", data: data}; LargeFile.create(largeFile).exec(function created (err, newInstance) { if(!err){ res.view("homepage"); } }); }); } }); 

LargeFile.create应用程序崩溃与:

 FATAL ERROR: CALL_AND_RETRY_0 Allocation failed - process out of memory 

我尝试设置–max-old-space-size和–max_executable_size,但没有运气。

这是可能的或不可能的使命?

错误不是来自PostgreSQL:它来自Node.js。

最有可能的解释:您的服务器没有足够的RAM内存。

告诉你的老板,你所拥有的服务器是不可能的。 而且,每一个可能的优化都必须完成。 检查数据库的来源,尽量减lessvariables的可能性等。相信我,这不仅仅是一个“坏习惯”。 如果你想让你的服务器扩展到很多的用户,那么你就无法在PostgreSQL上使用5GB的文件。

否则,请尝试优化您的代码:另外格式化文件的数据,检查压缩的可能性,避免太多的variables创build,并检查您的代码的内存泄漏。

我会告诉他放弃。