概要
ただハマっただけの記録です。
仕事用のPCで仕事用の開発環境が入っているんですが、postgresqlはdockerで動いておりlocalhostが使われているので、そのdocker上に別ユーザで別データベースを作ろうとしたときにdockerがわからなかったためハマった記録です。
dockerのコンソールに入る
$ docker exec -ti CONTAINER_NAME bash
ユーザを作成
u postgres # postgresユーザで操作する
$ whoami
postgres
$ psql -U postgres
(postgresql console)
postgres=# \du
                             List of roles
 Role name |                   Attributes                   | Member of
-----------+------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication | {}
postgres=# \q # 一回出る
$ createdb NAME -P # パスワード付き
Enter password for new role:
Enter it again:
$ psql -U postgres
postgres=# \du
                             List of roles
 Role name |                   Attributes                   | Member of
-----------+------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication | {}
 NAME      |                                                | {}
DB作成の権限を付与する
postgres=# ALTER ROLE NAME CREATEDB;
ALTER ROLE
postgres=# \du
                             List of roles
 Role name |                   Attributes                   | Member of
-----------+------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication | {}
 NAME      | Create DB                                      | {}
railsで使用していたんですが、これでようやくスタートライン…はまった。