【postgresql】role「root」does not exist解決方法

687 ワード

問題の原因
postgresqlはrootユーザーを使ってサービスを開始することが許されないので、他のユーザーに切り替えてから正常なサービスを開始する必要があります.しかし、たまにrootユーザーを使ってpostgresqlを使用する必要があります.
解決策
方法1
必要でない場合は、rootユーザーでpostgresqlを使用しないでください.
方法2
マニュアルでroot roleを作成します.ここではpostgresqlサービスを開始するためにユーザー名を使っています.
su postgres
#   root  
postgres=#create user root with password 'password';    
CREATE ROLE

#         root  
postgres=# GRANT ALL PRIVILEGES ON DATABASE mydatabase to root;
GRANT

#           (     )
postgres=# ALTER ROLE root WITH SUPERUSER;

postgres=# \q
ロトを直接スーパーユーザーに作成することもできます.ログインとはログインを許可することです.
CREATE ROLE root superuser PASSWORD 'password' login;