Qual é a diferença entre a API JDBC e o driver PostgreSQL?
Estou criando um novo projeto Spring Boot (https://start.spring.io/), e não estou entendendo as diferentes dependências fornecidas para fazer a interface com bancos de dados relacionais.
O ponto de confusão é "API JDBC" e "Driver PostgresSQL". Meu aplicativo precisa se conectar a um banco de dados PostgreSQL. Então, quais das seguintes opções são verdadeiras?
A API JDBC pode ser usada para conectar e operar com qualquer banco de dados relacional (SQL) (MySQL, PostgreSQL, etc.), e o driver PostgresSQL não é necessário para que a API JDBC funcione.
Tanto a API JDBC quanto o driver PostgresSQL são necessários para que um aplicativo se conecte a um banco de dados PostgreSQL.
A dependência do driver PostgresSQL inclui a API JDBC.
Já pesquisei sobre isso no Google, mas existem apenas manuais de como usá-los.
Respostas
JDBC define uma API para conectar e trabalhar com bancos de dados relacionais. O driver PostgreSQL é uma implementação desta API para o banco de dados PostgreSQL.
Você não pode usar a API JDBC sem um driver subjacente para implementá-la. Você poderia, entretanto, usar o driver diretamente, mas os drivers geralmente têm poucas garantias sobre a estabilidade de suas APIs (além do que é prometido pelo JDBC, é claro), então provavelmente seria uma ideia ruim.