S Postgres (a jeho ovladačem JDBC) můžete provést následující:
PreparedStatement pstmt = con.prepareStatement("select ... ");
ResultSetMetaData meta = pstmt.getMetaData();
for (int i=1; i <= meta.getColumnCount(); i++)
{
System.out.println("Column name: " + meta.getColumnName(i) + ", data type: " + meta.getColumnTypeName(i));
}
Všimněte si, že nemusíte přidávat where false nebo limit 0 k prohlášení. Volání prepareStatement() ve skutečnosti dotaz neprovede.