psql:致命:角色"测试"不存在

时间:2016-10-26 09:25:28

标签: postgresql postgresql-9.4 postgresql-9.6

我是postgres的新手,在服务器重启后遇到连接数据库的困难。我在OS用户测试下创建了一个数据库pgdb。 服务器重新启动后,我通过发出重新启动pgsql 命令

service postgresql-9.6 start
  

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

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

  

psql:致命:数据库" pgdb"不存在

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

psql -d pgdb
  

psql:致命:角色"测试"不存在

请建议

1 个答案:

答案 0 :(得分:0)

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

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