[uanog] экранировать выражение

Oleksandr Bezpalko obezpalko at gmail.com
Fri Jul 2 21:32:08 EEST 2021


Hi

В особо сложных случаях можно попробовать base64 encode для оригинального
выражения, а в sudo декодировать и выполнять.

On Fri, 2 Jul 2021, 20:15 Volodymyr Litovka, <doka at funlab.cc> wrote:

> Мне чё та лень придумывать аналог этого выражения в отсутствие psql, но
> попробуй декомпозировать длинную строку в два выражения - как минимум можно
> будет сузить диапазон поиска проблемы:
>
>  max_conn=$(psql -qtAX -c "SELECT current_setting('max_connections')") \
>  psql -c "ALTER SYSTEM SET work_mem = $(awk '/MemTotal/ {print
> int(($2)*0.25/$max_conn)}' /proc/meminfo)"
>
>
> On 02.07.2021 18:37, VASYL MELNYK wrote:
>
> Всем привет
>
> Дилетантсткий вопрос, раньше просто наваял бы скрипт на баше да и не
> думал, но тут надо именно одной строкой
>
> Есть такое выражение, вычисляет work_mem в зависимости от количества
> оперативки и макс коннекшин и прописывает в конфиг постгреса
>
> вот такая команда под юзером postgres выполняется
> psql -c "ALTER SYSTEM SET work_mem = $(awk '/MemTotal/ {print
> int(($2)*0.25/'$(psql -qtAX -c "SELECT
> current_setting('max_connections')")')}' /proc/meminfo)"
>
> Но если из судо это делать
> sudo -iu postgres psql -c "ALTER SYSTEM SET work_mem = $(awk '/MemTotal/
> {print int(($2)*0.25/'$(psql -qtAX -c "SELECT
> current_setting('max_connections')")')}' /proc/meminfo)"
>
> , то выдается ошибка, надо как эту команду экранировать, а я уже
> использовал одинарные кавычки и двойные в выражении и ума не приложу как
> это выражение экранировать.
>
>
> _______________________________________________
> uanog mailing listuanog at uanog.kiev.uahttps://mailman.uanog.kiev.ua/mailman/listinfo/uanog
>
> --
> Volodymyr Litovka
>   "Vision without Execution is Hallucination." -- Thomas Edison
>
> _______________________________________________
> uanog mailing list
> uanog at uanog.kiev.ua
> https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.uanog.kiev.ua/pipermail/uanog/attachments/20210702/5ed1ebc3/attachment.html>


More information about the uanog mailing list