Я пытаюсь запустить из оболочки команду без фактического переключения пользователей или входа в БД вручную (чтобы оболочка не прерывалась с запросом пароля)
CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA public;
То, что я с нетерпением жду запуска в базе данных, называется билетами с пользователем ticketng
У меня уже есть настроенный файл .pgpass, и он работает так же, как и мой билет пользователя psql DB
sudo -H -u postgres bash -c "cd && psql -c \"CREATE ROLE ticketing LOGIN CREATEDB;\""
sudo -H -u postgres bash -c "cd && psql -c \"ALTER USER ticketing WITH PASSWORD 'testpass';\""
sudo -H -u postgres bash -c "cd && psql -c \"CREATE DATABASE ticketing WITH ENCODING='UTF8' OWNER=ticketing CONNECTION LIMIT=-1;\""
sudo -H -u postgres bash -c "cd && psql -c \"ALTER USER ticketing WITH SUPERUSER;\""
До сих пор все в порядке, и все же, когда вы пытаетесь соединить БД с билетами в одну строку, чтобы автоматизировать это, он просто не работает после запуска
sudo -H -u ticketing bash -c "cd && psql -c \"CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA public;\""
Я получаю:
sudo: неизвестный пользователь: тикет
sudo: невозможно инициализировать плагин политики
То, чего я пытаюсь достичь, можно сделать, запустив вручную следующие строки
psql -h localhost -U ticketing
CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA public;
\q
однако это останавливает форму оболочки на самом деле "автоматический"