Когда клиентское приложение подключается к серверу Postgres, оно должно указать, к какой базе данных оно хочет подключиться. Если вы не знаете имя базы данных (в кластере, обслуживаемом администратором почты, к которому вы подключаетесь), вы можете найти список имен базы данных с помощью команды:
psql -l
Когда вы запускаете эту команду, psql подключается к серверу и запрашивает pg_database для списка имен баз данных. Однако, поскольку psql является клиентским приложением Postgres, оно не может подключиться к серверу, не зная имени хотя бы одной базы данных: Catch-22. Таким образом, psql жестко запрограммирован для подключения к базе данных «postgres» при запуске psql -l
, но вы можете указать базу данных шаблонов в этом случае:
psql -l -d template1