Ketika aplikasi klien terhubung ke server Postgres, itu harus menentukan database mana yang ingin dihubungkan. Jika Anda tidak mengetahui nama database (dalam cluster yang dilayani oleh postmaster yang Anda hubungkan), Anda dapat menemukan daftar nama database dengan perintah:
psql -l
Saat Anda menjalankan perintah itu, psql terhubung ke server dan menanyakan pg_database untuk daftar nama database. Namun, karena psql adalah aplikasi klien Postgres, ia tidak dapat terhubung ke server tanpa mengetahui nama setidaknya satu database:Catch-22. Jadi, psql di-hard-code untuk terhubung ke database bernama "postgres" ketika Anda menjalankan psql -l
, tetapi Anda dapat menentukan database template dalam kasus tersebut:
psql -l -d template1