Моя цель - уметь отключить команду, не запрашивая мой пароль. Есть ли способ достичь этого из командной строки Windows? В Linux я чувствую, что могу отправить пароль на стандарт или что-то в этом роде, но я не уверен, могу ли я сделать это для Windows.
Спасибо!
Ответ 1
Существует два способа:
- Установить переменную среды PGPASSWORD, например.
set PGPASSWORD=yoursecretpassword
- Использовать файл паролей
%APPDATA%\postgresql\pgpass.conf
, как описано в документации
В файле паролей (мое местоположение - C:\Users\Grzesiek\AppData\Roaming\postgresql\pgpass.conf) используется в формате doc. Например, чтобы связать postgres базы данных с роли postgres на локальном сервере 5432, добавьте:
localhost:5432:postgres:postgres:12345
Я проверил это, и он работает хорошо (для меня), но не используйте 127.0.0.1).
Ответ 2
Еще один удобный вариант (особенно, если ваш PG-сервер работает на вашем собственном клиентском компьютере, и если это не создает для вас никакой проблемы безопасности), вы должны разрешить логин без пароля на сервере (режим проверки доверия).
Например, эта строка в pg_hba.conf
(в вашем каталоге DATA, обычном месте: C:\Program Files\PostgreSQL\9.0\data\
) предоставляет доступ без пароля с вашего локального компьютера.
host all all 127.0.0.1/32 trust
Затем соединитесь с
psql.exe -h 127.0.0.1 -U postgres -w [YOUR_DB_NAME]
Ответ 3
Шаги:
Первый ENVroment Var PGPASSWORD
C:\Windows\system32 > установить PGPASSWORD = clave
перед
psql -d basededos -U usuario
Готово
Ответ 4
Я знаю, что это старый вопрос, но для любого, кто был похож на меня, трудно найти решение для окон. вставьте это в файл .bat, и он будет работать (по крайней мере, для меня это было). изменить директорию в директорию postres, установить переменную среды PHPASSWORD
выполнить команду копирования в файл csv, а затем очистить переменную среды, а затем вернуться в корневой каталог.
cd C:\Program Files\PostgreSQL\9.5\bin\
set PGPASSWORD=yourpassword
psql -d databasename -U yourusername -w -c "\COPY (select * from yourtable) TO 'c:/Users/yourdirectory/yourcsvfilename.csv' DELIMITER '|' CSV HEADER;"
set PGPASSWORD=
cd c:\