Я бы, вероятно, использовал бы функции hstore(text, text)
и hstore(text[], text[])
вместо того, чтобы пытаться создавать строковые версии. Объедините их с синтаксисом конструктора массива *1006*, и вы будете иметь дело только со строковыми литералами. Например, если ваш hstore
представляет собой один ключ и значение, то:
insert into your_table (hstore_column)
values (hstore('key', 'value'))
будет работать и даст вам "key"=>"value"
в hstore_column
; если ваш hstore
имеет несколько пар, то:
insert into your_table (hstore_column)
values (hstore(array['key1', 'key2', 'key3'], array['value1, 'value2', 'value3']))
даст вам "key1"=>"value1","key2"=>"value2","key3"=>"value3"
в hstore_column
.
Я сомневаюсь, что накладные расходы на вызов функций будут сильно отличаться от накладных расходов при разборе строковых версий.