我一直在处理 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 时要使用的正确用户帐户。