问题
I use postgresql command 'createuser myusername'. It prompts me for password always. If I leave password blank it gives an error that no password is specified.
I simply want to create a user with blank/no password and I'm not able to do it with Postgresql 9 under mac os x.
What steps should I take to create a user with no password. The command always asks me to enter a password.
回答1:
You're barking up the wrong tree trying to fix this with createuser
. If you care to check the man
page for createuser
it will tell you that login will fail if you really need a password and set --no-password. createuser
actually just creates a user. It does not decide how the user will have to authenticate.
Authentication is handled mainly in pg_hba.conf
, which decides whether or not to require passwords at login. I've never run PostgreSQL on OS X. On Linux, my distro's stock conf looks like this:
# 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
I would make sure you have something like the first line for for development access. Note: psql
will try to connect with a unix socket if there is no --host
option set. The second line would be used if you try to connect with psql --host localhost
回答2:
Rather than creating a user with no password, create a .pgpass file with the password in to have it automatically supplied. This will be respected by all applications that use libpq to connect, which is practically all of them except the JDBC driver and the .NET driver.
回答3:
The additional way (I prefere it) to change user's password for PG user is to login to postgres console (as a postgres
user on a local pc), and issue SQL request:
$ sudo -u postgres psql -w
# ALTER USER postgres WITH PASSWORD '';
回答4:
postgres=# ALTER USER postgres WITH PASSWORD '';
NOTICE: empty string is not a valid password, clearing password
ALTER ROLE
postgres=#
来源:https://stackoverflow.com/questions/5421807/set-blank-password-for-postgresql-user