在Ubuntu上无法安装PostgreSQL(E:无法找到包postgresql)。

35

我遇到了一个问题,就是我的Ubuntu系统无法安装任何软件包。

我现在使用的是Ubuntu 16.10

终端安装日志:

terminal install logs


更新:

我输入了这些命令并得到了这个结果。

更新和apt-cache后:

after update and apt-cache

我现在该怎么办?


1
我遇到了同样的问题,按照这个教程解决了我的问题:https://computingforgeeks.com/install-postgresql-11-on-ubuntu-linux/ - Archana
2
Ergghhh... SO鼓励使用原始文本而非截图来进行问答:https://meta.stackoverflow.com/questions/285551/why-should-i-not-upload-images-of-code-data-errors - Sarah Messer
5个回答

47
sudo apt-get install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
安装完PostgreSQL数据库服务器后,它会默认创建一个名为“postgres”的用户和角色,并创建一个同名的系统帐户。因此,要连接到Postgres服务器,请以用户postgres身份登录系统并连接数据库。
sudo su - postgres
psql

1
在执行 sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/lsb_release -cs-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' 命令后,我得到了以下错误信息: E: /etc/apt/sources.list.d/pgdg.list 文件中的第 1 行条目格式不正确(组件) E: 无法读取源列表。 - Asmoox
@Asmox,正确的命令是sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'。您可以删除/etc/apt/sources.list.d/pgdg.list中的错误记录,然后运行该命令。 - Mario Tacke

18

首先要做的事情

sudo apt-get update

更新时不应该出现错误。如果出现错误,则可能存在防火墙问题或其他阻止您更新存储库的问题。仔细检查输出。

然后使用此命令搜索正确(确切!)的软件包名称:

apt-cache search postgresql

作为最后的手段,您可以按照此答案中所述添加外部第三方软件源。只需记得使用您的发行版名称而不是“xenial”。


3
我有这个命令:apt-cache search postgresql | grep client,唯一相关的结果是 postgresql-client-10...所以也许我的Ubuntu版本不支持11版?我该如何找出来呢? - user11810894

9

应该可以工作。

$ sudo apt-get install postgresql postgresql-client

2
如果在迁移过程中遇到(E: Unable to locate package postgresql-12),则可能会有以下步骤有所帮助:
sudo apt-get -y install bash-completion wget
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | 
sudo apt-key add -
sudo apt-get update
sudo apt-get -y install postgresql-12 postgresql-client-12
sudo systemctl status postgresql

参考文献:在Ubuntu 18.04上安装Postgres12


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接