Khi một ứng dụng khách kết nối với một máy chủ Postgres, nó phải chỉ định cơ sở dữ liệu nào mà nó muốn kết nối. Nếu bạn không biết tên cơ sở dữ liệu (trong cụm do người quản lý bưu điện phục vụ mà bạn kết nối), bạn có thể tìm danh sách tên cơ sở dữ liệu bằng lệnh:
psql -l
Khi bạn chạy lệnh đó, psql kết nối với máy chủ và truy vấn pg_database để biết danh sách tên cơ sở dữ liệu. Tuy nhiên, vì psql là một ứng dụng khách Postgres nên nó không thể kết nối với máy chủ mà không biết tên của ít nhất một cơ sở dữ liệu:Catch-22. Vì vậy, psql được mã hóa cứng để kết nối với cơ sở dữ liệu có tên "postgres" khi bạn chạy psql -l
, nhưng bạn có thể chỉ định cơ sở dữ liệu mẫu trong trường hợp đó:
psql -l -d template1