выполнение нескольких команд - PullRequest
2 голосов
/ 25 августа 2011

Я создал установщик с innosetup и хочу использовать его для создания базы данных postgresql с использованием psql.exe.Я вызываю psql.exe с этой строкой кода:

Имя файла: "{app} \ PostgreSQL \ bin \ psql.exe";Параметры: "-W postgres";

Проблема в том, что psql запрашивает пароль пользователя, и нет возможности передать его за один вызов.

Возможно ли смоделировать "Enter"ключ и добавить пароль сразу после?Если есть другое решение, дайте мне знать, пожалуйста.

Спасибо.

1 Ответ

2 голосов
/ 25 августа 2011

Существует переменная окружения PGPASSWORD :

PGPASSWORD действует так же, как параметр соединения с паролем. Использование этой переменной среды не рекомендуется из соображений безопасности, поскольку некоторые операционные системы позволяют пользователям без полномочий root просматривать переменные среды процесса через ps; вместо этого рассмотрите возможность использования файла ~/.pgpass.

Как уже упоминалось, есть также файл пароля , но переменная окружения, вероятно, подойдет для установщика. В любом случае вы бы сбросили переключатель -W.

Вы также можете создать специальный инструмент для непосредственного общения с PostgreSQL, а не через psql.exe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...