__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
owner="-O \"$(cat "$__object/parameter/owner")\""
fi
echo "su - '$postgres_user' -c \"createdb $owner \"$name\"\""
cat << EOF
su - '$postgres_user' -c "createdb $owner \"$name\""
EOF
;;
absent)
echo "su - '$postgres_user' -c \"dropdb \"$name\"\""
cat << EOF
su - '$postgres_user' -c "dropdb \"$name\""
EOF
;;
esac
fi

View File

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