sudo brew install postgresql
でMacにpostgresqlを入れて、
$ psql postgres postgres=# create role dbuser createdb login inherit password 'dbuser';
のようにroleを作ってみたのだけど
psql --username=dbuser postgres
でパスワード指定せずにログインできてしまった。
???となって少し調べてみたら、pg_hba.conf*1にデフォルトで以下のように設定されていて、この時localhostからpsqlでログインするときにはパスワードは不要になるようだった。ちょっと怖い。
# "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust
ちなみに https://stackoverflow.com/questions/4328679/how-to-configure-postgresql-so-it-accepts-loginpassword-auth を参考にして、trustじゃなくてmd5を指定するとパスワード入力を必須にできた。しかし、ちゃんと調べていないので、本当にこの指定方法が正しかったのかはよく分からない。