psql执行的时候不输入密码的设定 (转载)

psql执行的时候不输入密码的设定

客户一下发过来了很多的*.sql文件,用于创建数据库表。如果一个一个的运行,肯定会浪费时间。这样我做了批处理文件(Bat文件),来一次操作多个*.sql,但是,这个时候遇到一个问题,因为我的批处理是这样写的:
@echo off
for %%c in (*.sql) do psql -d ucom -U ucom_user -f %%c
pause
这样,psql每运行一个*.sql文件的时候都要你输入一次密码,真是烦透了。如何才能不输入密码,让这些文件一次被处理掉哪?到网上查了一下,还真有办法。
Windwos环境下,创建%APPDATA%\postgresql\pgpass.conf这样一个文件,文件中的内容设定为:
hostname:port:database:username:password 其中hostname是主机地址,port是数据库端口,后面的三个参数分别是数据库名,登陆用户和登陆密码。比如我的文件是这样设定的localhost:5432:ucom:ucom_user:ucom_user。这样再去执行上面的批处理,一次就OK了,再不用反复输入密码了。其中,变量%AppData%是一个对Application Data路径的简记形式,一般情况下可能是: C:\Documents and Settings\[User Name]\Application Data目录。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/v_fei/archive/2007/11/19/1893562.aspx

原文地址:https://www.cnblogs.com/wuhenke/p/1789720.html