Selain jawaban lain, perhatikan bahwa secara default Postgres dikonfigurasikan untuk menerima koneksi melalui soket Unix dengan otentikasi berdasarkan akun sistem operasi Anda, itu sebabnya psql
berfungsi dengan baik dan tidak memerlukan kata sandi.
Koneksi JDBC dibuat melalui TCP/IP dengan otentikasi kata sandi, jadi Anda perlu memodifikasi pg_hba.conf
demikian. Misalnya, baris ini memungkinkan koneksi TCP/IP dari mesin yang sama ke semua database untuk semua pengguna dengan otentikasi kata sandi:
host all all 127.0.0.1/32 md5
Setelah menambahkan baris ini jdbc:postgresql:databasename
harus bekerja.
EDIT: Anda tidak dapat membuat koneksi JDBC melalui soket Unix karena driver PostgreSQL JDBC hanya dapat bekerja melalui TCP/IP. Kata sandi yang Anda gunakan saat membuat koneksi JDBC adalah kata sandi yang ditetapkan untuk pengguna Anda. Jika Anda tidak memilikinya, Anda dapat menetapkannya, misalnya menggunakan ALTER USER
memerintah. Lihat 19.3. Metode otentikasi
.
Lihat juga: