PostgreSQLまで 関係がある場合は、text
と入力します 問題外です。 bytea
よりも低速で、より多くのスペースを使用し、エラーが発生しやすくなります。 目的のために。
基本的に3つのアプローチがあります:
-
タイプ
bytea
を使用します (基本的に、SQL BLOBタイプに相当するpg)。 -
「大きなオブジェクト」を使用します "。
-
BLOBをファイルシステムにファイルとして保存します ファイル名のみをデータベースに保存します。
それぞれに長所と短所があります。
1。 処理はかなり簡単ですが、最も多くのディスク容量が必要です。ある程度のデコードとエンコードが必要なため、速度も遅くなります。バックアップのサイズは急速に大きくなります!
2。 処理が少し厄介ですが、必要に応じて、ブロブを操作するための独自のインフラストラクチャがあります。また、個別のバックアップをより簡単に作成できます。
3。 はるかに高速な方法であり、最小のディスクスペースを使用します。ただし、データベース内に格納するときに得られる参照整合性は提供されません。
画像ファイルには、そのような実装がいくつかあります。小さなサムネイルを保存します。 参照整合性とクイックリファレンスのためのbytea-fieldで。元の画像をファイルとしてファイルシステムに保存します。もちろん、古いファイルをいつどのように削除するか、外部ファイルをバックアップする方法などを考慮する必要があります。