Если вы используете контейнер с Postgres и хотите создать вторую базу данных с помощью скрипта инициализации, вы можете выполнить следующие шаги: 1. Создайте новый скрипт, который будет выполнять операции по созданию вашей второй базы данных. Допустим, назовем его `init-second-db.sql`. ```sql -- Создание второй базы данных CREATE DATABASE second_db; -- Назначение прав доступа к базе данных GRANT ALL PRIVILEGES ON DATABASE second_db TO your_db_user; ``` 2. Установите переменные среды `POSTGRES_USER` и `POSTGRES_PASSWORD` в контейнере с Postgres, чтобы задать учетные данные пользователя базы данных. Эти переменные среды будут использоваться в команде `psql` для выполнения скриптов инициализации. ```bash docker run -e POSTGRES_USER=your_db_user -e POSTGRES_PASSWORD=your_db_password ... ``` 3. Запустите контейнер с Postgres, подключив ваш скрипт инициализации и второй скрипт инициализации с помощью опции `-v`. ```bash docker run -v /path/to/your/init-second-db.sql:/docker-entrypoint-initdb.d/init-second-db.sql -v /path/to/your/init-user-db.sql:/docker-entrypoint-initdb.d/init-user-db.sql ... ``` Здесь `/path/to/your/init-second-db.sql` - это путь к вашему новому скрипту `init-second-db.sql`, а `/path/to/your/init-user-db.sql` - это путь к скрипту `init-user-db.sql` для первой базы данных, который уже был создан. 4. Контейнер Postgres автоматически выполнит все скрипты с расширением `.sql` из директории `/docker-entrypoint-initdb.d/` при каждом запуске контейнера. Таким образом, оба скрипта инициализации (`init-user-db.sql` и `init-second-db.sql`) будут выполнены при запуске контейнера. Примечание: Если вы не хотите, чтобы скрипт `init-user-db.sql` запускался при создании второй базы данных, вы можете удалить или переместить его из `/docker-entrypoint-initdb.d/` до запуска контейнера. В результате этого скрипт `init-second-db.sql` будет выполнен при создании контейнера, и вторая база данных будет создана вместе с необходимыми привилегиями доступа.