2012-01-23 400 views
4

我在PostgreSQL數據庫中存儲圖像文件(如jpg,png)。我發現information on how to do that here如何將視頻存儲在PostgreSQL數據庫中?

同樣,我想將視頻存儲在PostgreSQL數據庫中。我搜索了網絡 - 有人說應該使用數據類型如bytea來存儲二進制數據。

你能告訴我如何使用bytea列來存儲視頻嗎?

+0

據我所知,PostgreSQL裏沒有'IMAGE'類型,除非你自己用'CREATE TYPE'創建了它(大概是基於'BYTEA')。如何存儲視頻與存儲圖像不同? – Bruno

+0

對不起,不要誤會我..我不想將視頻存儲爲圖像。我想通過使用bytea將視頻存儲在數據庫中。 – sat

回答

0

不知道你用的是什麼編程語言,我只能給的一般方法:

  • 型「BYTEA」的一列創建一個表。
  • 將視頻文件的內容轉換爲變量。
  • 用該變量作爲bytea列的數據在該表中插入一行。
11

我一般會建議存放在PostgreSQL內部巨大的斑點(二進制大對象),如果參照完整性是不是你最重要的要求。將大文件存儲在文件系統中效率更高:
速度更快,磁盤空間更少,備份更簡單。

我已經寫了一個更全面的評估你在previous answer有類似問題的選項。 (深入鏈接到手冊)

+1

不錯的答案.... – sat

6

我們做了一些關於bytea數據類型實際限制的測試。理論極限1GB。但實際的限制大約是20MB。處理較大的bytea數據吃太多的RAM和編碼和解碼也需要一些時間。就我個人而言,我不認爲存儲視頻是個好主意,但如果您需要它,請使用大對象 - blob。

相關問題