Какая команда выводит список баз данных в PostgreSQL?

«Какая команда выводит список баз данных в PostgreSQL?» — вопрос из категории Базы данных, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для управления базами данных PostgreSQL, например, при подготовке среды или в скриптах автоматического развертывания, я использую следующие команды:

  1. Через интерактивный терминал psql: Самый быстрый способ при ручной работе.

    l

    Или для более детального вывода:

    l+
  2. С помощью SQL-запроса: Этот метод используется в скриптах и автоматизации (например, в задачах Ansible или в скриптах инициализации внутри Docker-контейнера).

    SELECT datname FROM pg_database WHERE datistemplate = false;

    Добавление условия WHERE datistemplate = false исключает служебные шаблонные базы данных.

  3. Из командной строки ОС: Удобно для скриптов, не требующих интерактивного входа в psql.

    sudo -u postgres psql -c "l"
    # Или
    psql -U <username> -h <host> -c "SELECT datname FROM pg_database;"

Контекст DevOps: В инфраструктуре как код (Terraform) или конфигурации Kubernetes (через операторы, например, Zalando Postgres Operator) создание базы данных часто описывается декларативно. Список же баз данных проверяется для аудита, мониторинга или в скриптах миграции.