0

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

service postgresql-9.6 start

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

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

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

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

psql -d pgdb

psql:致命:角色“test”不存在

请建议

4

1 回答 1

0

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

或者,由于您将其标记为 postgres-9.4 和 postgres-9.6,因此您需要注意它们彼此不同。 您在 Postgres 9.4 下创建的任何数据库都不应存在于 Postgres 9.6 下。如果您pgdb在 9.4 下创建了数据库,但在重新启动后开始运行 9.6,您通常需要迁移 db(其过程超出了本问题的范围)。同样,在 9.4 下创建的用户在 9.6 下也不会自动存在。

于 2019-10-25T16:40:09.390 回答