|
Передача переменных среды в psql (Windows)
|
|||
---|---|---|---|
#18+
Здравствуйте, товарищи :) Вопрос, ну, минимум на 100 рублей. Есть у меня пакетный файл: @ECHO OFF CHCP 1251 SET RULE_ID=%1 SET RULE_GUID=some new GUID from whatever source %1 - всегда целое число Далее есть скрипт: \set current_rule_id `ECHO %RULE_ID%` \set current_rule_guid `ECHO %RULE_GUID%` blah-blah-blah И %PSQL% -d %CSTR% -f script.sql Сможете объяснить, почему это не работает? Причем специфически не работает именно RULE_ID, а RULE_GUID становится кошерным UUID. Workaround известный: %PSQL% -d %CSTR% -c "\set current_rule_id %RULE_ID%" -f guid_blah-blah-blah.sql Но я не очень понимаю, почему оно так. Заранее спасибо. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 15:29 |
|
Передача переменных среды в psql (Windows)
|
|||
---|---|---|---|
#18+
person1534, Попробовал повторить, вроде работает: Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
В windows есть нюанс с получением вывода `команд ОС`. Сам psql обрезает из вывода финальный символ перевода строки. Но в windows же еще и символ возврата каретки ставится (если ничего не изменилось). Если обратиться к переменной как :'current_rule_id' то вылезет \r. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 16:38 |
|
Передача переменных среды в psql (Windows)
|
|||
---|---|---|---|
#18+
Павел, Я рад бы предположить, что psql знает, кто сидит за терминалом. И когда это я, то он включает особый mod. Но слабо верится. Видимо, вывод subshell cmd.exe он воспринимает идущим в UTF-8(?) И радостно бросается это декодировать. Там даже вывод об ошибке приходит лишь частично. Значение само есть, но что-то с ним капитально не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 16:55 |
|
Передача переменных среды в psql (Windows)
|
|||
---|---|---|---|
#18+
person1534 Видимо, вывод subshell cmd.exe он воспринимает идущим в UTF-8(?) И радостно бросается это декодировать. Там даже вывод об ошибке приходит лишь частично. Значение само есть, но что-то с ним капитально не так. А какой PostgreSQL используете? У меня вот отсюда , и там точно что-то с кодировками починили(решены проблемы с кодировкой не латинских сообщений). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 17:21 |
|
Передача переменных среды в psql (Windows)
|
|||
---|---|---|---|
#18+
Павел Лузанов person1534 Видимо, вывод subshell cmd.exe он воспринимает идущим в UTF-8(?) И радостно бросается это декодировать. Там даже вывод об ошибке приходит лишь частично. Значение само есть, но что-то с ним капитально не так. А какой PostgreSQL используете? У меня вот отсюда , и там точно что-то с кодировками починили(решены проблемы с кодировкой не латинских сообщений). Павел, 12 версия. И с русским языком, как таковым проблем нет. Он вставляется корректно, читается во всех клиентах. Тут что-то не с локалью, а с передачей строк между средой cmd.exe и командным интерпретатором. Кто-то/что-то/куда-то. (У меня год назад такая же баталия имело место со скриптингом для MySQL. Там вообще все было US English, даже Windows :) И все равно были ситуации, когда строки забавным образом менялись.) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 17:45 |
|
Передача переменных среды в psql (Windows)
|
|||
---|---|---|---|
#18+
person1534, А PostgreSQL всё-таки где брали? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 17:48 |
|
Передача переменных среды в psql (Windows)
|
|||
---|---|---|---|
#18+
Павел, Я его нигде не брал. Мне его дали. IT безопасность принесла "безопасное". ... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2020, 17:52 |
|
Передача переменных среды в psql (Windows)
|
|||
---|---|---|---|
#18+
person1534, Я не большой специалист в этом вопросе, просто предположил, что раз у меня ваш пример работает, то дело возможно в дистрибутиве PostgreSQL для windows. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2020, 10:32 |
|
|
start [/forum/topic.php?fid=53&gotonew=1&tid=1994635]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
11ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 162ms |
0 / 0 |