Хранение в базе данных
Если вы настаиваете на хранении таких документов внутри базы данных, то да, действительно, двоичные типы существуют только для этой цели.Если у вас есть данные, которые не могут быть семантически восприняты базой данных через один из многих других типов данных , то двоичный тип является резервным.
Принимая во внимание, что Postgres знает, что такое целое число и что такое TIMESTAMP WITH TIME ZONE
, и что такое геопространственная координата , и знает, как искать и сортировать такие значения, Postgres имеет нет идея о том, как придать смысл или смысл файла PowerPoint или PDF.Такие файлы представляют собой просто набор неразборчивых битов с точки зрения механизма базы данных.
Такие значения файла в поле известны по симпатичной аббревиатуре: BLOB , для Binary Large OBject.
Хранение вне базы данных
Как правило, лучшая практика, которую я видел, - хранить такие документы вне базы данных в постоянном хранилище.файловая система хранения.
В базе данных сохраните строку, представляющую путь к файловой системе или URL, чтобы найти этот файл при необходимости.