S PostgreSQL to můžete udělat pomocí klíčového slova RETURNING:
PostgresSQL – NÁVRAT
INSERT INTO mytable( field_1, field_2,... )
VALUES ( value_1, value_2 ) RETURNING anyfield
Vrátí hodnotu "anyfield". "anyfield" může být sekvence nebo ne.
Chcete-li jej použít s JDBC, postupujte takto:
ResultSet rs = statement.executeQuery("INSERT ... RETURNING ID");
rs.next();
rs.getInt(1);