Mostrar nombre de tabla junto a su PK sql java

Estoy teniendo problemas para poder mostrar el nombre de una tabla junto a su clave primaria

private ResultSet tablas;

public void mostrarNomyPK(Connection connection) {

    try {
        DatabaseMetaData dbmd = connection.getMetaData();

        tablas = dbmd.getTables(null, "mibd", null, null);

        while (tablas.next()) {
            String nomtabla = tablas.getString("TABLE_NAME");
            ResultSet pk = dbmd.getPrimaryKeys(null, null, nomtabla);

            
            System.out.println("Nombre de la tabla: " + nomtabla + " Clave Primaria: " + pk.getString("COLUMN_NAME"));

        }

    } catch (Exception e) {

        e.printStackTrace();
    }

}

Me salta el siguiente error:

java.sql.SQLDataException: Current position is before the first row

Esta sería la estructura de la base de datos:

introducir la descripción de la imagen aquí

He probado a quitar la parte de las claves primarias, concretamente el pk.getString(“COLUMN_NAME”) y se obtiene de salida lo siguiente:
introducir la descripción de la imagen aquí

no_vendidos no es una tabla como tal, y creo que es por eso que al buscar su clave primaria es cuando falla, si alguien sabe se agradecería una ayuda, gracias!!