Anda tidak mengatakannya, tetapi saya kira Anda menjalankan postgres di MacOS atau Linux.
Bentuk pertama (tanpa -h) terhubung melalui "soket unix". Bentuk kedua, dengan "-h localhost" terhubung melalui TCP/IP ke localhost (alamat IP 127.0.0.1).
Postgres memperlakukan kedua jenis koneksi ini secara berbeda - atau setidaknya, ia dapat melakukannya. Jika Anda memeriksa file "pgsql/data/pg_hba.conf" untuk melihat mekanisme autentikasi apa yang dikonfigurasi untuk kedua jenis koneksi tersebut.