मुझे यह भी यकीन नहीं है कि पोस्टग्रेर्स के एचस्टोर डेटा प्रकार में नेस्टेड हैंश हो सकते हैं, और यदि वे कर सकते हैं, तो उन्हें कैसे सम्मिलित करें?क्या यह संभव है, और पोस्टग्रेस्क्ल के एचस्टोर प्रकार में नेस्टेड हैश के लिए वाक्यविन्यास क्या है?
यहाँ क्या मैं अब तक की कोशिश की है:
-- Database: test1
-- DROP DATABASE test1;
/*
CREATE DATABASE test1
WITH OWNER = iainuser
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'en_GB.UTF-8'
LC_CTYPE = 'en_GB.UTF-8'
CONNECTION LIMIT = -1;
*/
/* create extension hstore; */
/*drop table my_store;*/
/*
create table my_store (
id serial primary key not null,
doc hstore
);
CREATE INDEX my_store_doc_idx_gist
ON my_store
USING gist
(doc);
*/
/* select doc from my_store; */
/*
insert into my_store (doc) values ('"a" => "1"');
select doc -> 'a' as first_key from my_store; -- returns "1"
*/
/* insert into my_store (doc) values ('"b" => "c" => "3"'); -- doesn't work */
/* insert into my_store (doc) values ('"b" => ("c" => "3")'); -- doesn't work */
/* insert into my_store (doc) values ('"b" => hstore("c" => "3")'); -- doesn't work */
/* insert into my_store (doc) values ('"b"' => hstore("c" => "3")'); -- doesn't work */
/* insert into my_store (doc) values ("b"=>'"c"=>"3"'::hstore); -- doesn't work */
यदि यह संभव नहीं है, वहाँ एक वर्तमान स्वीकृत मानक/नेस्ट हैश के साथ काम करने के लिए मुहावरा है - शायद उन्हें अलग खींच और पहचान-पत्र का उपयोग कर उन्हें?
इसके साथ कोई भी मदद की सराहना की जाएगी।
यदि यह आपको नहीं देता है, तो आप टेक्स्ट में एक हिस्टोर डालने में सक्षम हो सकते हैं और फिर एक स्ट्रिंग प्राप्त करने के लिए उद्धरण से बच सकते हैं जिसे एक हस्तर में मूल्य के रूप में सहेजा जा सकता है, लेकिन शायद यह नहीं होगा इस्तेमाल करने में आसान। आप डेटा को थोड़ा और सामान्य करने पर विचार करना चाहेंगे। – kgrittn
इसे साफ़ करने के लिए धन्यवाद, मैं इसकी सराहना करता हूं। मैंने मैनुअल में उस पृष्ठ को पढ़ा था (और यह एक अच्छा मैनुअल है) लेकिन इसमें एक डालने का उदाहरण भी नहीं था, इसलिए शायद आश्चर्य हुआ कि अगर वहां अधिक जटिल उदाहरण भी छोड़े गए थे। @kgrittn मुझे लगता है कि कास्टिंग वह मार्ग होगा जो मैं समाप्त कर रहा हूं, मुझे इस उदाहरण में सामान्यीकृत डेटा की आवश्यकता नहीं है, (वास्तव में केवल एक दस्तावेज़ को ब्लॉब के रूप में), जब तक डेटाबेस में दस्तावेज़ प्राप्त करने का यही एकमात्र तरीका न हो! – iain