Postgresql

查詢結果輸出到文件時如何防止寫入資訊性消息

  • September 27, 2018

當我使用 Windows 任務計劃程序將以下查詢作為批處理文件 (.BAT) 執行時,除了數據庫名稱之外,我還在輸出文件*DatabaseNames.txt中收到了一些資訊性消息。*我怎樣才能阻止這些消息?從命令提示符下執行時,這些消息不可見。

"C:\Program Files\PostgreSQL\10\bin\psql.exe" --host localhost --username postgres -Atc "SELECT datname FROM pg_database WHERE datallowconn IS TRUE AND datname NOT IN('template0','template1')" > D:\Backup\DatabaseNames.txt

以下是資訊性消息

Welcome to PostgreSQL! 
Type :version to see PostgreSQL version 
Type :extensions to see the available extensions
Time: 0.994 ms

顯然“某人”創建了一個psqlrc.conf文件,其中包含您所看到的那些消息。

您可以通過傳遞參數(或)來防止psql載入。要隱藏任何其他消息,請使用(or ) 參數。psqlrc.conf``--no-psqlrc``-X``--quiet``-q

所以你的批處理文件應該包含:

"C:\Program Files\PostgreSQL\10\bin\psql.exe" --no-psqlrc --quiet --host localhost ...

引用自:https://dba.stackexchange.com/questions/218715