Note

docker上のpostgresqlにユーザを作成

概要

ただハマっただけの記録です。
仕事用の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で使用していたんですが、これでようやくスタートライン…はまった。