Gdy aplikacja kliencka łączy się z serwerem Postgres, musi określić, z którą bazą danych chce się połączyć. Jeśli nie znasz nazwy bazy danych (w ramach klastra obsługiwanego przez postmastera, z którym się łączysz), możesz znaleźć listę nazw baz danych za pomocą polecenia:
psql -l
Po uruchomieniu tego polecenia psql łączy się z serwerem i pyta pg_database o listę nazw baz danych. Ponieważ jednak psql jest aplikacją kliencką Postgres, nie może połączyć się z serwerem bez znajomości nazwy co najmniej jednej bazy danych:Catch-22. Tak więc psql jest na stałe zakodowany, aby połączyć się z bazą danych o nazwie "postgres" po uruchomieniu psql -l
, ale w takim przypadku możesz określić bazę danych szablonów:
psql -l -d template1