【postgresql】role "root" does not exist 解决办法

https://blog.csdn.net/weixin_30809083/article/details/87921787

问题原因
postgresql是不允许使用root用户启动服务的,所以必须切换到其他用户下才可以进行正常的服务启动,但是有些时候我们又需要使用root用户来使用postgresql

解决办法
方法一
非必要情况下就不要用root用户使用postgresql

方法二
手动创建root role,我这里是使用用户名为postgres来启动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

也可以直接将root创建为超级用户,login是指允许登录

CREATE ROLE root superuser PASSWORD 'password' login;

  

原文地址:https://www.cnblogs.com/keewit/p/11051331.html