Сохранение PowerPoint, PDF и других файлов документов в базе данных Postgres - PullRequest
0 голосов
/ 29 сентября 2018

Я искал способ сохранения файлов различных типов, а именно: PDF , JPEG , PowerPoint , для Postgresql база данных из веб-формы с использованием JDBC .Я столкнулся с двоичным типом данных в Postgres, но мне сказали, что это не лучшая практика.

Есть ли другой способ сделать это или сериализация - единственный вариант?

1 Ответ

0 голосов
/ 29 сентября 2018

Хранение в базе данных

Если вы настаиваете на хранении таких документов внутри базы данных, то да, действительно, двоичные типы существуют только для этой цели.Если у вас есть данные, которые не могут быть семантически восприняты базой данных через один из многих других типов данных , то двоичный тип является резервным.

Принимая во внимание, что Postgres знает, что такое целое число и что такое TIMESTAMP WITH TIME ZONE, и что такое геопространственная координата , и знает, как искать и сортировать такие значения, Postgres имеет нет идея о том, как придать смысл или смысл файла PowerPoint или PDF.Такие файлы представляют собой просто набор неразборчивых битов с точки зрения механизма базы данных.

Такие значения файла в поле известны по симпатичной аббревиатуре: BLOB , для Binary Large OBject.

Хранение вне базы данных

Как правило, лучшая практика, которую я видел, - хранить такие документы вне базы данных в постоянном хранилище.файловая система хранения.

В базе данных сохраните строку, представляющую путь к файловой системе или URL, чтобы найти этот файл при необходимости.

...