読者です 読者をやめる 読者になる 読者になる

PostgreSQLのbyteaカラムに手動でデータを入れる

JDBC PostgreSQL

初期データ用にbyteaデータを入れようと調べてみたが、psqlからのINSERTはできない?
仕方なくJDBCで放り込むことにした。(その時点で既に手動ではないが)
Chapter 7. Storing Binary Data

Class.forName("org.postgresql.Driver");
Connection con = DriverManager.getConnection("jdbc:postgresql://dbhost:5432/test", "test", "test");

File file = new File("C:/image.png");
FileInputStream fis = new FileInputStream(file);

PreparedStatement ps = con.prepareStatement("INSERT INTO binary_tbl (value) VALUES (?)");
ps.setBinaryStream(1, fis, (int)file.length());
ps.executeUpdate();
ps.close();
fis.close();
con.close();

JDBCなんて使うの数年前に研修で教えて以来だわ。
余談だけど、今時の開発者の中にはJDBC学ばずに、O/Rとかライブラリ使うしか分からない人もいたりするのかなぁ。