Я собираюсь развернуть мое приложение на Heroku, для этого я создал там базу данных. Так как параметр Hibernate hibernate.hbm2ddl.auto=create
не работал, я вручную написал SQL-запросы. Все прошло хорошо, пока я не попытался вставить BLOB в базу данных.Ошибка ввода Heroku PostgreSQL BLOB
У меня есть таблица photo
:
CREATE TABLE photo (
id SERIAL PRIMARY KEY,
content BYTEA
);
, и я делаю такой вставки запрос:
INSERT INTO photo (content) VALUES (pg_read_file('./files/images/01_Tomato-Soup.jpg')::BYTEA);
После этого шага я получаю сообщение об ошибке:
[2016-07-15 18:57:01] [42501] ERROR: must be superuser to read files
вставка другие объекты также терпят неудачу, так как они имеют внешний ключ для таблицы photo
.
В чем заключается эта ошибка, можно ли вставить BLOB в базу данных Heroku, не являясь суперпользователем?
Вы имеете в виду, что мне нужно преобразовать массив байтов в строку? Я использую Java. Так что невозможно хранить 'BYTEA' в базе данных на Heroku? – DimaSan
См. Jdbc docs ;-) https://jdbc.postgresql.org/documentation/80/binary-data.html –
Каждый драйвер, с которым я когда-либо работал, имеет возможности для преобразования для вас. JDBC ничем не отличается. –