Postgresql 启动失败,提示没有这样的文件或目录错误?

Postgresql 启动失败,提示没有这样的文件或目录错误?

我一直在处理 Postgresql 版本,我觉得在重命名某些东西时我弄巧成拙了。我在 Ubuntu 14.04 工作站上安装了 9.3 和 9.4,我想回到 9.3,所以我做了一些“文件手术”来实现这一点。在某个时候,我想我做了重命名,现在当我发出命令时:

sudo /etc/init.d/postgresql start

我收到以下错误输出:

* Starting PostgreSQL 9.3 database server                                                                                                             
* Failed to issue method call: Unit [email protected] failed to load: No such file or directory. See system logs and 'systemctl status [email protected]' for details.

[fail]
* Starting PostgreSQL 9.4 database server                                                                                                     
* Failed to issue method call: Unit [email protected] failed to load: No such file or directory. See system logs and 'systemctl status [email protected]' for details.

我按照 9.3 的错误输出指示执行了 systemctl status 命令,得到了以下结果:

[email protected]
Loaded: error (Reason: No such file or directory)
Active: inactive (dead)

正如你所看到的主备份服务输出行,以某种方式 postgresql 获取了重命名。(但是,我没有在目录树的任何地方看到名为“service”的文件。

我查看了我的 postgresql 配置文件,但在任何地方都没有看到该目录:

data_directory = '/var/lib/postgresql/9.3/main'     # use data in another directory
                # (change requires restart)
hba_file = '/etc/postgresql/9.3/main/pg_hba.conf'   # host-based authentication file
                # (change requires restart)
ident_file = '/etc/postgresql/9.3/main/pg_ident.conf'   # ident configuration file
                # (change requires restart)

我没有设置 PGROOT 或 PGDATA 环境变量,所以我认为不是这个原因?另外,正如您从我用于启动 postgresql 的命令中看到的那样,我没有明确指定配置文件。是否存在我不知道的坏符号链接?我该如何修复它?

postgresql 从哪里获取 main.bak.service 文件引用?

另外,我应该使用启动 postgresql 吗PostgreSQL帐户而不是(su vs sudo)?我的设置以前可以正常工作,所以我把事情搞砸了,所以我认为这不是问题,如果以 root 身份运行是一件坏事。但我想知道启动 postgresql 时要使用的正确用户帐户。

相关内容