Ubuntu 14.04 上 PostgreSQL 安装失败

Raf*_*eis 1 database postgresql postgresql-9.3 ubuntu-14.04

我最近从计算机上卸载了 postgresql。我尝试再次安装它,但遇到了一些问题。我尝试再次完全卸载它,如下所示:我找到了与 postgres 相关的所有软件包:

$ dpkg -l | grep postgres
Run Code Online (Sandbox Code Playgroud)

我删除了所有包和相关文件夹:

$ sudo apt-get --purge remove postgresql postgresql-9.3 postgresql-client-9.3 postgresql-client-common postgresql-common postgresql-contrib-9.3

$ sudo rm -rf /var/lib/postgresql/
$ sudo rm -rf /var/log/postgresql/
$ sudo rm -rf /etc/postgresql/
Run Code Online (Sandbox Code Playgroud)

我尝试再次安装它,但安装后我无法访问postgres用户。

$ sudo apt-get install postgresql postgresql-contrib
$ sudo -i -u postgres
sudo: unable to change directory to /home/postgres: No such file or directory
Run Code Online (Sandbox Code Playgroud)

如果我访问 root,我可以访问 postgres,但会发生这样的情况:

$ sudo su -
$ su - postgres
No directory, logging in with HOME=/
postgres@rafael-pc:/$ psql
psql (9.3.9)
Type "help" for help.
postgres=# \q
could not save history to file "/home/postgres/.psql_history": No such file or directory
Run Code Online (Sandbox Code Playgroud)

我不知道发生了什么事。我曾多次尝试卸载它,但当我重新安装它时总是出现某种错误。

小智 5

这里只是一个猜测,但在我看来问题确实是没有目录/home/postgres。我不确定您的卸载过程中可能发生了什么来删除它,但看起来这就是您列出的两个步骤中出现错误的原因。

您可以尝试这个(或这些步骤的一些近似步骤,创建该目录并确保它由 postgres 用户拥有)吗?

# sudo mkdir /home/postgres
# sudo chown postgres /home/postgres
Run Code Online (Sandbox Code Playgroud)