gpt4 book ai didi

postgresql - 如何在 Postgres oid 列中插入二进制数据

转载 作者:行者123 更新时间:2023-11-29 12:19:06 31 4
gpt4 key购买 nike

我有以下查询

 INSERT INTO SESSIONINFO(ID, LASTMODIFICATIONDATE, RULESBYTEARRAY, STARTDATE) VALUES 
(1, NULL, '\xaced0005774d0a060805100418005243080010001a3918002000320608011000180042121a080a044d41494e100022060a044d41494e52090a0744454641554c545a0c0a0a0805320608001000180122026800')

当我尝试执行上述语句时出现以下错误

ERROR: invalid input syntax for type oid: "\xaced0005774d0a060805100418005243080010001a3918002000320608011000180042121a080a044d41494e100022060a044d41494e52090a0744454641554c545a0c0a0a0805320608001000180122026800"

如何解决这个问题..

最佳答案

我认为您混淆了 oidbytea

bytea 用于一行中的二进制数据。您的 RULESBYTEARRAY 列几乎肯定应该将 bytea 作为其类型。参见 binary data types在手册中。

oid 列类型是一个简单的 32 位无符号整数。 PostgreSQL 使用它来引用系统表和各种其他事物。用途之一是引用 pg_largeobject 中的行表,可用于存储类文件对象。

如果您想存储和检索二进制数据,您几乎肯定会使用 bytea 类型的字段,而不是 pg_largeobjectpg_largobject 适用于非常非常大的数据和/或您想要读取和修改的数据,而无需每次都加载全部数据并在您更改任何内容时将其全部写回。

关于postgresql - 如何在 Postgres oid 列中插入二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36475463/

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