使用 ruby 转义 Postgresql hstore 类型?

escaping Postgresql hstore type with ruby?

我在 rails (pg gem) 中使用 postgresql 类型的 hstore。我需要的是在很多行中大量插入 hstore 值,所以我想制作 SQL 字符串。

但是我在pg中找不到hstore的引用方法gem(我觉得应该有)

我是不是遗漏了什么,还是我应该自己写这个引用方法?

我可能会使用 hstore(text, text) and hstore(text[], text[]) functions instead of trying to build the string versions. Combine those with the array constructor 语法,而您只会处理字符串文字。例如,如果您的 hstore 是单个键和值,则:

insert into your_table (hstore_column)
values (hstore('key', 'value'))

会工作并在 hstore_column 中给你 "key"=>"value";如果您的 hstore 有多对那么:

insert into your_table (hstore_column)
values (hstore(array['key1', 'key2', 'key3'], array['value1, 'value2', 'value3']))

会在 hstore_column 中给你 "key1"=>"value1","key2"=>"value2","key3"=>"value3"

我怀疑调用函数的开销与解析字符串版本的开销会有很大不同。