为PostgreSQL用户设置空白密码

我使用postgresql命令“createuser myusername”。 它总是提示我input密码。 如果我将密码留空,则会显示没有指定密码的错误。

我只是想创build一个空白/没有密码的用户,我不能用Mac OS X下的Postgresql 9来完成。

我应该采取什么步骤来创build一个没有密码的用户。 该命令总是要求我input密码。

你正在咆哮错误的树,试图用createuser来解决这个问题。 如果你关心检查createuserman页,它会告诉你,如果你确实需要密码并设置–no-password,login将会失败。 createuser实际上只是创build一个用户。 它并不决定用户如何进行身份validation。

身份validation主要在pg_hba.conf处理,它决定是否在login时需要密码。 我从来没有在OS X上运行PostgreSQL。在Linux上,我的发行版股票configuration文件如下所示:

 # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all ident # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust 

我会确保你有一些像开发访问的第一行。 注意:如果没有设置--host选项, psql会尝试连接一个unix套接字。 如果尝试使用psql --host localhost进行连接,则会使用第二行

而不是创build一个没有密码的用户,创build一个.pgpass文件,并input密码。 所有使用libpq进行连接的应用程序都会遵守这一点,除了JDBC驱动程序和.NET驱动程序以外,其他几乎都是这些应用程序。

添加用户的PG用户密码(我更喜欢)的方式是login到postgres控制台(作为本地pc上的postgres用户),并发出SQL请求:

 $ sudo -u postgres psql -w # ALTER USER postgres WITH PASSWORD ''; 
Interesting Posts