Ich werde meine Anwendung auf Heroku bereitstellen, für diesen Zweck habe ich dort eine Datenbank erstellt. Da die Hibernate-Option hibernate.hbm2ddl.auto=create
nicht funktionierte, schrieb ich eine SQL-Abfrage manuell. Alles lief gut, bis ich versuchte, ein BLOB in die Datenbank einzufügen.Heroku PostgreSQL BLOB Einfügung schlägt fehl
Ich habe eine Tabelle photo
:
CREATE TABLE photo (
id SERIAL PRIMARY KEY,
content BYTEA
);
und ich mache solche Einfügung query:
INSERT INTO photo (content) VALUES (pg_read_file('./files/images/01_Tomato-Soup.jpg')::BYTEA);
Nach diesem Schritt bekomme ich einen Fehler:
[2016-07-15 18:57:01] [42501] ERROR: must be superuser to read files
Einfügen von andere Entitäten schlagen auch fehl, da sie einen Fremdschlüssel zu photo
Tabelle haben.
Was ist dieser Fehler über, ist es möglich, BLOBs in Heroku-Datenbank einfügen nicht ein Superuser?
Meinen Sie, ich muss Byte-Array in einen String konvertieren? Ich benutze Java. Ist es also unmöglich, 'BYTEA' in der Datenbank von Heroku zu speichern? – DimaSan
Siehe die jdbc docs ;-) https://jdbc.postgresql.org/documentation/80/binary-data.html –
Jeder Treiber, mit dem ich je gearbeitet habe, verfügt über die Möglichkeit, die Konvertierung für Sie durchzuführen. JDBC ist nicht anders. –