__postgres_*: fix forgotten edge cases in delimited identifier escape

This commit is contained in:
fnux 2020-01-17 11:21:28 +01:00
parent 3258fc98e1
commit ef2f4b9a00
2 changed files with 12 additions and 6 deletions

View File

@ -43,10 +43,14 @@ if [ "$state_should" != "$state_is" ]; then
if [ -f "$__object/parameter/owner" ]; then if [ -f "$__object/parameter/owner" ]; then
owner="-O \"$(cat "$__object/parameter/owner")\"" owner="-O \"$(cat "$__object/parameter/owner")\""
fi fi
echo "su - '$postgres_user' -c \"createdb $owner \"$name\"\"" cat << EOF
su - '$postgres_user' -c "createdb $owner \"$name\""
EOF
;; ;;
absent) absent)
echo "su - '$postgres_user' -c \"dropdb \"$name\"\"" cat << EOF
su - '$postgres_user' -c "dropdb \"$name\""
EOF
;; ;;
esac esac
fi fi

View File

@ -53,11 +53,13 @@ case "$state_should" in
done done
[ -n "$password" ] && password="PASSWORD '$password'" [ -n "$password" ] && password="PASSWORD '$password'"
cat << EOF
cmd="CREATE ROLE \"$name\" WITH $password $booleans" su - '$postgres_user' -c "psql postgres -wc 'CREATE ROLE \"$name\" WITH $password $booleans;'"
echo "su - '$postgres_user' -c \"psql postgres -wc \\\"$cmd\\\"\"" EOF
;; ;;
absent) absent)
echo "su - '$postgres_user' -c \"dropuser \\\"$name\\\"\"" cat << EOF
su - '$postgres_user' -c "dropuser \"$name\""
EOF
;; ;;
esac esac