我使用postgresql命令'createuser myusername'。它总是提示我输入密码。如果我将密码留空,它会提示没有指定密码的错误。为PostgreSQL用户设置空白密码
我只是想创建一个空白/无密码的用户,我无法在Mac OS X下使用Postgresql 9。
我应该采取哪些步骤来创建没有密码的用户。该命令总是要求我输入密码。
我使用postgresql命令'createuser myusername'。它总是提示我输入密码。如果我将密码留空,它会提示没有指定密码的错误。为PostgreSQL用户设置空白密码
我只是想创建一个空白/无密码的用户,我无法在Mac OS X下使用Postgresql 9。
我应该采取哪些步骤来创建没有密码的用户。该命令总是要求我输入密码。
你正在吠叫错误的树,试图用createuser
来解决这个问题。如果您想检查man
页面的createuser
,它会告诉您,如果您确实需要密码并设置 - 无密码,登录将会失败。 createuser
实际上只是创建一个用户。它确实而不是决定用户将不得不认证。
身份验证主要在pg_hba.conf
中处理,它决定是否在登录时要求输入密码。我从来没有在OS X上运行在Linux上的PostgreSQL,我发行的股票的conf是这样的:
# 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
而不是创建一个没有密码的用户,请创建一个密码为.pgpass file的自动提供的密码。所有使用libpq进行连接的应用程序都会遵守这个要求,除了JDBC驱动程序和.NET驱动程序外,几乎所有这些应用程序都可以进行连接。
+1 pgpass就是这样做的方法。 – 2011-03-24 19:33:05
连接的另一种方式(我prefere它)来改变用户对PG用户密码登录到Postgres的控制台(作为postgres
用户在本地PC)第二行会被使用,发出SQL请求:
$ sudo -u postgres psql -w
# ALTER USER postgres WITH PASSWORD '';
其中是在mac os x或linux机器上的文件pg_hba.conf的位置? – othman 2011-03-25 14:05:44
对于Ubuntu,您可以在'/ etc/postgresql/9.0/main/pg_hba.conf'找到它(适用于PostgreSQL 9.0)。 – jmonteiro 2012-01-13 23:30:45
对于OS X 10.6.8,您可以在'/ Library/PostgreSQL/8.3/data/pg_hba.conf'找到它。请注意,它由'postgres'用户拥有,因此您需要'su postgres'来编辑它。 – Chris 2012-01-17 06:51:16