私は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
テーブルへの外部キーを持っているので、他のエンティティも失敗します。
このエラーは何ですか?HerokuデータベースにBLOBをスーパーユーザーではなく挿入することは可能ですか?
バイト配列を文字列に変換する必要があるのですか?私はJavaを使用します。 HerokuのデータベースにBYTEAを格納することは不可能ですか? – DimaSan
jdbc docs ;-)を参照してください。https://jdbc.postgresql.org/documentation/80/binary-data.html –
私がこれまでに働いたことがあるすべてのドライバには、変換を行うための機能があります。 JDBCも変わりません。 –