Php 在PostgreSQL数据库之间传输原始数据

Php 在PostgreSQL数据库之间传输原始数据,php,c++,database,postgresql,file-transfer,Php,C++,Database,Postgresql,File Transfer,所以,我在一个文件中有一些通用数据。我的任务很简单:将其存储在数据库中的一个字段中,稍后再将其检索回文件中。我不在乎它是如何存储的,也不在乎用什么方法来回传输它(但如果我能将它包含到一两个plpgsql函数中,那将是一个了不起的奖励)。但是它必须返回到一个文件,与输入的文件完全相同,一点一点。我不能保证它不会包含任何特殊字符,而且数据的大小从几KB到几MB不等 我一直在尝试COPY,lou-import和lou-export,pg\u-read\u-file(等),但每次生成的文件都缺少某些字符

所以,我在一个文件中有一些通用数据。我的任务很简单:将其存储在数据库中的一个字段中,稍后再将其检索回文件中。我不在乎它是如何存储的,也不在乎用什么方法来回传输它(但如果我能将它包含到一两个
plpgsql
函数中,那将是一个了不起的奖励)。但是它必须返回到一个文件,与输入的文件完全相同,一点一点。我不能保证它不会包含任何特殊字符,而且数据的大小从几KB到几MB不等


我一直在尝试
COPY
lou-import
lou-export
pg\u-read\u-file
(等),但每次生成的文件都缺少某些字符(编码问题?),或者是同一文件的不同表示形式(bytea提供的\000\014等),或者实际上是垃圾文件。我正在比较notepad++中的输入/输出,并且每次都运行输出,但没有效果

有PHP,C++(+boost[说到这里,我也尝试了
binarystring
s…])和这个数据库共享一个“工作目录”,我一直在使用它在程序之间传输某些东西,所以如果需要的话,其中任何一个都可以完成这项工作,但是,如上所述,如果可能的话,我想使用一个或两个plpgsql函数

另外,请解释并举例说明解决方案,就像你在和一个白痴说话一样。这个问题困扰了我太久,我真的觉得自己像个疯子


感谢您提前加载,您将解决许多令人头痛的问题。

这会很有帮助:。据我所知,
lou导入
lou导出
是Postgres为二进制文件I/O提供的唯一工具。按照中的示例,我得到了一个与输入相同的逐字节输出文件。你能用一个输入/输出的例子告诉我们你是如何调用这些函数的吗?
lou-import
lou-export
arn't解决方案我设法实际工作了。我一直在读它,我得到的想法是,它存储在其他软件和OID只是一个参考和东西。我使用lou import和其他行将数据从文件导入bytea表,这些行是我从另一个在线答案中提取的。我知道它是有效的,因为表中的数据与之前文件中的数据相同。然而,把它拿回来似乎是个问题。同样,我一直在阅读它,但寻找一个例子来处理却没有结果。@IamPancakeMan:如果你只想加载和保存文件,那么就没有必要将它们转换成
bytea
。您可以单独使用OID来实现这一点,如中所示。我不知道为什么我的同事建议使用bytea专栏来实现这一点,使用OID需要10分钟来理解和实现。非常感谢您的帮助,好心的先生。