Re: [GENERAL] using hstore to store documents

Поиск
Список
Период
Сортировка
От Rita
Тема Re: [GENERAL] using hstore to store documents
Дата
Msg-id CAOF-Kfi6KAi-7i8ZV8zhNXYMQ5r7v1xM64VVHrDwsWq4JP1kJw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [GENERAL] using hstore to store documents  ("David G. Johnston" <david.g.johnston@gmail.com>)
Ответы Re: [GENERAL] using hstore to store documents  (Adrian Klaver <adrian.klaver@aklaver.com>)
[GENERAL] using hstore to store documents  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-general
sorry for the late reply. 

My table schema is very simple

DROP TABLE xmltest;                                                                                                                                                                            
                                                                                                                                                                                               
create table xmltest(                                                                                                                                                                          
  id serial,        -- dont really need the serial                                                                                                                                                                       data xml NOT null                                                                                                                                                                            
);                                                                                                                                                                                             
                                                                                                                                                                                               
                                                                                                                                                                                               
                                                                                                                                                                                               
INSERT INTO xmltest (data, id) VALUES ('                                                                                                                                                       
<attendee>                                                                                                                                                                                     
 <bio>                                                                                                                                                                                         
 <name>John Doe</name>                                                                                                                                                                         
 <birthYear>1986</birthYear>                                                                                                                                                                   
 </bio>                                                                                                                                                                                        
 <languages>                                                                                                                                                                                   
 <lang level="5">php</lang>                                                                                                                                                                    
 <lang level="4">python</lang>                                                                                                                                                                 
 <lang level="2">java</lang>                                                                                                                                                                   
 </languages>                                                                                                                                                                                  
</attendee>', 1);         

I really don't need the serial but every 30 seconds or so I plan to overwrite the data portion. so, I suppose I wanted a simple key/value thats where my orignal question stemmed from.

After xmltest has been populated, I can run xpath and unest to get my data into a row but I would like to store that result in another table, I am guessing I should look into triggers for something like that? Eventually, I plan to have 5-6 downstream tables which will have xmltest as my head. The application will be accessing the downstream tables and rarely be touching xmltest (head table). 




On Thu, Jan 26, 2017 at 10:38 AM, David G. Johnston <david.g.johnston@gmail.com> wrote:
On Thu, Jan 26, 2017 at 5:37 AM, Rita <rmorgan466@gmail.com> wrote:
of course, sorry for being vague.

I have an external process generating a XML file (every 30 secs) which is about 10MB. I would like to store the file as XML type for me to query using xpath. I plan to query it every few seconds by few hundred clients. so, it maybe easier for me create a separate table of my xpath results and have clients query that table (xpath can be expensive). 


​If the XML being generated has a fixed structure/schema I personally would treat the XML as a serialization format and de-serialize and store it in a database as one or more relationally linked tables.​  If you have to deal with the possibility of dynamic structure I would still try to put the fixed items into individual columns and then and then any dynamic items could be stuffed into an hstore typed table.

My answer to your stated question is: what happened when you tried doing that?  Documentation and a bit of experimentation goes a long ways in learning.

David J.




--
--- Get your facts first, then you can distort them as you please.--

В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: [GENERAL] Recovery Assistance
Следующее
От: Brian Mills
Дата:
Сообщение: Re: [GENERAL] Recovery Assistance