psql:致命:角色“测试”不存在

问题描述 投票:0回答:1

我是Postgres的新手,在服务器重启后难以连接数据库。我已经在OS用户测试下创建了一个数据库pgdb。服务器重启后,我通过发出命令

service postgresql-9.6 start

启动postgresql-9.6服务:[确定]

如果我只是发出psql,我将被带到psql提示符,但是这里的数据路径与我之前设置的数据路径不同。当我尝试以postgres用户身份连接到pgdb时,出现错误:

psql:致命错误:数据库“ pgdb”不存在

当我尝试以测试用户身份连接时:

psql -d pgdb

psql:致命错误:角色“测试”不存在

请提出建议

postgresql postgresql-9.4 postgresql-9.6
1个回答
0
投票

听起来好像您在OS用户测试下创建的数据库位于Postgres的different实例之下,而不是由service postgresql-9.6 start实例化的实例。这两个实例可能(或者可能已经在服务器重新启动之前)在不同的端口(例如5432和5433)下运行。

或者,因为您已将此标签标记为postgres-9.4和postgres-9.6,所以您需要知道它们彼此不同。 您在Postgres 9.4下创建的任何数据库都不应在Postgres 9.6下存在]。如果在9.4下创建了pgdb数据库,但是在重新启动后开始运行9.6,则通常需要迁移db(该过程不在此问题的范围之内)。同样,在9.4下创建的用户在9.6下不会自动存在。

© www.soinside.com 2019 - 2024. All rights reserved.