W PostgreSQL możesz to zrobić za pomocą słowa kluczowego RETURNING:
PostgresSQL - POWRÓT
INSERT INTO mytable( field_1, field_2,... )
VALUES ( value_1, value_2 ) RETURNING anyfield
Zwróci wartość „dowolnego pola”. "dowolne pole" może być sekwencją lub nie.
Aby użyć go z JDBC, wykonaj:
ResultSet rs = statement.executeQuery("INSERT ... RETURNING ID");
rs.next();
rs.getInt(1);