Questions tagged «bytea»


3
使用PostgreSQL 8.4,如何将bytea转换为postgres中的文本值?
在我的应用程序中,我使用C代码将数据插入数据库中,因为从不可信来源收到的字符串已经使用PQescapeByteaConnlibpq库转义了。这工作得很好,即以八位字节格式生成字符串。参见以下示例, 输入字符串: \n\t\f\b\p\k\j\l\mestPrepared 输出字符串: \\012\\011\\014\\010pkjlmestPrepared 输出字符串将插入数据库中。现在,我使用JDBC以Java代码从数据库中检索该数据。我如何才能使字符串不转义回其原始值? 我想到了两种可能的方法, 更改数据库检索查询,并将此字段传递给postgres的任何String操作函数,即可以将bytea转换为文本的函数。 用Java代码进行解码。 我知道方法1会更有效。我已经尝试了这里列出的几乎所有功能,但是没有任何效果。请帮忙!! 我正在Linux机器上使用PostgreSQL的8.4版本。

1
针对大量插入和bytea更新优化PostgreSQL
我们拥有(软件​​): 具有基本配置的PostrgeSQL 9.3(中没有更改postgresql.conf) Windows 7 64位 硬件: 英特尔酷睿i7-3770 3.9 GHz 32 Gb RAM WDC WD10EZRX-00L4HBAta驱动器(1000Gb,SATA III) 因此,我们必须加载到数据库aprox中。100.000.000行(带bytea列),以及更简单的500.000.000行(无LOB)。varchar在第一个表上有2个索引(长度为13、19),varchar在第二个表上有2 个索引(长度为18,10)。每个表还具有用于ID生成的序列。 到目前为止,这些操作是使用8个连接进行的,并具有5​​0个JDBC批处理大小。下图演示了系统负载:postgresql进程的负载为零。加载24小时后,我们仅加载了1000万行,这是非常缓慢的结果。 我们正在寻求有关调整PostrgreSQL配置的帮助,以实现以下目的: 1)为了超快地加载此数据量,这是一次操作,因此可以是临时配置 2)对于生产模式,通过它们的索引对这2个表进行适量的SELECT,而无需联接和排序。

1
PostgreSQL bytea与smallint []
我希望将大型(100Mb-1 GB)多通道时间序列数据导入PostgreSQL数据库。数据来自EDF格式文件,该文件将数据分块为通常每个几秒钟的“记录”或“纪元”。每个时期的记录将每个数据通道的信号保存为短整数的连续数组。 我被授权将文件存储在数据库中,在最坏的情况下,存储为BLOB。鉴于此,我想研究一些选项,这些选项将使我可以对数据库中的数据做更多的事情,例如,促进基于信号数据的查询。 我最初的计划是将每个纪元记录的数据存储为一行。我要权衡的是将实际信号数据存储为bytea还是smallint [](甚至是smallint [] [])类型。谁能推荐一个?我对存储和访问成本感兴趣。用法可能只插入一次,偶尔读取,就永远不会更新。如果更容易将其包装为自定义类型,以便我可以添加用于分析比较记录的函数,那就更好了。 毫无疑问,我的细节不够完善,请随时添加您要我澄清的内容的评论。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.