如果使用postgresql,則可能知道它將各種統計信息存儲在內部視圖中。我想獲得一些時間間隔的統計信息並將其存儲到二進制文件中。我通過以下方式看到它:將具有不同大小的結構寫入二進制文件並讀取它
- 從libpq讀取PQexec()的統計數據。
- 使用關於結果中行數和列數的信息,分配一個3d指針數組。
- 看跌結果的三維陣列(這已經是結構的一部分)
- 三維陣列爲二進制文件
- 轉到步驟1,重複
接着寫結構,它可以讀取這個二進制文件,將結構讀入到類似的3d數組中,然後對值,視圖等進行排序。
一切都看起來不錯,直到行數不變爲止,但在postgresql中有行數永久更改的視圖。因此,書寫結構的大小將總是不同,我不知道如何從文件中正確讀取這些結構(因爲我需要知道結構的大小)。
你能否告訴我或者提出一個更好的方法來做到這一點?
這聽起來像你只需要在實際數據之前在文件中寫入一些元數據作爲頭文件。那麼你將沒有問題編碼的元素大小。 –
是的,我想過標題,有一個讓我困惑的時刻 - 標題在文件中有**固定大小,因此我們可以在文件中放入數量有限的快照。 也許最好是爲每個統計信息捕捉用戶專用標題。首先讀取行標題(大小所在的位置),然後讀取日期。 – lesovsky