sql >> Databasteknik >  >> RDS >> PostgreSQL

Ansluter till lokal instans av PostgreSql med JDBC

Utöver andra svar notera att Postgres som standard är konfigurerat för att acceptera anslutningar via Unix-sockets med autentisering baserat på ditt operativsystemkonto, det är därför psql fungerar bra och kräver inte lösenordet.

JDBC-anslutningar görs över TCP/IP med lösenordsautentisering, så du måste ändra pg_hba.conf följaktligen. Till exempel tillåter denna linje TCP/IP-anslutningar från samma maskin till alla databaser för alla användare med lösenordsautentisering:

host    all         all         127.0.0.1/32          md5

Efter att ha lagt till den här raden jdbc:postgresql:databasename borde fungera.

EDIT: Du kan inte skapa en JDBC-anslutning via Unix-socket eftersom PostgreSQL JDBC-drivrutinen endast kan fungera över TCP/IP. Lösenordet du använder när du skapar en JDBC-anslutning är det lösenord som tilldelats din användare. Om du inte har det kan du tilldela det, till exempel med ALTER USER kommando. Se 19.3. Autentiseringsmetoder .

Se även:



  1. SQL Server skapar tabell med klustrade index utan en primärnyckel

  2. Hur man använder GROUP_CONCAT-funktionen på MSSQL

  3. MySQL oväntade resultat:IN-klausul (nummer, 'sträng') på en varchar-kolumn

  4. När du lagrar en MySQL-anslutningssträng i App.config, vilket värde ska egenskapen providerName ställas in på?