我的目標是能夠無需提示輸入我的密碼仍然發射的命令。有沒有辦法從Windows命令行實現這一點?在Linux中,我覺得我可以在密碼發送到標準或東西,但我不知道如果我能爲Windows做到這一點。的Windows PSQL命令行:有沒有辦法,允許密碼登錄?
謝謝!
我的目標是能夠無需提示輸入我的密碼仍然發射的命令。有沒有辦法從Windows命令行實現這一點?在Linux中,我覺得我可以在密碼發送到標準或東西,但我不知道如果我能爲Windows做到這一點。的Windows PSQL命令行:有沒有辦法,允許密碼登錄?
謝謝!
有兩種方式:
描述set PGPASSWORD=yoursecretpassword
%APPDATA%\postgresql\pgpass.conf
(我的位置是C:\用戶\ Grzesiek \應用程序數據\漫遊\ PostgreSQL的\ pgpass.conf)使用doc格式指定。例如數據庫的Postgres連接上本地5432服務器添加角色的Postgres: localhost:5432:postgres:postgres:12345
我檢查這個和它的作品很好(對我來說),但不使用127.0.0.1)。
另一個方便的選擇(特別是如果你的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]
步驟:
首先環境無功PGPASSWORD
C:\ Windows \ System32下>設置PGPASSWORD =釜
之前
PSQL -d basededatos -U usuario
就緒,
我知道這是一個老問題,但任何人都希望像我,這是很難找到一個Windows的解決方案。堅持這個.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:\
第二個沒有工作,但第一個做:) – 2011-06-02 15:54:00
@A問題提問者:更新了我的答案,它應該對文件進行操作,以及 – 2011-06-02 16:08:49