Я пытался запустить несколько команд через клиент psql, чтобы подключиться к удаленной базе данных и выполнить несколько команд в одной строке, но кажется, что это невозможно?
Я пытался запустить ниже команда, и это дает мне прямую ошибку после выполнения первой команды. У меня все переменные bash установлены в окружении.
PGPASSWORD=${ADMIN_PASSWORD} psql -h ${REMOTE_HOST} -U postgres -d ${SOME_DATABASE} -c 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp";' -c "CREATE USER '$DB_USER' WITH PASSWORD '${DB_PASSWORD}';" -c 'GRANT ALL PRIVILEGES ON DATABASE "${DB_DATABASE}" TO "${DB_USER}";'
, когда я запускаю это, похоже, что только первая команда была успешной, я прочитал инструкцию из psql help -c, --command=COMMAND run only single command (SQL or internal) and exit
.
Но есть ли способ использовать bash pipe или backsla sh, чтобы использовать его таким образом?