Как сохранить файл в бд Postgresql?

Как файл(*.doc,*.png ...) сохранить в бд. Какой тип должен быть у ячейки и сама команда Sql для сохранения в бд
  • Вопрос задан
  • 14603 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега PostgreSQL
Седой и строгий
Если файл небольшой, то можно запихать в поле типа bytea
create table images(id int, image bytea);
insert into images values (1, pg_read_file('/path/to/image.jpg')::bytea);

Но надо учесть, что при операциях с полем image, PostgreSQL будет загружать его содержимое в память. Поэтому лучше использовать BLOB
create table images (id int, image oid); 
insert into images values (1, lo_import('/path/to/image.jpg'));
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@nApoBo3
Лучше вообще не хранить файлы в БД. В зависимости от проекта путь к файлу может представлять из себя различные относительные или абсолютные ссылки, или данные для их генерации.
Ответ написан
Комментировать
romy4
@romy4
Exception handler
лучше сохранить путь к файлу
а файл всегда хранить на жёстком
как вы представляете себе отдачу этого файла в браузере?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы