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

Volodymyr Litovka doka at funlab.cc
Fri Jul 2 20:14:50 EEST 2021


Мне чё та лень придумывать аналог этого выражения в отсутствие 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 list
> uanog at uanog.kiev.ua
> https://mailman.uanog.kiev.ua/mailman/listinfo/uanog

-- 
Volodymyr Litovka
   "Vision without Execution is Hallucination." -- Thomas Edison

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.uanog.kiev.ua/pipermail/uanog/attachments/20210702/ab8b447f/attachment.html>


More information about the uanog mailing list