Ubuntu 20.04 预装了 postgres10。大约 2 年前,我做了一个sudo apt-get install postgresql
必须安装 postgres12 的工作。我从来没有注意到,当我sudo -u postgres psql
(过去 2 年我创建了所有数据库的地方)它使用 psql12,但连接到服务器版本 10。
pg_lsclusters 显示 postgres10 监听默认端口 5432,而 postgres12 监听 5433。它们两个的状态都是“在线”。
问题
当我这样做时,
sudo service postgresql status
我想知道我实际上正在查看哪个 postgres 服务?我如何配置“sudo 服务”应该针对哪一个?我怎样才能让 psql 指向 postgres12 而不是 postgres10?
答案1
您可以使用psql --port 5433
。或者,如果此端口设置过于频繁,export PGPORT=5433
。
典型的网络服务在此处启动:/etc/systemd/system/multi-user.target.wants
。也许您会发现两个 Postgres 启动服务,并且可以分析 Postgres 服务器是如何启动的。但由于我不知道您如何安装 2 个独立的 Postgres 服务器(通常,安装一个较新的服务器会替换前一个服务器),因此我无法提供更多帮助。