хочу выбрать базу для которой надо выполнять скрипт.
Есть аналог команды на подобие как в mysql вида use mydatabase?
Сейчас как обезьяна везде делаю CREATE TABLE mydatabase.table1 ...
А чем Вы выполняете этот скрипт? Если psql, то в нём есть метакоманда: \c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo} connect to new database
при сборке докер композа, там есть возможность выполнить sql/sh скрипты (размещаются и запускаются из специальной директории docker-entrypoint-initdb.d), сейчас использую sql, но видимо придется переходить на sh.. видимо запуск sql происходит без привзяки к бд..
Вряд ли он их выполняет с помощью магии — почти наверняка используется какой-то клиент (что-то, способное "общаться" с конкретной СУБД по её протоколу). ;) > видимо запуск sql происходит без привзяки к бд.. Вот это, например, было бы магией. Поэтому, может быть, стоит выяснить, как именно там передаётся SQL?
В здешней терминологии это не база, это схема. https://www.postgresql.org/docs/current/ddl-schemas.html В общем -- да, можно выбрать путём манипуляцыий с search_path . В том числе задав дефолт для базы в цэлом (alter database set search_path ) и для пользователя (alter role ...0).
Обсуждают сегодня