2011-06-02 40 views

回答

19

有兩種方式:

  • 設置環境變量PGPASSWORD例如作爲在密碼文件中documentation

描述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)。

  • +0

    第二個沒有工作,但第一個做:) – 2011-06-02 15:54:00

    +0

    @A問題提問者:更新了我的答案,它應該對文件進行操作,以及 – 2011-06-02 16:08:49

    10

    另一個方便的選擇(特別是如果你的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] 
    
    0

    步驟:

    首先環境無功PGPASSWORD

    C:\ Windows \ System32下>設置PGPASSWORD =釜

    之前

    PSQL -d basededatos -U usuario

    就緒,

    1

    我知道這是一個老問題,但任何人都希望像我,這是很難找到一個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:\ 
    
    相關問題