I search a db schema to store the process tree of linux every half hour.

Platform: PostgreSQL on Linux.

I am unsure where to split all the data into columns or to use a json column.

Which one is better, and why?

  • 1
    Do you want to store output of the command 'ps auxf' ? – Sahap Asci May 31 '16 at 5:57
  • I would probably store each field of the ps output as one column in a table together with a timestamp when you took the sample. That way you can do all sorts of queries on it – a_horse_with_no_name May 31 '16 at 6:03
  • @SahapAsci yes, I could use ps auxf. But I guess I will use the python library psutil. – guettli May 31 '16 at 6:05

The design should be according to your requirements. If your requirement includes to store only some columnar data that are mostly required (mostly not null) then use tables with relations (foreign keys). If you just need some logging with situational tree structure data then use JSONB. For example, suppose that you store io_counters when counters are higher than some point, then use JSON. I presuppose you use minimum postgresql 9-4.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.