PostgreSQL 错误致命:角色“用户名”不存在
PostgreSQL error Fatal: role “username” does not exist
我正在 windows 中设置我的 PostgreSQL 9.1。
我无法使用 PostgreSQL 执行任何操作:无法创建数据库,无法创建用户;所有操作return错误信息
严重:根角色不存在
root 是我的账户名,是我在安装时创建的Postgresql
但我可以使用以下方式连接:
username : postgres
如何使用角色 root
连接到 postgres?
使用 su 命令 here 提到了 linux 平台的解决方案,但无法找出 windows7
的解决方案
提前致谢
如果您想使用用户名 root
登录 Postgres,您需要先创建这样一个用户。
您首先需要以 Postgres 超级用户身份登录。这通常是 postgres
(并在安装期间指定):
psql -U postgres <user-name>
然后就可以创建角色和数据库了:
psql (9.4.0)
Type "help" for help.
postgres=# create user root with password 'verysecret';
CREATE ROLE
postgres=# \q
c:\
c:\>psql -U root postgres
psql (9.4.0)
Type "help" for help.
postgres=>
以超级用户身份登录,您还可以授予 root
用户必要的权限。
psql
are documented in the manual的所有参数。
手册中也记录了创建用户和数据库:
在某些情况下,安装 postgres 时不会创建初始数据库。
你需要execute initdb.
在 postgres docker 容器上恢复 DB/table 时出现同样的问题。
。当您从 docker 容器内部连接到 Postgres DB(psql shell) 时,默认用户将是“root”(除非您指定 psql -U "some-user-name"
)
[Manjunath-MacBook-Air:$ sudo docker exec -it a2ff6075344e bash
bash-5.0# psql -U postgres postgres < testdb_pg_dump
因此,通过使用适当的用户名
登录到 psql shell,问题得到解决
这里,-U postgres
指定连接数据库的用户是“postgres”
我正在 windows 中设置我的 PostgreSQL 9.1。
我无法使用 PostgreSQL 执行任何操作:无法创建数据库,无法创建用户;所有操作return错误信息
严重:根角色不存在
root 是我的账户名,是我在安装时创建的Postgresql
但我可以使用以下方式连接:
username : postgres
如何使用角色 root
连接到 postgres?
使用 su 命令 here 提到了 linux 平台的解决方案,但无法找出 windows7
提前致谢
如果您想使用用户名 root
登录 Postgres,您需要先创建这样一个用户。
您首先需要以 Postgres 超级用户身份登录。这通常是 postgres
(并在安装期间指定):
psql -U postgres <user-name>
然后就可以创建角色和数据库了:
psql (9.4.0)
Type "help" for help.
postgres=# create user root with password 'verysecret';
CREATE ROLE
postgres=# \q
c:\
c:\>psql -U root postgres
psql (9.4.0)
Type "help" for help.
postgres=>
以超级用户身份登录,您还可以授予 root
用户必要的权限。
psql
are documented in the manual的所有参数。
手册中也记录了创建用户和数据库:
在某些情况下,安装 postgres 时不会创建初始数据库。
你需要execute initdb.
在 postgres docker 容器上恢复 DB/table 时出现同样的问题。
。当您从 docker 容器内部连接到 Postgres DB(psql shell) 时,默认用户将是“root”(除非您指定
psql -U "some-user-name"
)[Manjunath-MacBook-Air:$ sudo docker exec -it a2ff6075344e bash
bash-5.0# psql -U postgres postgres < testdb_pg_dump
因此,通过使用适当的用户名
登录到 psql shell,问题得到解决
这里,-U postgres
指定连接数据库的用户是“postgres”