不知怎的,我已经设法在Ubuntu上完全安装了postgresql。我想从头开始,但是当我用apt-get“清除”包时,它仍然会留下痕迹,导致重新安装配置不能正常运行。
完成之后:
apt-get purge postgresql
apt-get install postgresql
它说
Setting up postgresql-8.4 (8.4.3-0ubuntu9.10.1) ...
Configuring already existing cluster (configuration: /etc/postgresql/8.4/main, data: /var/lib/postgresql/8.4/main, owner: 108:112)
Error: move_conffile: required configuration file /var/lib/postgresql/8.4/main/postgresql.conf does not exist
Error: could not create default cluster. Please create it manually with
pg_createcluster 8.4 main --start
or a similar command (see 'man pg_createcluster').
update-alternatives: using /usr/share/postgresql/8.4/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode.
Setting up postgresql (8.4.3-0ubuntu9.10.1) ...
我有一个“/etc/postgresql”里面什么都没有,“/etc/postgresql-common/”有一个“pg_upgradecluser”。目录和根目录。CRT和user_clusters文件。
/etc/passwd有一个postgres用户;清除脚本似乎没有触及它。有一堆症状我都克服了结果又暴露了下一个。
就在这一秒,当我运行命令“pg_createcluster…”它会抱怨“/var/lib/postgresql/8.4/main/postgresql.conf不存在”,所以我会去找其中一个,但我相信这不会是它的结束。
难道就没有一些简单的一行(或两个)语句可以让我从头开始吗?
选择一个
如果你的安装没有损坏,你可以使用pg_dropcluster删除不需要的PostgreSQL服务器(“集群”)。如果你只是想重新启动一个新的PostgreSQL实例,可以优先使用该方法,而不是完全清除并重新安装。
$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
11 main 5432 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log
$ sudo systemctl stop postgresql@11-main
$ sudo pg_dropcluster --stop 11 main
$ sudo pg_createcluster --start 11 main
选项B
如果你真的需要彻底清除并重新安装,首先要确保PostgreSQL没有运行。ps -C postgres不显示任何结果。
现在运行:
apt-get --purge remove postgresql\*
从你的系统中删除所有PostgreSQL。仅仅清除postgres包是不够的,因为它只是一个空的元包。
一旦所有PostgreSQL包被删除,运行:
rm -r /etc/postgresql/
rm -r /etc/postgresql-common/
rm -r /var/lib/postgresql/
userdel -r postgres
groupdel postgres
你现在应该能够:
apt-get install postgresql
或完整安装:
apt-get install postgresql-8.4 postgresql-contrib-8.4 postgresql-doc-8.4
我在ubuntu 16.04中也遇到了同样的问题
但是我已经解决了这个问题,这很简单,只要遵循这些步骤,你就可以在你的系统中安装postgresql 10:
把这个添加到你的sources.list中:
sudo vim /etc/apt/sources.list
deb http://ftp.de.debian.org/debian/ wheezy main non-free contrib
deb-src http://ftp.de.debian.org/debian/ wheezy main non-free contrib
然后将这些链接添加到您的pgdg中。列表文件如果不存在,你必须创建&&添加链接&&保存它。
sudo vim /etc/apt/sources.list.d/pgdg.list
deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main
然后更新你的系统
sudo apt-get update
sudo apt-get upgrade
并安装未满足的依赖项:
apt-get install ssl-cert
就是这样。现在使用这些命令安装postgresql
sudo apt-get install postgresql-10