【发布时间】:2011-12-17 05:51:32
【问题描述】:
我需要在我们的 postgres 数据库中存储类似 JSON 的对象。 最初我只是使用序列化字段,但它们是 占用太多空间。所以我写了一个简单的自定义压缩 方案,现在正在使用 Marshal.dump/load 来访问数据。 但是我遇到了 postgres 的 bytea 字段类型的障碍——它坚持 将每个不可见字节编码为 3 位八进制数,例如'\377'。
http://www.postgresql.org/docs/8.1/static/datatype-binary.html
我看不到实现这一目标的简单方法。 s.pack("m#{s.size}") 似乎生成带有单个 '\' 的字符串,而 postgres 想要 '\'。 最后添加一个 gsub( /\/, '\\\\' ) 似乎并不能解决它。
有没有人有更优雅(更有效)的解决方案?
【问题讨论】:
标签: ruby-on-rails postgresql binary