Командная строка Windows PSQL: есть ли способ разрешить вход в систему без пароля?

Моя цель - уметь отключить команду, не запрашивая мой пароль. Есть ли способ достичь этого из командной строки 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:\