Anonymous
Александр
Лениво тестировать честно говоря(
Anonymous
Понимаю, я уже весь день тестирую
Anonymous
Уже нервов нехватает
🇷🇺 Роман
там вроде бы with password должно быть
🇷🇺 Роман
psql -c "CREATE USER admin WITH PASSWORD 'test101';"
Anonymous
там вроде бы with password должно быть
Сама команда правильна, проблема исключительно в кавычках. Ибо если команду выполнять прямо в консроли подставив в переменную реальное значение, всё выполняется как надо
Александр
через EOL?
Anonymous
psql -c "CREATE USER admin WITH PASSWORD 'test101';"
Ещё раз, у меня точно такая же команда и она работает без слова with
🇷🇺 Роман
ок, значит with не обязательна 🙂 всего не упомнишь
Anonymous
через EOL?
Пример можешь дать?
🇷🇺 Роман
sudo -u postgres bash -c "psql -c \"CREATE USER vagrant WITH PASSWORD 'vagrant';\""
Tadeusz
createuser --username=$POSTGRESQL_USERNAME --port=$POSTGRESQL_PORT --no-superuser --no-createdb --no-createrole --encrypted $DB_USER
Александр
Пример можешь дать?
на stackoverflow видел
Tadeusz
psql --username=$POSTGRESQL_USERNAME --port=$POSTGRESQL_PORT --dbname=postgres --command="ALTER USER \"$DB_USER\" WITH ENCRYPTED PASSWORD '$DB_PASSWORD'"
Anonymous
psql --username=$POSTGRESQL_USERNAME --port=$POSTGRESQL_PORT --dbname=postgres --command="ALTER USER \"$DB_USER\" WITH ENCRYPTED PASSWORD '$DB_PASSWORD'"
И чем это отличается от моего варианта? Всё те же одинарные кавычки вокруг переменной.
Tadeusz
это 100% рабочий вариант.
🇷🇺 Роман
И чем это отличается от моего варианта? Всё те же одинарные кавычки вокруг переменной.
может у тебя шелл не баш и экраны работают иначе как нибудь
Anonymous
это 100% рабочий вариант.
Обязательно база postgres должна быть или свою надо подставлять?
Anonymous
это 100% рабочий вариант.
Нифига, получается ровно то же самое что и у меня, шлак из кавычек
Tadeusz
ты просто базу пытаешься создать?
Anonymous
Вот команда в скрипте: sudo psql -d postgres --command="ALTER USER "visyond" WITH ENCRYPTED PASSWORD '$PASS'" А вот что в итоге получается: + sudo psql -d postgres '--command=ALTER USER visyond WITH ENCRYPTED PASSWORD '\''S5D7GXXV'\''' ALTER ROLE
Anonymous
🇷🇺 Роман
https://postgrespro.ru/docs/postgrespro/9.5/app-createuser
🇷🇺 Роман
вот так не пойдет?
Tadeusz
createdb-pgsql.sh: #!/bin/sh POSTGRESQL_USERNAME="postgres" POSTGRESQL_PORT="5432" DB_NAME="blahblah" DB_USER="blahblah" DB_PASSWORD="tvoi_mega_mass" dropdb --username=$POSTGRESQL_USERNAME --port=$POSTGRESQL_PORT $DB_NAME dropuser --username=$POSTGRESQL_USERNAME --port=$POSTGRESQL_PORT $DB_USER createuser --username=$POSTGRESQL_USERNAME --port=$POSTGRESQL_PORT --no-superuser --no-createdb --no-createrole --encrypted $DB_USER createdb --username=$POSTGRESQL_USERNAME --port=$POSTGRESQL_PORT --encoding=utf-8 --template=template0 --owner=$DB_USER $DB_NAME psql --username=$POSTGRESQL_USERNAME --port=$POSTGRESQL_PORT --dbname=postgres --command="ALTER USER \"$DB_USER\" WITH ENCRYPTED PASSWORD '$DB_PASSWORD'"
Tadeusz
этим скриптом лет 10 базы создаю
Tadeusz
drop* можешь выпилить.
Anonymous
Какая-то чёртова магия, Щас поробую твой скрипт, если сработает, то это точно будет магия
Tadeusz
кстати, а что пишет тебе?
Tadeusz
syntax?
🇷🇺 Роман
зачем городить через psql, если есть шелл-обёртка
Tadeusz
>Грёбанеая туча кавычек ломает всё и в итоге хрен знает какой пароль устанавливается понял
Anonymous
КААААААААК????? Как это работает?
Tadeusz
лол
Tadeusz
мб у тебя ковычки наебнуло?
Anonymous
Так визуально каманда очень похожа, кавычки вокруг пароля одинарные, как у тебя
Александр
Александр
он хуйню вместо одинарной кавычки ставит
Александр
Там автозамиена ебаная
Anonymous
у тебя макбук?
Нет, да и скрипт я выполняю на виртуалке с дебианом
Tadeusz
Там автозамиена ебаная
ну не надо, не надо.
Александр
ну не надо, не надо.
Что не надо?))
Александр
Там 3 вида одинарных кавычек
Tadeusz
Александр
Заебало меня в свое время)
Tadeusz
то что ты можешь выбрать нормальные ковычки и забыть про страдания
Александр
Дадада
Tadeusz
самые нижние.
Александр
Но какое-то время я старадал)
Anonymous
Ааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа, да что за срань то? Вот так выглядит команда у Артёма psql --username=$POSTGRESQL_USERNAME --port=$POSTGRESQL_PORT --dbname=postgres --command="ALTER USER \"$DB_USER\" WITH ENCRYPTED PASSWORD '$DB_PASSWORD'" И вот какой она становится во время работы скрипта: + psql --username=root --port=5432 --dbname=postgres --command=ALTER USER "blahblah" WITH ENCRYPTED PASSWORD 'S5D7GXXV' Но моя команда после адапатций выглядит точно так же: psql --username=root --port=5432 --dbname=postgres --command="ALTER USER \"$DB_USER\" WITH ENCRYPTED PASSWORD '$DB_PASSWORD'" А во врем выполнения скрипта она превращается в такую срань: + psql --username=root --port=5432 --dbname=postgres '--command=ALTER USER "visyond" WITH ENCRYPTED PASSWORD '\''S5D7GXXV'\''' Что происходит?
Anonymous
В очередной раз приходит мысль, что либо я не ту профессию выбрал, либо у меня просто такая карма и судьба огребать неведомые грабли =(
Tadeusz
ковычки кривые какие-то
Anonymous
ковычки кривые какие-то
Я тоже заметил. Но в скрипте команда прям вот как у тебя psql --username=$POSTGRESQL_USERNAME --port=$POSTGRESQL_PORT --dbname=postgres --command="ALTER USER \"$DB_USER\" WITH ENCRYPTED PASSWORD '$DB_PASSWORD'" psql --username=root --port=5432 --dbname=postgres --command="ALTER USER \"$DB_USER\" WITH ENCRYPTED PASSWORD '$DB_PASSWORD'"
Tadeusz
head -n 1 ?)
Anonymous
#!/bin/bash
Tadeusz
¯\_(ツ)_/¯
Tadeusz
/me не пишет баши
Anonymous
Это уже спортивный интерес, понять что же идёт не так.
Tadeusz
у меня были грабли в лезбиане, там sh -> dash
Anonymous
Поэтому я давным давно явно указываю баш во всех скриптах
Tadeusz
достаточно перелинковать на bash )
Anonymous
Хочешь сказать, что всё-таки шелл не тот? Но ведь у меня и у тебя одинаковая первая строка и оба скрипта на одном хосте выполняются.
Anonymous
Аа, у тебя вообще .bin/sh
Anonymous
су ка!!! АААаааааа!!! Рили, дело в шелле!
Anonymous
Первый раз такая дикая херня мне встретилась
Anonymous
Артём, ты мой спаситель. Большое спасибо. Наконец-то два дня скриптосекса дали результат.
Dmitry
когда я устал бороться с эскейпами кавычек, я начал юзать base64
Tadeusz
welcome
Старый
а почему с кубернетисом почти во всех плейбуках по его установке тащат гластер?
Alexey
а почему с кубернетисом почти во всех плейбуках по его установке тащат гластер?
а кубернетес разве умеет с локальными томами работать?
Gleb
Ну ты понел
Gleb
Денег нет