我刚接触过postgres,在服务器重新启动后在连接到DB方面遇到了困难。我已经在OS用户测试下创建了一个数据库pgdb。服务器重新启动后,我通过发出命令重新启动pgsql
service postgresql-9.6 start启动PostgreSQL9.6服务: OK
如果我只是发出psql,我会被带到psql提示符,但是这里的数据路径与我以前设置的不同。当我试图以postgres用户的身份连接到pgdb时,我会得到以下错误:
psql:致命:数据库"pgdb“不存在
当我试图以Test用户的身份连接时:
psql -d pgdbpsql:致命:角色"test“不存在
请建议
发布于 2019-10-25 16:40:09
听起来,您在OS用户测试下创建的数据库是在一个与由实例化的实例不同的Postgres下创建的。这两个实例可以(或者可能在服务器重新启动之前)在不同的端口下运行(例如,5432和5433)。
或者,由于这两个标记都是postgres-9.4和postgres-9.6,您需要意识到它们是相互区别的。在Postgres 9.4下创建的任何数据库都不应该存在于Postgres 9.6下。如果您在9.4下创建了pgdb数据库,但是在重新启动后开始运行9.6,则通常需要迁移db (这个过程超出了这个问题的范围)。同样,在9.4下创建的用户在9.6下也不会自动存在。
https://stackoverflow.com/questions/40258451
复制相似问题